Cách sửa lỗi Dữ liệu có cấu trúc trong Google Search Console

Bài viết nằm thứ 3 trong 7 phần của series Structured Data & Rich Results

Mấy hôm nay tìm hiểu về Rich Snippets với Schema.org nên cũng gọi là đã hiểu chút chút về mấy lỗi cơ bản. Check thấy Evergreen cũng có khơ khớ lỗi nên vừa học vừa hướng dẫn mọi người luôn. Thực ra, Dữ liệu có cấu trúc (Structured Data) bao gồm schema.org (Schema) và microformats.org (Microformat). Mấy cái này nếu sau này mình viết series thì sẽ giải thích cụ thể sau chứ lằng nhằng lắm, bỏ qua post này đi. Rồi, vào bài hướng dẫn cách sửa lỗi dữ liệu có cấu trúc trong Google Webmaster Tools thôi. How to fix Structured Data errors in Google Search Console?

Xem hướng dẫn tạo Schema cho WordPress tại: Cách chèn Schema vào WordPress

Kiểm tra lỗi Schema với công cụ kiểm tra dữ liệu có cấu trúc tại: https://search.google.com/structured-data/testing-tool?hl=vi

Lưu ý: Mình không dùng Blogspot nữa nên chỉ hướng dẫn WordPress thôi nha! Những công cụ hữu ích để check từ Google mình đã cập nhật ở post khác.

Dữ liệu có cấu trúc (Structured Data) trong Google Search Console

I. Lỗi hentry

Có nhiều cách gọi như h-entry hay h entry nhưng cứ theo Google nha.

Mình nhắc để mọi người biết, đây không thực sự là lỗi. Dù website bạn có rất nhiều cảnh báo trong GSC thì nó cũng không ảnh hưởng đến kết quả SEO. Đây chỉ là nhắc nhở từ Google là cần thêm vào cho đủ cấu trúc Microformat. Mình đã check trang microformats.org và nó còn có rất nhiều lỗi luôn.

Lỗi hentry trong Google Search Console

Các bước sửa lỗi

Bước 1: Truy cập Editor

  • Chỉnh sửa trên web: wp-admin / Appearance / Editor
  • Chỉ sửa trên hosting: Vào thư mục cài đặt WP thường là public_html / wp-content / themes / Tên theme bạn đang dùng

1. Lỗi “Thiếu: entry-title”

Bước 2: Tìm và sửa file single.php nếu lỗi post, page.php nếu lỗi page

Tìm đoạn code dưới:

Thông thường nó sẽ có thẻ H1. Nếu H2 H3 thì cứ để là H2 H3. Thêm class="entry-title" vào thẻ H để có entry-title. Chỉ thêm class thôi nha, class cũ của theme đừng xóa đấy. VD:

Mình đang sửa Page, class cũ vẫn giữ.

2. Lỗi “Thiếu: author” “Thiếu: updated”

Ta thường gặp: Lỗi “Thiếu: author Thiếu: updated” hay “Missing hcard author Missing updated” của Page WordPress.

Theo mặc định Page sẽ không có tác giả lẫn ngày tháng xuất bản. Mình đã nói ngay từ đầu là đây không phải lỗi. Có hay không Microformat không ảnh hưởng đến khả năng lên top của trang web. Vì vậy bạn có thể xóa hoặc thêm để không còn cảnh báo ở GWT nữa.

Cách 1: Sửa ở Editor

Trường hợp bạn dễ dàng sửa ở file page.php trong theme

Bước 2: Tìm và sửa file page.php

Tìm đúng đoạn <h1 ở mục 1, cứ tìm dòng dưới cho chuẩn:

Thêm ngay dưới dòng vừa tìm được

Lưu ý:

  • Mình đã thêm style="display: none;" để nó ẩn trên page rồi. Bạn nào muốn hiện thì bỏ đi nhưng mà xấu lắm đấy
  • Cấu trúc <?php the_modified_time('d/m/Y'); ?> đã sửa theo hiển thị trên Evergreen là 26/05/2018. Bạn có thể sửa cho phù hợp trang web của mình như F: May hay j: 26 hay jS: 26,…

