Để khắc phục vấn đề nghiêm trọng trong WooCommerce liên quan đến danh sách lỗi: "Phải chỉ định 'offers', 'review' hoặc 'aggregateRating'", bạn cần đảm bảo rằng dữ liệu có cấu trúc (structured data) của sản phẩm trên website tuân thủ các yêu cầu của schema.org mà Google hoặc các công cụ kiểm tra (như Google Search Console) yêu cầu. Đây là cách bạn có thể xử lý:
Hướng dẫn sửa lỗi:
Hướng dẫn sửa lỗi:
- Xác định vấn đề:
- Lỗi này thường xuất hiện khi bạn sử dụng dữ liệu có cấu trúc (schema markup) cho sản phẩm nhưng thiếu một trong các thuộc tính bắt buộc:
- offers (Thông tin giá cả và tình trạng hàng).
- review (Đánh giá sản phẩm).
- aggregateRating (Xếp hạng tổng hợp dựa trên nhiều đánh giá).
- WooCommerce mặc định có thể không thêm đầy đủ các thuộc tính này vào mã schema, đặc biệt nếu bạn chưa cấu hình đúng hoặc dùng plugin SEO.
- Lỗi này thường xuất hiện khi bạn sử dụng dữ liệu có cấu trúc (schema markup) cho sản phẩm nhưng thiếu một trong các thuộc tính bắt buộc:
- Kiểm tra mã hiện tại:
- Dùng công cụ như Google Structured Data Testing Tool hoặc Rich Results Test để kiểm tra trang sản phẩm của bạn.
- Tìm xem dữ liệu schema của sản phẩm (thường là loại Product) có thiếu các thuộc tính trên không.
- Cách khắc phục:
- Thêm thuộc tính offers: Đây là cách phổ biến nhất vì hầu hết các sản phẩm WooCommerce đều có giá và tình trạng hàng.
- Đảm bảo mã schema của sản phẩm bao gồm:
json
CollapseWrapCopy
"offers": { "@type": "Offer", "priceCurrency": "VND", // Thay bằng mã tiền tệ của bạn "price": "500000", // Giá sản phẩm "availability": "http://schema.org/InStock" // Tình trạng hàng } - Trong WooCommerce, giá và tình trạng hàng thường được tự động lấy từ dữ liệu sản phẩm. Nếu không có, bạn cần kiểm tra plugin hoặc mã nguồn.
- Đảm bảo mã schema của sản phẩm bao gồm:
- Thêm review hoặc aggregateRating (nếu áp dụng):
- Nếu sản phẩm của bạn có đánh giá từ khách hàng, thêm đoạn mã như sau:
json
CollapseWrapCopy
"aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "reviewCount": "20" }
hoặc
json
CollapseWrapCopy
"review": { "@type": "Review", "author": "Tên người đánh giá", "reviewRating": { "@type": "Rating", "ratingValue": "5" }, "reviewBody": "Nội dung đánh giá" }
- Nếu sản phẩm của bạn có đánh giá từ khách hàng, thêm đoạn mã như sau:
- Thêm thuộc tính offers: Đây là cách phổ biến nhất vì hầu hết các sản phẩm WooCommerce đều có giá và tình trạng hàng.
- Thực hiện trong WooCommerce:
- Nếu bạn không rành code:
- Sử dụng plugin như Yoast SEO hoặc Rank Math. Cả hai đều hỗ trợ thêm schema cho sản phẩm WooCommerce.
- Trong Yoast SEO:
- Vào SEO > Schema và bật schema cho sản phẩm.
- Đảm bảo sản phẩm trong WooCommerce có giá và tình trạng hàng được điền đầy đủ.
- Trong Rank Math:
- Vào Rank Math > Schema, chọn loại Product cho bài viết sản phẩm.
- Điền thông tin giá, tình trạng, và đánh giá (nếu có).
- Nếu bạn muốn chỉnh sửa thủ công:
- Mở file functions.php trong theme của bạn và thêm mã schema tùy chỉnh. Ví dụ:
php
CollapseWrapCopy
add_filter('woocommerce_structured_data_product', function($markup, $product) { $markup['offers'] = array( '@type' => 'Offer', 'priceCurrency' => get_woocommerce_currency(), 'price' => $product->get_price(), 'availability' => 'http://schema.org/' . ($product->is_in_stock() ? 'InStock' : 'OutOfStock'), ); return $markup; }, 10, 2);
- Mở file functions.php trong theme của bạn và thêm mã schema tùy chỉnh. Ví dụ:
- Nếu bạn không rành code:
- Kiểm tra lại:
- Sau khi cập nhật, kiểm tra lại bằng Google Rich Results Test để đảm bảo lỗi đã được khắc phục.
- Nếu bạn không có đánh giá (review hoặc aggregateRating), chỉ cần thêm offers là đủ để đáp ứng yêu cầu tối thiểu.
- Đảm bảo giá sản phẩm và tình trạng hàng được cập nhật chính xác trong WooCommerce.