WordPress có nhiều diểm mạnh nhưng cũng có rất rất nhiều hạn chế, đặc biệt là với các nhà phát triển theme không có kiến thức về SEO. Một lỗi cực phổ biến với WordPress, gần như Blog hoặc web E-Commerce nào cũng dính: lỗi hentry/hatom (markup: microformats.org) Google báo trong Search Console. Đây là phần SEO nâng cao, dành cho các pro chút, bài viết mình sẽ hướng dẫn anh em fix lỗi cực kỳ khó chịu này

Tóm tắt nội dung
Dữ liệu có cấu trúc (Structured Data) là gì
Dữ liệu có cấu trúc – Structured Data là dữ liệu chi tiết, đầy đủ mà website cung cấp thông tin cho các bọ (bot) tìm kiếm thấy. Dữ liệu này hiển thị đầy đủ mọi thông tin cần thiết để bot quét tốt nhất. Dữ liệu có cấu trúc chỉ dành cho các bọ tìm kiếm (Search Engine) thấy, không dành cho người view web bình thường.
Dữ liệu có cấu trúc phải tuân thủ theo quy chuẩn của Schema.org – những quy chuẩn (quy ước) này do Google, Yahoo và Microsoft đưa ra. Các website mà có code theo các quy chuẩn này, dễ được “đọc nội dung” tốt nhất và xếp hạng ưu tiên (??) trên vị trí tìm kiếm
Dữ liệu cấu trúc mỗi website là khác nhau, mỗi URL trên cùng một web là khác nhau, tùy theo độ khủng của coder 😀 ông nào hiểu về Structured Data tốt thì code theme đó chuẩn, còn không thì ngược lại. Website không có dữ liệu cấu trúc cũng chẳng sao!
Có những loại Dữ liệu cấu trúc nào
Các kiểu dữ liệu như mảng, mẩu tin, chuỗi, ngăn xếp (stacks), danh sách, con trỏ, tập hợp và tập tin là các cấu trúc dữ liệu. Những dữ liệu này cung cấp cho bot thông tin đầy đủ về nội dung mà url đăng tải. Sơ bộ thì có một vài loại dữ liệu phổ biến sau, mỗi loại phù hợp với từng URL, từng website
- Product & Service Reviews: Đánh giá sản phẩm & dịch vụ (Sao vàng, Vote các kiểu)
- Local Business: Địa điểm doanh nghiệp (Google Map)
- Article & Pages: Bài viết & Trang (Blog, báo chí, thời trang,…)
- Service & Review: Dịch vụ và đánh giá chất lượng dịch vụ
- Course: Các khóa học online, đầu tư online và tài chính
- Recipe / Food Blog: Hình ảnh cho blog về ăn uống, thực phẩm
- Person / Author Profile: Tác giả, bản quyền tác giả và cá nhân
- Job Posting: Cho các post Tuyển dụng việc làm, doanh nghiệp
- Software Application: Các ứng dụng điện thoại, mua bán phần mềm
- Book Review: Cho các web bán sách, tạp chí và văn phòng phẩm
- Events: Nêu sự kiện sắp diễn ra tại website (Khuyến mại, Xả hàng,…)
Google cũng khuyến cáo, cách trình bày dữ liệu có cấu trúc để công cụ tìm kiếm có thể dễ dàng tiếp cận và đọc nhất đó là để dưới dạng JSON-LD (Viết tắt của JavaScript Object Notation cho Linked Data).

Làm thế nào để có Dữ liệu cấu trúc
Câu trả lời đơn giản là: thêm chuẩn Schema.org vào code web (code phải theo mẫu chuẩn của nó), còn cụ thể thêm code gì, code như thế nào thì chỉ có lập trình viên mới hiểu – mình sẽ không nói rõ ở đây.
Với các website dùng WordPress CMS, anh em có thể cài một trong các Plugin sau và thiết lập theo chuẩn riêng. Xin lưu ý là chỉ dùng 1 trong các plugin sau
- WPSSO Schema (Miễn phí)
- Schema (Miễn phí)
- Schema App (Miễn phí)
- WP SEO Structured Data (Miễn phí)
- All In One Schema (Miễn phí)
- Schema pro (Có trả phí, plugin toàn năng nhất)
Xem dữ liệu cấu trúc như thế nào
Google có công cụ kiểm tra Structured Data Miễn phí, rất đơn giản và trực quan. Tham khảo và tìm dữ liệu có cấu trúc với web bạn ngay xem nào: Kiểm tra dữ liệu
Xem dữ liệu Google đã thấy và thu thập: Search Console -> Search Appearance -> Structured Data
Lỗi hentry/hatom là gì? Vì sao có
Theo microformats.org, hentry lớp là tên lớp gốc cho thấy sự hiện diện của một mục dữ liệu nhập hAtom. hAtom là một vi định dạng để xác định thông tin ngữ nghĩa trong các bài đăng về weblog và bất kỳ nơi nào khác Atom có thể được sử dụng, chẳng hạn như các bài báo tin tức.
Khi code website bạn có khai báo cấu trúc dữ liệu Schema mà không có một trong những thành phần dữ liệu trên, Google sẽ báo lỗi thu thập dữ liệu vì nó không đọc được tác giả bài là ai, tiêu đều là gì, cập nhật ngày bao nhiêu,…và một mớ các dữ liệu cấu trúc khác.