Cách 2: Sửa từng page cho chuẩn

Trong trường hợp theme của bạn không có page.php mà là 1 file khác bạn tìm mãi không được. Ta sẽ phải làm thủ công từng page 1 thôi. Cách này khác không auto được nhưng bạn có thể sửa “tên tác giả” và “thời gian updated” theo ý thích nên đặt thế nào là quyền của bạn. Vị trí thì nên đặt cuối bài viết vì dù nó ko hiển thị thì nó vẫn là 1 phần của ND bài viết. Để cuối sẽ đỡ lỗi hơn.

Chuyển sang phần “Text” khi sửa Page, thêm xuống cuối page

Thay <?php the_modified_time('d/m/Y'); ?> bằng thời gian chỉnh sửa bài post. VD: 26/05/2018

Thay <?php the_author(); ?> bằng tên tác giả. VD: Evergreen

Rất tiếc là code php không chạy ở phần “Text” nên không auto được như cách 1.

Cách 3: Xóa class hentry đi là hết lỗi

Không dùng dữ liệu có cấu trúc sẽ không gặp lỗi nữa. Xóa đi là xong.

Bước 2: Tìm và thêm vào functions.php

Dòng code trên đơn giản là xóa đi thuộc tính class “hentry” ở page

Dòng code trên giúp xóa đi thuộc tính class “hentry” đi toàn bộ website

Kết quả sau khi sửa lỗi “Thiếu: author” “Thiếu: updated” Page WordPress

 

Chỉ còn 1 bước cuối cùng là chờ google update thôi. Bạn có thể gửi lại sitemap để google cập nhật nhanh hơn nha!

II. Lỗi Sản Phẩm / Products warning trong Google Search Console

Rất lâu rồi mình mới cài lại WooCommerce. Lỗi này hiện tại đã là lỗi cơ bản của rất nhiều website bán hàng bằng WordPress. Đã có bạn hỏi mình ở phần chat Facebook đấy. Lúc đó thì do không dùng Woo nên chỉ có thể lấy cách của người khác là xóa Schema Product đi thôi. Bây giờ mình sẽ hướng dẫn cụ thể cách bổ sung các trường còn thiếu mà Google cảnh báo.

Để check nhanh nhất bạn nên truy cập: https://search.google.com/structured-data/testing-tool?hl=vi để xem sự thay đổi sau các bước.

Lỗi sản phẩm products trong Google Search Console

1. Lỗi Trường “Image” bị thiếu

  • URL trong trường “image” không hợp lệ
! image false (Giá trị được cung cấp cho image phải là URL hợp lệ.)

Lỗi này thì khá đơn giản. Đó là do bạn quên up hình đại diện cho sản phẩm. Chỉ cần sửa sản phẩm và tải Product Image lên là xong thôi.

2. Lỗi Phải chỉ định “offers”, “review” hoặc “aggregateRating”

  • Trường “aggregateRating” bị thiếu
  • Trường “review” bị thiếu
! aggregateRating Trường aggregateRating được khuyến nghị. Vui lòng cung cấp một giá trị nếu có.
! review Trường review được khuyến nghị. Vui lòng cung cấp một giá trị nếu có.

Lỗi này xuất hiện không chỉ ở Product mà cả ở Article. Nó đơn giản chỉ là do bạn cài đánh giá sao cho web nhưng lại không có 1 đánh giá nào cả. Để sửa lỗi thì chỉ cần đến Sản phẩm hay Bài viết bị lỗi và thêm đánh giá (hoặc cho 5 sao) là xong.

Lưu ý: Bắt đầu từ 17/10/2019, Google có update báo lỗi này lần nữa. Đây là lỗi do type Review không phải lỗi Product. 2 cái không liên quan nên không ảnh hưởng đến kết quả tìm kiếm. Cái này do cấu trúc của Woocomerce nên phải chờ họ fix thôi. Update mới nhất 01/2020 đã fix lỗi này nha. Nhớ cập nhật Woo.

3. Lỗi Trường “description” bị thiếu

Cái tên nói lên tất cả rồi đấy. Thêm nội dung mô tả sản phẩm ở Product short description của Woo chứ không chỉ Meta description của Yoast SEO

