Bỏ qua tới nội dung
Theo dõi định kỳTheo dõi site

Biến thể sản phẩm (màu, cỡ, dung tích): một địa chỉ hay nhiều địa chỉ, và cách khai cho Google hiểu

Biến thể chỉ khác màu, cỡ thì thường gom về một trang, chọn biến thể bằng tham số, canonical về trang chính. Biến thể mà người ta tìm riêng (dung tích, cấu hình, màu nổi tiếng) có thể có trang hoặc địa chỉ riêng. Dù chọn cách nào, khai ProductGroup để Google hiểu chúng là một nhóm.

Ban biên tập SEO Gốc · · 6 phút đọc

Hàng cốc gốm giống nhau với tám màu men khác nhau xếp trên quầy gỗ dài trong tiệm gốm sáng

Một mẫu áo thun có 8 màu × 6 cỡ là 48 biến thể. Một dòng máy lọc nước có bản 9 lõi và 10 lõi. Một chai dầu gội có 250 ml, 500 ml, 1 lít. Mỗi biến thể có mã riêng, giá có thể khác, tình trạng hàng khác. Câu hỏi kỹ thuật: mỗi biến thể một trang, hay tất cả một trang? Chọn sai theo hướng nào cũng có hại: quá nhiều trang thì trùng lặp và chia tín hiệu; gom hết vào một trang thì có biến thể người ta tìm riêng mà không có chỗ để xếp hạng.

Khi nào gom, khi nào tách

Loại biến thểNgười có tìm riêng khôngCách làm
Cỡ quần áo, giàyHiếm (ít ai tìm “áo thun X cỡ L”)Gom một trang
Màu thông thườngThường khôngGom một trang; ảnh đổi theo màu
Màu là đặc trưng (“iPhone màu titan sa mạc”, “áo dài màu đỏ cưới”)CóCó thể có địa chỉ riêng cho màu đó
Dung tích, kích thước khác hẳn công dụng (nồi 1 lít và 5 lít)CóCân nhắc trang riêng hoặc địa chỉ biến thể được lập chỉ mục
Cấu hình (RAM, bộ nhớ, số lõi lọc)Thường cóĐịa chỉ biến thể riêng có nội dung khác biệt
Combo, bộ quàCó, khác ý địnhTrang sản phẩm riêng

Quy tắc chung: tách khi biến thể có nhu cầu tìm riêng và nội dung khác đủ (ảnh, thông số, giá, công dụng). Không tách chỉ để có thêm trang.

Cách kiểm nhanh một biến thể có nhu cầu tìm riêng: tìm trong Search Console truy vấn chứa tên sản phẩm kèm thuộc tính (“1 lít”, “10 lõi”, “màu đỏ”), xem có lượt hiển thị đáng kể không; tra thêm gợi ý tự động của Google khi gõ tên sản phẩm. Không thấy gì thì gom. Thấy rõ và đều đặn thì cân nhắc tách. Quyết định có thể đổi theo thời gian: một màu mới thành “hot” trên mạng xã hội có thể đáng có địa chỉ riêng trong mùa đó.

Cách 1: một trang, chọn biến thể bằng tham số

Phổ biến nhất trên Shopify, Haravan, WooCommerce: /san-pham/ao-thun-x là trang chính, chọn màu đổi địa chỉ thành ?variant=123 hoặc ?mau=xanh.

  • Canonical của mọi địa chỉ biến thể trỏ về trang chính.
  • Khi người dùng chọn biến thể, ảnh, giá, tình trạng hàng, mã đổi theo; địa chỉ đổi theo để chia sẻ đúng biến thể.
  • Biến thể mặc định là biến thể còn hàng, bán chạy nhất, không phải biến thể đầu bảng chữ cái đã hết hàng.
  • Thông tin giá trong HTML ban đầu là giá của biến thể mặc định.

Cách 2: địa chỉ riêng cho biến thể quan trọng