Cách sửa lỗi hentry trong Search Console
Để sửa lỗi hentry này, anh em phải biết code hoặc ít nhất phải biết đọc code và làm theo hướng dẫn dưới. Nếu không biết một tẹo nào code thì nên đóng trình duyệt và không đọc tiếp nữa – tránh làm hỏng web
1. Cách sửa nhanh và bất cần
Cách này cũng không tồi, là giải pháp hữu hiệu khi bạn không cần dữ liệu hentry nữa. Hiểu đơn giản là: bạn sẽ xóa dữ liệu hentry khỏi website, các bot sẽ không thấy và không báo lỗi nữa.
Thêm đoạn code sau vào cuối file functions.php trong theme và ngồi đợi kết quả
1 2 3 4 5 |
// Remove hentry Structured Data add_filter( 'post_class', 'remove_hentry' ); function remove_hentry( $class ) { $class = array_diff( $class, array( 'hentry' ) ); return $class;} |
2. Cách sửa chi tiết, chuẩn mực
Tùy WordPress theme và tùy coder nên những file chứa các dữ liệu này không đồng nhất ở mỗi website. Thông thường, anh em nên tìm ở single.php sẽ thấy các file cần tìm
Sửa lỗi Missing: entry-title
Lỗi này nguyên dân do CSS của web chưa có class=”entry-title”, để sửa lỗi cần thêm lớp này vào
Tìm đoạn code này trong single.php
1 |
<?php the_title(); ?> |
Sửa đoạn code <h1>…</h1> trên thành
1 |
<h1 class="entry-title"><?php the_title(); ?></h1> |
Ví dụ
1 2 3 4 |
// code cũ <h1><?php the_title(); ?></h1> // Sửa thành <h1 class="entry-title"><?php the_title(); ?></h1> |
Sửa lỗi Missing: updated
Lỗi này do chưa khai báo ngày cập nhật bài viết, cần thêm lớp class=”updated” vào để sửa
Tìm đọan code sau trong single.php
1 2 3 |
<?php the_date(); ?> // Hoặc (tùy web) <?php the_time(); ?> |
Sửa đoạn cả đoạn code <span>….</span> thành
1 2 3 |
<span class="updated"><?php the_date(); ?></span> // Hoặc (tùy web) <span class="updated"><?php the_time(); ?></span> |
Ví dụ
1 2 3 4 |
// Code cũ <span><?php the_time(); ?></span> // Sửa thành <span class="updated"><?php the_time(); ?></span> |
Sửa lỗi Missing: author
Lỗi này do thiếu lớp class=”vcard author”, để sửa lỗi cần thêm lớp này vào
Tìm đoạn code sau trong single.php
1 |
<?php the_author(); ?> |
Sửa đoạn code trên thành
1 |
<span class="vcard author"><span class="fn"><?php the_author(); ?></span></span> |
Ví dụ
1 2 3 4 |
// Code cũ <span><?php the_author(); ?></span> // Sửa thành <span class="vcard author"><span class="fn"><?php the_author(); ?></span></span> |
Vậy là xong thôi, ngồi chờ đợi Google index lại blog và tận hưởng thành quả. Với mỗi web thì Google có thời gian quay lại riêng, chờ đợi là hạnh phúc…
Mở rộng
Lỗi hentry này không chỉ ở các Post mà có thể ở các Page (Trang) hoặc Categroly (Danh mục). Chỉ cần tìm đúng file và fix như trên thì sẽ sửa được các lỗi này
- Lỗi hentry ở Bài viết (Post): Tìm trong single.php
- Lỗi hentry ở các Trang (Page): Tìm trong page.php
- Lỗi hentry ở các Danh mục (Category): Tìm trong archive.php