4. Lỗi brand và Sản phẩm này thiếu giá trị nhận dạng toàn cầu

Đây là lỗi khó sửa nhất vì nó liên quan đến Schema. Rất tiếc là mình ngừng series này rồi nên không có bài viết chi tiết về Schema Product. Tuy nhiên, dưới đây mình sẽ giải thích cụ thể cách sửa lỗi để bạn có thể áp dụng cho những trường hợp khác

  • Trường “brand” bị thiếu
! brand Trường brand được khuyến nghị. Vui lòng cung cấp một giá trị nếu có.
! Sản phẩm này thiếu giá trị nhận dạng toàn cầu (ví dụ: isbn, mpn hoặc gtin8) Vui lòng xem tài liệu để biết giá trị nhận dạng hợp lệ.

Giải thích 1 chút

Cách giải quyết của mình không phải là thêm mã Schema sản phẩm mới mà là chèn thêm những trường còn thiếu như Brand và GTIN-8. Vì vậy bạn cần hiểu rõ chúng là gì

  • Brand là trường xác định thương hiệu của sản phẩm, có thể gắn liền với tổ chức hoặc cá nhân. Nên bạn nên đặt luôn tên công ty là đơn giản nhất, không thì dùng luôn thương hiệu sản phẩm cũng được.
  • ISBN là mã vạch của sách, chỉ có những sách chuẩn mới có mã vạch thôi. Thường in phía sau cuốn sách
  • MPN là mã linh kiện của nhà sản xuất. Bỏ qua nó đi, ít phổ biến lắm
  • GTIN là mã số thương mại toàn cầu, chính là mã vạch của đa số sản phẩm. Mình khuyên nên thêm GTIN khi bị lỗi Schema này. Có nhiều loại như GTIN-8, GTIN-12, GTIN-13 và GTIN-14. Tuy nhiên, phổ biến nhất là GTIN13 nên đa số trường hợp cứ thêm 13 số bất kỳ là được (nếu không đọc được mã vạch phía sau sản phẩm)

Code Schema Product

Cách 1

Dưới đây là code để chèn thêm vào từng sản phẩm (tự động add vào Schema Product của WooCommerce tạo sẵn)

Trong đó:

  • @id là link sản phẩm của bạn và bắt buộc phải thêm hậu tố “#product” thì mới add vào được Schema Product của WooCommerce
  • brand là thương hiệu công ty hoặc sản phẩm, không có quy chuẩn nên viết bừa cũng được
  • gtin13: Trong đa số trường hợp, luôn là mã vạch 13 số gtin13. Nếu bạn có mã vạch của sản phẩm thì không cần fake đâu. Ghi thẳng luôn vào nha

Lưu ý: Lỗi này mình có thể sửa auto toàn bộ sản phẩm được nhưng không làm free, min 200k (lỗi đã biết, có nhiều lỗi khó hơn ấy).

  • Demo auto: https://search.google.com/structured-data/testing-tool?hl=vi#url=https%3A%2F%2Fhiepphatpaint.evergreen.edu.vn%2Fson-go%2Fh8%2Fpu-trong-nha%2F .
  • Demo auto + thay thế review của woo (bị lỗi) bằng KK Star Ratings: https://search.google.com/structured-data/testing-tool?hl=vi#url=https%3A%2F%2Fmaylanhbluesea.com%2Fsan-pham%2Fmay-lanh-mitsubishi-heavy-srk09ctr-s5-src09ctr-s5%2F
  • Demo auto dùng microformats: https://search.google.com/structured-data/testing-tool?hl=vi#url=https%3A%2F%2Fbachkhoadienlanh.com.vn%2Fblock-may-lanh%2Ftecumseh%2Fmay-nen-lanh-tecumseh-aga9530zxg%2F

Ai có nhu cầu liên hệ Fanpage Thủ thuật Evergreeen nha!

Cách 2

Cách này auto 100%, bạn không cần chỉnh sửa gì. Mình mượn từ function từ bác levantoan.com, đã sửa lại 1 chút cho đơn giản. Nếu bạn muốn chi tiết có thể xem tại đấy.