Với biến thể có nhu cầu tìm riêng, địa chỉ biến thể được lập chỉ mục: canonical tự trỏ, title và H1 có tên biến thể (“Máy lọc nước X 10 lõi”), mô tả nói rõ khác biệt (lõi thứ 10 bổ sung khoáng gì, hợp với ai), ảnh riêng nếu có. Các biến thể phụ (màu vỏ máy) vẫn chọn bằng tham số trong từng trang đó.

Đừng tạo trang biến thể chỉ đổi một từ trong tiêu đề còn lại giống hệt; đó là nội dung gần trùng và các trang tự cạnh tranh. Xem ăn thịt từ khoá.

Khai ProductGroup

Dữ liệu có cấu trúc ProductGroup cho Google biết các biến thể thuộc cùng một sản phẩm gốc:

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "@id": "https://shop.vn/san-pham/ao-thun-x#nhom",
  "name": "Áo thun cotton X",
  "productGroupID": "AT-X",
  "variesBy": ["https://schema.org/color", "https://schema.org/size"],
  "hasVariant": [
    { "@type": "Product", "sku": "AT-X-XANH-M", "name": "Áo thun cotton X – Xanh – M",
      "color": "Xanh", "size": "M", "image": "https://shop.vn/anh/at-x-xanh.webp",
      "offers": { "@type": "Offer", "price": "249000", "priceCurrency": "VND",
        "availability": "https://schema.org/InStock", "url": "https://shop.vn/san-pham/ao-thun-x?mau=xanh&co=m" } },
    { "@type": "Product", "sku": "AT-X-DEN-L", "name": "Áo thun cotton X – Đen – L",
      "color": "Đen", "size": "L", "image": "https://shop.vn/anh/at-x-den.webp",
      "offers": { "@type": "Offer", "price": "249000", "priceCurrency": "VND",
        "availability": "https://schema.org/OutOfStock", "url": "https://shop.vn/san-pham/ao-thun-x?mau=den&co=l" } }
  ]
}

Mỗi biến thể có sku, thuộc tính khác biệt, giá, tình trạng, địa chỉ chọn thẳng được biến thể đó. Nguồn cấp Merchant Center dùng item_group_id cho cùng mục đích. Xem schema Product và Merchant Center.

Thợ may cầm ba mẫu vải lanh cùng loại khác màu ướm lên tay áo khách

Ảnh theo biến thể

Khách mua áo màu xanh muốn thấy đúng màu xanh, không phải ảnh màu trắng của biến thể đầu tiên. Ảnh theo biến thể giúp khách và giúp cả Google Hình ảnh, nơi nhiều người tìm theo màu (“áo thun xanh rêu nam”):

  • Mỗi biến thể màu có ít nhất một ảnh riêng, tên tệp và alt nêu màu: ao-thun-x-xanh-reu.webp, alt “Áo thun cotton X màu xanh rêu, mặt trước”.
  • Khi chọn màu, ảnh chính đổi theo; ảnh của mọi màu vẫn có trong HTML (trong thư viện ảnh) để Google thấy.
  • Ảnh trong hasVariant của ProductGroup trỏ đúng ảnh của từng biến thể.
  • Màu trên ảnh gần với màu thật; ghi chú nếu màu ngoài đời khác ảnh. Đây là lý do đổi trả số một của hàng thời trang online.

Ví dụ: dầu gội ba dung tích

Ví dụ minh hoạ: một thương hiệu dầu gội thảo dược bán ba dung tích 250 ml, 500 ml, 1 lít. Ban đầu mỗi dung tích là một sản phẩm riêng với mô tả chép giống nhau, ba trang cùng tranh câu tìm tên sản phẩm, không trang nào đứng tốt. Search Console cho thấy “dầu gội X 1 lít” có lượt tìm riêng (khách mua dùng lâu dài, tiệm tóc mua sỉ), còn 250 ml và 500 ml thì không.

