Do công việc hơi bận bịu nên khoảng một thời gian khá dài NhanWeb tôi không truy cập vào Google Webmaster Tools để theo dõi tình hình blog. Đầu năm này, bất chợt quay lại để theo dõi những thay đổi trong hệ thống được Google ghi nhận tôi khá bất ngờ vì blog của mình dính khá nhiều lỗi liên quan đến cấu trúc dữ liệu trong đó phổ biến là các lỗi liên quan đến loại dữ liệu hatom (hatom-feed và hatom-entry). Trong bài viết này, tôi xin phép trình bày các kinh nghiệm của mình trong việc sửa chữa các cấu trúc dữ liệu liên quan đến loại dữ liệu này.
Rất nhiều lỗi được phát hiện liên quan đến hatom-feed, hatom-entryNhững lỗi phổ biến mà bạn có thể gặp khi xây dựng cấu trúc dữ liệu cho loại này là:
Error: At least one field must be set for HatomEntry
Error: Missing required field “entry-title”.
Error: Missing required field “updated”.
Error: Missing required hCard “author”.
Công cụ cần thiết để thực hiện việc theo dõi những thay đổi và chỉnh sửa không hề xa lạ: Rich snippet tool. Giờ chúng ta bắt đầu đi tìm và sửa các lỗi thường gặp nhé.
Phụ mục
– Error: Missing required field entry-title
Dữ liệu entry-title được khai báo bên trong cặp thẻ được khai báo class entry-title. Nếu thiếu class này, có thể bạn sẽ nhận được thông báo đã khai báo thiếu thông tin này. Trong single.php tôi tìm thấy đoạn mã sau:
[code] <h1 class="post-title"><?php the_title(); ?></h1>[/code]
Để sửa lỗi này,bạn chỉ việc bổ sung thêm class entry-title vào là có thể giải quyết được vấn đề:
[code]
<h1 class="post-title entry-title"><?php the_title(); ?></h1>
[/code]
Đối với các theme framework khác cách làm cũng tương tự. Tôi hi vọng rằng chút kinh nghiệm này cũng có thể có ích cho các bạn.
– Error: Missing required field updated
Vấn đề cũng nằm ở single.php và xảy ra khi không thể phân tích và xác định được thời gian cập nhật bài viết. Dĩ nhiên, chuyện này liên quan đến hàm the_time() trong WordPress nên cách sửa lỗi cũng là xác định thời gian cập nhật của bài viết bằng cách thêm vào class updated trong cặp thẻ tương ứng như thế này.
[code] <span class="date updated"><?php the_time(); ?></span>[/code]
Sau khi kiểm tra lại Rich Snippet Tool, tôi nhận ra vấn đề của mình đã được giải quyết ổn thỏa.
Đã hiển thị được thời gian cập nhật bài viếtCoi bộ đã ổn rồi nhỉ.
– Error: Missing required hCard author
Lỗi này liên quan đến khả năng xác định tác giả của bài viết. Cũng trong single.php, phần thông tin tác giả có thể nằm được cung cấp thông qua hàm the_author() hoặc the_author_posts_link(). Một cấu trúc hCard chuẩn cho tác giả có thể như thế này:
[code] <span class="vcard author"><span class="fn"><?php the_author_posts_link(); ?></span>
</span>
[/code]
Bạn chú ý tên các class và đặc biệt là class fn(viết tắt của fullname) được đặt nằm bên trong class vcard author. Đây điều quan trọng vì ngoài fn bạn có thể khai báo thêm nhiều cấu trúc dữ liệu khác liên quan đến tác giả.
Sau khi sửa chữa lại cấu trúc, tôi kiếm tra lại. Có vẻ mọi chuyện đã tốt đẹp:
Các lỗi hatom-feed, hatom-entry đã không còn và dữ liệu được lấy chính xác hơnTôi hi vọng chút kinh nghiệm nhỏ này của tôi có thể giúp ích cho các bạn trong việc cấu trúc dữ liệu cho các công cụ tìm kiếm. Một cấu trúc dữ liệu tốt, phù hợp với các Search Engine có thể giúp cho website của bạn index được chính xác hơn, nội dung rõ ràng hơn, dễ hiểu hơn.
Nếu bạn có khó khăn gì trong việc ứng dụng những điều tôi đã nói, hãy bình luận để tôi có thể giúp đỡ bạn :)
Tên vi phạm says
Mấy lỗi này ít gặp nhưng mấy web bị lại không biết cách sửa :D Thanks bác >:D<
Nguyen says
entry-title: Sao mình đã có rồi. mà vẫn báo lỗi đó nhỉ> Thiếu Entry title ý.
Cảm ơn bạn. :beat:
Karmi Phúc says
Cám ơn anh Nhân nha :D Em cũng không để ý mấy cái này.
Đọc bài xong, kiểm tra lại bên nhà mình thì cũng thấy bị y chang và đã tức tốc sửa ngay. >:D<
Tên vi phạm says
Mình cũng đang tìm cách khắc phục lỗi này mà trang mình dùng Genesis Child Theme không có chỗ sửa (ko có file Single), bạn có cách nào không giúp mình với, trang mình bị là hungthinh.co , cám ơn bạn nhiều
linh lê says
Cám ơn anh Nhân .. em sửa đc rồi!!!! :) :)
Tên vi phạm says
bài chia sẻ rất hay. mình cũng đang tìm và sửa lại. thank bạn
Văn Hùng says
Mình làm như trên xong bên trong hcard báo “Yêu cầu phải có một giá trị cho trường photo.” trong mục hcard. Thank