Lời kết
Khi mới SEO gặp lỗi hentry này mình hay bỏ qua, nhưng lâu ngày nó như cái gai trong mắt, rất khó chịu. Tài liệu này mình tham khảo từ Yoast và một số nhà phát triển WP, tổng hợp lại cho anh em
Có thắc mắc gì comment cùng thảo luận nhé. Chúc anh em thành công.
— SEO Max
24 Bình luận
em ko biết gì về code, nên ko biết làm sao sửa đc mấy cái này
Vậy bạn nên nhờ (hoặc thuê) người biết code sửa nhé, tránh gây lỗi đáng tiếc cho web
ad cho hỏi, mình mới làm 1 blog mỗi khi viết bài ngoài tiêu đề bài biết mình thường định dạng thêm một thẻ h1. khi đăng bài viết vào kiểm tra thì ngoài thẻ h1 mình tự định dạng thì tiêu đề bài viêt là h1 entry tile. Điều này có ảnh hưởng đến blog không, nếu có làm sao để khắc phục. Mong ad chỉ giáo cho.
Cảm ơn ad!!!
Chào bạn.
Mặc định Tiêu đề post của WP là h1, bạn không cần thêm h1 trong content nữa (thêm từ h2, h3,…). Thêm h1 nữa là thừa! Chỉ nên để Tiêu đề là h1 duy nhất.
Ngoài ra, tùy theme bạn định dạng cái nào là Entry, Google sẽ báo về Webmaster. Có h1 entry là tốt!
Mình truy cập vào single – page – archiver nhưng không có các dòng trên như: , . để sửa. Mình có thể tự thêm code đó vào được không?
Chào bạn.
Tùy theme và code nên đôi khi sẽ không có những lệnh bạn muốn. Nếu không rõ, nên thuê hoặc nhờ người am hiểu code thêm giúp nhé.
Mình đã tìm trong theme flatsome của mình, trong file singer.php nhưng vẫn không có như hướng dẫn. Đây là toàn bộ code trong file singer.php mong bạn giúp thiếu lỗi author
Với Flatsome thì lỗi author nằm ở các Post của blog. Sửa đơn giản hơn nhiều:
– Tạo 1 tài khoản Admin khác (quyền Biên tập viên hoặc Tác giả)
– Vào từng post, chuyển tác giả bài viết sang Admin mới này.
Chờ đợi một thời gian Google làm việc lại là xong. Flatsome chỉ dính một lỗi nhỏ author của administrator chứ không cần sửa phức tạp như trên.
Trân trọng.
Nhưng mình đã sửa nhưng có vẻ như vẫn bị hay sao ấy. Không thấy nó fix lỗi trong cấu trúc dữ liệu 🙂 mà sao k cho đặt link vậy admin?
Bạn sửa admin bao lâu rồi? Tùy web, có web sau 1 vài tháng hãy xem lại Search Console nhé: Nếu Flatsome thì chắc chắn là được.
Đặt link bằng tên ở Comment hử? =))) Nofollow mà, cố làm gì.
Link giờ Do vs No còn quan trọng mấy đâu, qtrong đa dạng cái refdomain thôi. Mà Nof không cố mà cũng xoá là sao @@
Mới dùng domain 12 tuổi này nên hạn chế linkout không liên quan, sang 2019 mở cửa thoải mái 🙂
Mình dùng houzez theme. Thấy có cái title đầu tiên bạn nói còn mấy cái lỗi hentry về time, date với author thì ko thấy. Kiểm tra search console thì có báo lỗi này.
Không biết sửa thế nào bạn?
Chào bạn
title & author mình có nói ở trên, tìm và fix thôi. Có điều kiện nên dùng thêm “Schema pro”
Houzez theme hỗ trợ schema khá kém, mình nghĩ nên dùng plugin xóa bỏ Dữ liệu cấu trúc time, date đi (vì nó cũng không quan trọng) – cài ra và ngồi đợi, vậy thôi.
Trân trọng.
SITE MÌNH CŨNG BỊ BÁO LỖI AUTHOR.MÌNH CÓ CHẶN BOT INDEX TÁC GIẢ.VẬY NÊN MỚI BÁO LỖI PHẢI KO ADD
Không phải rồi, chặn bot không liên quan gì Cấu trúc dữ liệu nhé. Đây là do code web và Schema.
mình không biết code có sửa được không? bạn giúp mình fix lỗi này với
không biết code khó đấy bạn, nên nhờ người làm web cho bạn fix nhé.
Mình sử dụng hcard bị báo “photo Yêu cầu phải có một giá trị cho trường photo”. chưa biết xử lý thế nào. Thank
Chào bạn, hcard là phần nâng cao, bạn tham khảo bài viết sau https://bit.ly/2VPs4v3
Báo coder chỉnh theo n.dung class=”vcard” trên là ổn.
mình cũng bị lỗi ở author thêm flatsome sửa thế nào ạ
Flatsome bản mới nhất có fix rồi, bạn update theme lên V3.8.3 sẽ tự hết lỗi Author nhé.
mình đã sửa lỗi rồi mà sao vẫn còn bị lỗi nhỉ? do đâu mình cũng không biết luôn, hay là mình làm sai bước nào à.
Mình mới tập tành làm blog mà gặp mấy lỗi này sửa mãi ko đc luôn!
May có bạn hướng dẫn.
THanks nhiều