Website WooCommerce mở Search Console ra và thấy hàng loạt URL báo lỗi “Phải chỉ định “offers”, “review” hoặc “aggregateRating””. Bài này giải thích lỗi đó nghĩa là gì, vì sao nó hay xuất hiện trên website bán hàng ở Việt Nam và cách sửa mà không vi phạm chính sách của Google.
Lỗi này nghĩa là đoạn dữ liệu có cấu trúc Product trên trang thiếu cả ba thuộc tính: giá bán (offers), đánh giá (review) và điểm trung bình (aggregateRating). Google cần ít nhất một trong ba thì trang mới đủ điều kiện hiện kết quả nhiều định dạng. Cách sửa đúng là bổ sung giá thật, hoặc gỡ schema Product khỏi những trang không bán hàng có giá. Tuyệt đối không tự thêm điểm sao.
Thông báo lỗi này thực sự nói gì?
Tài liệu dữ liệu có cấu trúc cho đoạn trích sản phẩm của Google Search Central ghi rõ: ngoài tên sản phẩm, trang phải có một trong ba thuộc tính review, aggregateRating hoặc offers. Khi plugin hoặc theme xuất ra một khối JSON-LD kiểu Product mà không có thuộc tính nào trong ba, Search Console xếp mục đó vào nhóm không hợp lệ.
Ba thuộc tính này có yêu cầu riêng:
- offers (Offer): bắt buộc có
price; nên cópriceCurrencytheo mã ISO 4217 (với Việt Nam là VND) vàavailability(còn hàng, hết hàng). - aggregateRating: cần
ratingValue(điểm trung bình) và số lượt đánh giá (reviewCounthoặcratingCount). - review: cần tên người đánh giá là một người hoặc tổ chức thật và
reviewRatingcó điểm số.
Hệ quả trực tiếp: mục không hợp lệ không được dùng để hiển thị giá, tình trạng hàng hay sao đánh giá trên trang kết quả. Trang vẫn có thể được lập chỉ mục và xếp hạng như một kết quả thường. Vì vậy đây là lỗi cần xử lý có thứ tự, không phải lý do để hoảng và cài thêm plugin.
Đoạn trích sản phẩm và Danh sách người bán khác nhau thế nào?
Search Console tách dữ liệu sản phẩm thành hai báo cáo. Biết trang của bạn thuộc báo cáo nào giúp xác định thuộc tính nào thật sự cần.
| Báo cáo | Dành cho trang | Thuộc tính then chốt |
|---|---|---|
| Đoạn trích sản phẩm (Product snippets) | Trang đánh giá, so sánh, giới thiệu sản phẩm mà khách không mua trực tiếp tại đó | Một trong ba: offers, review, aggregateRating |
| Danh sách người bán (Merchant listings) | Trang khách có thể mua sản phẩm | Bắt buộc tên, ảnh và offers có giá lớn hơn 0 kèm đơn vị tiền tệ; nên có tình trạng hàng, phí vận chuyển, chính sách đổi trả |
Website WooCommerce bán hàng thật thường xuất hiện ở cả hai báo cáo. Với trang bán hàng, giá trong offers là thông tin cốt lõi; điểm sao chỉ là phần thêm khi có đánh giá thật.
Năm nguyên nhân hay gặp trên website WordPress
Trên các website bán hàng chúng tôi gặp ở Việt Nam, lỗi này hiếm khi do “Google đổi thuật toán”. Thường nó đến từ một trong các tình huống sau:
| Nguyên nhân | Dấu hiệu nhận biết | Hướng xử lý |
|---|---|---|
| Sản phẩm để giá “Liên hệ” (ô giá bỏ trống) | Lỗi chỉ xuất hiện ở sản phẩm không có giá, sản phẩm có giá thì hợp lệ | Nhập giá thật, hoặc chấp nhận không có kết quả nhiều định dạng (xem mục dưới) |
| Schema Product xuất trên trang danh mục, trang lưu trữ | URL lỗi có dạng /danh-muc-san-pham/…, /shop/, trang thẻ | Tắt schema sản phẩm trên trang lưu trữ trong cài đặt plugin SEO |
| Hai nguồn cùng xuất schema Product | Mã nguồn trang có hai khối “@type”: “Product”, một khối đủ giá, một khối thiếu | Giữ một nguồn duy nhất, tắt phần còn lại |
| Sản phẩm biến thể chưa nhập giá cho biến thể | Lỗi ở sản phẩm có màu, size; trang sản phẩm hiện khoảng giá trống | Nhập giá cho từng biến thể đang bán |
| Gắn kiểu Product cho trang không phải sản phẩm | Trang dịch vụ, bài blog bị đặt Schema Type là Product để mong có sao | Đổi về kiểu phù hợp (Article, Service hoặc không dùng) |
Trường hợp cuối khá phổ biến: có người đặt kiểu Product cho trang dịch vụ để hy vọng hiện sao vàng. Không có sản phẩm, không có giá, không có đánh giá thật thì trang đó sẽ báo lỗi mãi, và nếu điền dữ liệu giả thì rủi ro còn lớn hơn lỗi.
Quy trình sửa lỗi theo sáu bước
- Xuất danh sách URL lỗi. Trong Search Console, mở báo cáo Đoạn trích sản phẩm hoặc Danh sách người bán, bấm vào dòng lỗi và xuất danh sách. Nhóm URL theo mẫu: trang sản phẩm, trang danh mục, trang khác. Mỗi nhóm thường chung một nguyên nhân.
- Kiểm tra từng mẫu bằng công cụ Kiểm tra kết quả nhiều định dạng (Rich Results Test) của Google. Chọn một URL đại diện cho mỗi nhóm, xem Google đọc được khối Product nào và thiếu thuộc tính gì.
- Đếm số khối schema. Mở mã nguồn trang (Ctrl+U), tìm
"@type": "Product"hoặc"@type":"Product". Nếu có từ hai khối trở lên, xác định khối nào do plugin SEO, khối nào do WooCommerce hay theme sinh ra. - Sửa theo nguyên nhân của từng nhóm: nhập giá cho sản phẩm đang bán; tắt schema trên trang lưu trữ (với Rank Math, mục cài đặt WooCommerce có tùy chọn gỡ schema trên trang lưu trữ cửa hàng); tắt nguồn schema trùng; đổi kiểu schema của trang không phải sản phẩm.
- Kiểm tra lại bằng Rich Results Test sau khi xóa bộ nhớ đệm (cache) của plugin và của CDN nếu có. Nhiều người sửa xong nhưng công cụ vẫn đọc bản cache cũ.
- Bấm Xác thực bản sửa lỗi (Validate fix) trong báo cáo. Google thu thập lại các URL bị ảnh hưởng; thời gian phụ thuộc tần suất Googlebot ghé website, có thể vài ngày đến vài tuần. Không cần bấm lại nhiều lần.
Nếu website có hàng trăm sản phẩm và việc nhập lại giá, biến thể, mô tả là khối lượng lớn, có thể giao phần chuẩn hóa này cho dịch vụ đăng sản phẩm chuẩn SEO; phần cấu hình plugin, xử lý schema trùng thuộc nhóm việc của bảo trì WordPress.
Sản phẩm để giá “Liên hệ” thì nên làm gì?
Nhiều doanh nghiệp bán thiết bị, vật liệu, hàng làm theo đơn không muốn công khai giá. Đây là lựa chọn kinh doanh hợp lệ, nhưng cần hiểu đánh đổi:
- Nếu có thể công bố giá tham khảo: nhập giá “từ” thấp nhất đang bán thật. Giá trong schema phải khớp giá hiển thị cho khách trên trang.
- Nếu không công bố giá: chấp nhận trang không có kết quả nhiều định dạng về giá. Có thể gỡ schema Product cho các sản phẩm này để báo cáo sạch hơn, hoặc để nguyên lỗi nếu bạn hiểu lỗi chỉ ảnh hưởng đến khả năng hiện đoạn trích.
- Khi đã có đánh giá thật từ người mua: WooCommerce cho phép khách đánh giá sản phẩm; khi sản phẩm có đánh giá hiển thị trên trang, plugin SEO sẽ đưa aggregateRating vào schema và mục đó trở nên hợp lệ ngay cả khi chưa có giá.
Một điểm hay bị bỏ qua: trang không có giá thường cũng chuyển đổi kém hơn với khách tìm qua Google, vì họ phải nhắn tin mới biết khoảng tiền. Lỗi schema đôi khi là dịp tốt để xem lại có nên công bố giá “từ” hay không.
Những cách “sửa” khiến rủi ro lớn hơn lỗi
- Chèn aggregateRating cố định bằng đoạn mã. Một số hướng dẫn chỉ cách dùng bộ lọc (filter) hoặc trình tạo schema để tự điền điểm sao. Nếu điểm đó không phản ánh đánh giá thật hiển thị trên trang, đây là dữ liệu có cấu trúc gây hiểu nhầm và có thể bị Google xử lý thủ công.
- Tự đánh giá doanh nghiệp mình. Theo hướng dẫn đoạn trích đánh giá của Google, khi doanh nghiệp tự kiểm soát các đánh giá về chính mình, trang dùng dữ liệu LocalBusiness hoặc Organization không đủ điều kiện hiện sao.
- Điền giá 0đ hoặc giá ảo chỉ để hết lỗi. Báo cáo Danh sách người bán yêu cầu giá lớn hơn 0, nên giá 0đ vẫn bị báo lỗi; còn giá trong schema lệch với giá trên trang là vi phạm nguyên tắc chung của dữ liệu có cấu trúc.
- Cài thêm một plugin schema nữa. Thêm nguồn thứ hai thường tạo ra khối Product trùng, khiến lỗi khó truy vết hơn. Một trang nên chỉ có một nguồn sinh schema sản phẩm.
- Đánh dấu đánh giá không hiển thị cho người xem. Google yêu cầu nội dung đánh giá và điểm số phải nhìn thấy được trên trang, không chỉ nằm trong mã.
Làm sao để lỗi không quay lại sau mỗi lần cập nhật?
Lỗi thường tái xuất hiện sau khi đổi theme, cài plugin mới hoặc thêm hàng loạt sản phẩm thiếu giá. Ba thói quen giúp phát hiện sớm:
- Bật thông báo email của Search Console cho tài khoản chủ sở hữu, để thấy lỗi mới ngay khi Google phát hiện.
- Sau mỗi lần cập nhật plugin SEO, WooCommerce hoặc theme, chạy Rich Results Test cho một trang sản phẩm có giá và một trang không có giá.
- Quy định nội bộ: không đăng sản phẩm khi chưa có giá hoặc chưa quyết định để “Liên hệ” có chủ đích.
Muốn hiểu nền tảng về các kiểu dữ liệu có cấu trúc khác như Article, FAQ, LocalBusiness, đọc thêm bài schema markup là gì. Nếu lỗi schema chỉ là một trong nhiều vấn đề kỹ thuật bạn đang thấy, một bản audit website sẽ xếp các lỗi theo mức ảnh hưởng để sửa đúng thứ tự. Khi đang lên kế hoạch làm mới cửa hàng, nên kiểm tra phần schema sản phẩm ngay từ giai đoạn thiết kế website bán hàng.
Câu hỏi thường gặp
Lỗi offers, review hoặc aggregateRating có làm website tụt hạng không?
Lỗi này làm mục dữ liệu không hợp lệ, nên trang không đủ điều kiện hiện giá hay sao trên kết quả tìm kiếm. Trang vẫn có thể được lập chỉ mục và xếp hạng như kết quả thường. Rủi ro lớn hơn nằm ở việc sửa sai bằng dữ liệu giả.
Sản phẩm mới chưa có đánh giá thì có bị báo lỗi không?
Không, nếu sản phẩm có giá. Chỉ cần offers có giá là đủ một trong ba thuộc tính. Lỗi chỉ xuất hiện khi sản phẩm vừa không có giá vừa không có đánh giá.
Vì sao trang danh mục sản phẩm cũng báo lỗi aggregateRating?
Vì plugin hoặc theme đang xuất schema Product trên trang lưu trữ, nơi không có giá và đánh giá của một sản phẩm cụ thể. Cách xử lý thường gặp là tắt schema sản phẩm trên trang danh mục trong cài đặt plugin SEO.
Đã bấm Xác thực bản sửa lỗi nhưng trạng thái báo không đạt thì làm gì?
Mở lại vài URL còn lỗi bằng Rich Results Test để xem Google vẫn thấy gì. Nguyên nhân hay gặp là bộ nhớ đệm còn bản cũ, hoặc chỉ sửa được một nhóm URL trong khi nhóm khác có nguyên nhân khác. Sửa xong nhóm còn lại rồi bắt đầu xác thực lần mới.
Có cần mua bản Pro của plugin SEO để hết lỗi này không?
Thường là không. Phần lớn trường hợp được xử lý bằng cách nhập giá, tắt schema trên trang lưu trữ và bỏ nguồn schema trùng, đều làm được với bản miễn phí. Bản trả phí chỉ cần khi bạn muốn tùy biến schema sâu hơn.
Cần người làm giúp phần này?
Mô tả ngắn nhu cầu hoặc gửi link website. Chúng tôi phản hồi bằng đánh giá cụ thể trước khi báo giá.
