NHANWEB

Sửa một số lỗi hatom-feed, hatom-entry trong WordPress

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-entry

Nhữ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é.

– 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ết

Coi 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ơn

Tô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 :)

Exit mobile version