Làm lại: gộp 250 ml và 500 ml vào một trang chính, chọn dung tích bằng tham số, canonical về trang chính, 301 trang 500 ml cũ về đó; giữ trang 1 lít riêng vì có nhu cầu tìm riêng, viết lại nội dung cho đối tượng dùng dài hạn và tiệm tóc (giá theo ml, cách bảo quản chai lớn, đặt định kỳ), liên kết qua lại hai trang; khai ProductGroup trên trang chính. Hai trang không còn tranh nhau, và trang 1 lít bắt đầu hiện cho câu tìm có chữ “1 lít” và “sỉ”.

Biến thể trên sàn và trên site

Trên sàn thương mại điện tử, một tin đăng gom mọi biến thể là chuẩn. Khi đồng bộ sản phẩm từ sàn về site (hoặc ngược lại), công cụ đồng bộ đôi khi tách mỗi biến thể thành một sản phẩm riêng trên site. Kiểm sau mỗi lần đồng bộ lớn: số trang sản phẩm có tăng vọt không, có nhiều trang tên gần giống nhau không.

Bẫy kỹ thuật hay gặp

  • Ứng dụng chọn biến thể đổi canonical sang địa chỉ có tham số sau khi trang tải xong bằng JavaScript: Google chọn bản có tham số làm chính tắc, trang chính rơi khỏi chỉ mục. Kiểm bằng công cụ Kiểm tra URL, xem HTML đã kết xuất. Xem Kiểm tra URL.
  • Mỗi biến thể là một sản phẩm riêng trong hệ thống, sinh 48 trang gần giống nhau.
  • Chọn biến thể không đổi giá, ảnh trên trang; khách thấy sai.
  • Bộ chọn biến thể làm trang nhảy khi tải, đẩy nút mua; xem CLS.
  • Biến thể hết hàng làm cả trang báo hết hàng dù màu khác còn; khách và Google đều hiểu sai là sản phẩm đã hết.
  • Tham số biến thể bị chặn trong robots.txt khiến Merchant Center không thu thập được địa chỉ biến thể trong nguồn cấp.

Checklist

  1. Xác định biến thể nào có nhu cầu tìm riêng bằng Search Console và gợi ý tìm kiếm.
  2. Biến thể thường: một trang, tham số, canonical về trang chính.
  3. Biến thể quan trọng: địa chỉ riêng, nội dung khác biệt, canonical tự trỏ.
  4. Chọn biến thể đổi ảnh, giá, tình trạng, địa chỉ.
  5. Biến thể mặc định là bản còn hàng, bán chạy; ảnh của mọi màu có trong HTML.
  6. Khai ProductGroup với hasVariant; item_group_id trong nguồn cấp.
  7. Kiểm canonical sau khi JavaScript chạy; kiểm trang bằng chấm điểm SEO.

Hỏi đáp

Mỗi màu sản phẩm có nên một trang riêng?

Thường không. Màu thông thường gom về một trang, chọn bằng tham số và canonical về trang chính. Chỉ tách khi màu đó có nhu cầu tìm riêng đáng kể và có nội dung khác biệt.

Canonical của trang biến thể trỏ về đâu?

Nếu biến thể không cần xếp hạng riêng, trỏ về trang sản phẩm chính. Nếu biến thể được chọn để lập chỉ mục riêng, canonical tự trỏ về chính địa chỉ biến thể đó.

ProductGroup có bắt buộc không?

Không bắt buộc, nhưng giúp Google hiểu các biến thể thuộc cùng một sản phẩm, hiện đúng giá và tình trạng của từng biến thể trong kết quả mua sắm.

Biến thể hết hàng thì xử lý thế nào?

Đổi availability của biến thể đó, giữ các biến thể khác còn hàng hiển thị bình thường. Đặt biến thể mặc định của trang là biến thể còn hàng.

Đọc tiếp