Thêm dòng code này vào file functions.php của theme:

wp-admin / themes / themes editor / functions.php

Trước mình sửa trong plugin woo nên không rõ code này có chạy không. Ai thử mà khỏi thì comment phía dưới nha!

Update sửa lỗi Product Category và Product Tag

  • Lỗi Phải chỉ định “offers”, “review” hoặc “aggregateRating”
  • Lỗi Trường “name” bị thiếu
  • Lỗi Trường “image” bị thiếu
  • Lỗi Trường “description” bị thiếu
  • Lỗi Trường “sku” bị thiếu

Plugin Header and Footer Scripts cho phép Cate/Tag lấy ND thẻ head từ post đầu tiên khiến cho Google Search Console báo lỗi vì code schema ở trên của mình chỉ là bổ sung 1 số trường còn thiếu. Mình đã liên hệ với tác giả plugin và họ đã sửa lại lỗi từ phiên bản 2.1.1: “Fixed a bug causing singular post type scripts to appear in archives.”

Nhớ cập nhật phiên bản mới nhất nha! Để lại 1 like vì công sức mình liên hệ mãi mới được đấy.

Lỗi Schema Product

5. Những lỗi sản phẩm đã được sửa ở phiên bản WooCommerce mới nhất

Bạn chỉ cần cập nhật phiên bản WooCommerce mới nhất là được.

  • Trường “SKU” bị thiếu (tùy chọn): Lỗi này đã được sửa bằng cách lấy ID của bài viết làm SKU của sản phẩm. Nếu tự sửa, bạn nên đặt SKU riêng cho sản phẩm tại Product data khi sửa sản phẩm trên web. SKU là mã sản phẩm, không có quy chuẩn nên bạn thích đặt sao cho tránh trùng lặp + dễ phân biệt nhất là được.
  • Trường “priceValidUntil” bị thiếu (tùy chọn): Lỗi này đã được sửa bằng cách chọn giá tồn tại đến 31/12 của năm sau
  • Thiếu ID sản phẩm: Lỗi này đã hết

Kết quả sau khi sửa lỗi schema product

 

III. Lỗi Đường dẫn (Breadcrumbs)

Đây là lỗi mới từ 18/09/2019 theo cập nhật Schema của Google (thêm mục Đường dẫn trong Google Search Console). Mình sẽ update dần khi sửa được cho những ai hỏi ở dưới. Chú ý là Evergreen không dính những lỗi này nên hơi khó để test.

1. Trường “itemListElement” bị thiếu (Missing field “itemListElement”)

Cái này là web cũ dùng cấu trúc Schema BreadcrumbList đã lỗi thời. Nên đổi theme hoặc update bản mới nhất.

2. Trường “item” bị thiếu (Missing field “item”)

Lỗi này do xung đột plugin. Có hơn 1 plugin tạo Breadcrumbs trên website.

Plugin không bị lỗi:

  • Yoast SEO

Plugin gây lỗi:

  • Breadcrumb NavXT 5.6.0

3. Trường “position” bị thiếu (Missing field “position”)

Cái này là web cũ dùng cấu trúc Schema BreadcrumbList đã lỗi thời. Nên đổi theme hoặc update bản mới nhất.

4. Trường “id” bị thiếu (Missing field “id”)

Đa số những website dính lỗi này đều bị ở phần  phân trang Tác giả (Author). Có 1 thời người người thi nhau nào là chặn index, nào là redirect, nào là xóa phân trang các kiểu. Có lẽ những website lỗi đều có nguyên nhân từ đây. Cập nhật sau.

 

Mình đã cập nhật rất nhiều lỗi schema khác ngoài lỗi hentry. Evergreen cũng chỉ ra lỗi các lỗi thường gặp chứ những lỗi khác đều được theme sửa hết rồi. Nếu bạn gặp lỗi nào khác hãy comment phía dưới để mình tìm hiểu thêm nha!

Xem bài tiếp theo trong Series

<< Chèn mã Schema vào WordPress với Plugin Header and Footer Scripts [Schema] Hướng dẫn tạo Khóa học (Course) trên website >>

Related Post