KHUYẾN MÃI MÙA HÈ: GIẢM 20% TẤT CẢ DỊCH VỤ - HẠN CHÓT 30/6GIỚI THIỆU KHÁCH HÀNG MỚI: NHẬN 15% HOA HỒNG TRÊN HÓA ĐƠN ĐẦU TIÊNKHUYẾN MÃI MÙA HÈ: GIẢM 20% TẤT CẢ DỊCH VỤ - HẠN CHÓT 30/6GIỚI THIỆU KHÁCH HÀNG MỚI: NHẬN 15% HOA HỒNG TRÊN HÓA ĐƠN ĐẦU TIÊN
Tan Phat Media

Product Schema Là Gì? Cách Triển Khai Schema Sản Phẩm Chuẩn Google

22 tháng 5, 2026
500
Seo Marketing
Product Schema Là Gì? Cách Triển Khai Schema Sản Phẩm Chuẩn Google - Tấn Phát Digital

Tấn Phát Digital — Bài viết được biên dịch và Việt hóa từ tài liệu chính thức "Introduction to Product structured data" của Google Search Central. Đây là bài hướng dẫn thực hành chi tiết nhất về Product Schema — với code mẫu, validation guide và best practices cho thị trường Việt Nam.

Vì sao 90% shop online VN chưa có Product Schema?

Hãy thử search một sản phẩm trên Google và để ý:

Kết quả từ Tiki, Shopee, Lazada:

🌟🌟🌟🌟🌟 4.8 (1,247 reviews)
Áo Thun Nam Cotton Trắng - Giá: 299.000đ
✅ Còn hàng - 🚚 Miễn phí ship

Kết quả từ shop A (không có schema):

Áo Thun Nam Cotton Trắng | Shop A
shopA.com/ao-thun-nam-cotton-trang
Áo thun nam cotton chất lượng cao với mẫu mã đa dạng...

Bạn click vào kết quả nào? 90% người chọn kết quả có sao đánh giá và giá. Đó là lợi thế của Product Schema.

Vậy tại sao 90% shop VN chưa có? Vì:

  • Phức tạp — Schema markup nhìn "kỹ thuật"

  • Không biết bắt đầu — Không có guide cụ thể

  • Sợ làm sai — Google sẽ phạt?

  • Không thấy ngay — Không có ROI tức thì

Bài viết này, Tấn Phát Digital sẽ giải mã toàn bộ Product Schema — từ A đến Z, với code mẫu sẵn dùng cho shop VN.

Bài viết này dành cho:

  • Chủ shop online muốn hiển thị rich snippets

  • Developer triển khai schema cho ecommerce site

  • SEO specialist chuyên ecommerce

  • Marketing manager cần hiểu để giao việc


Phần 1: Product Schema — Tổng quan

1.1. Product Schema là gì?

Google định nghĩa:

"Khi bạn add structured data cho product pages, thông tin sản phẩm có thể appear in RICHER WAYS trong Google Search results (bao gồm Google Images và Google Lens). Ví dụ, users có thể thấy giá, availability, review ratings, shipping information, và nhiều hơn nữa NGAY TRONG SEARCH RESULTS."

Đơn giản: Schema giúp Google hiểu content và hiển thị đẹp hơn trong search.

1.2. Lợi ích cụ thể của Product Schema

Lợi ích

Tác động

Rich Snippets

CTR tăng 20-40%

🏷️ Hiển thị giá

Filter user có ý định mua

Availability

Trust + conversion

🚚 Shipping info

Reduce friction

🔄 Return policy

Trust signal

📊 Reviews count

Social proof

🛍️ Google Shopping

Free traffic mới

📱 Google Lens

Visual search

🤖 AI Overviews

Sản phẩm xuất hiện trong AI responses

1.3. Nơi schema hiển thị trên Google

Google liệt kê 4 surfaces chính:

A. Product Snippet (Text result)

Áo Thun Nam Cotton Trắng | Shop XYZ
shop.com/ao-thun-trang
⭐⭐⭐⭐⭐ 4.5 (127) · 299.000đ · Còn hàng
Áo thun nam cotton 100% dáng regular, mềm mại...
┌──────────┬──────────┬──────────┐
│ [Image]  │ [Image]  │ [Image]  │
│ Product1 │ Product2 │ Product3 │
│ 299k     │ 359k     │ 199k     │
│ ⭐⭐⭐⭐⭐ │ ⭐⭐⭐⭐ │ ⭐⭐⭐⭐⭐ │
└──────────┴──────────┴──────────┘

C. Shopping Knowledge Panel

Panel bên phải khi search brand name + product:

iPhone 16 Pro Max
Apple
⭐⭐⭐⭐⭐ 4.7 (12,847)
Giá từ: 32.990.000đ

Mua tại:
• FPT Shop
• ShopDunk
• CellphoneS
• Apple Store VN

D. Google Images

Hình ảnh sản phẩm + giá + shop trong Google Images:

[Image]
Áo thun nam cotton trắng - 299k
Shop XYZ

Phần 2: 2 Loại Product Schema — Phân biệt quan trọng

Đây là phần ít người Việt biết. Google phân biệt rõ ràng:

2.1. Product Snippet vs Merchant Listing

Google nói:

"Có 2 main classes của product structured data. Follow requirements cho TYPE phù hợp NHẤT với use case của bạn."

Loại 1: Product Snippet

Dành cho: Trang sản phẩm mà user KHÔNG thể mua trực tiếp.

Ví dụ:

  • Blog review sản phẩm

  • Editorial review

  • Comparison sites

  • Affiliate marketing pages

  • Forum discussions về sản phẩm

Đặc điểm:

  • Focus vào REVIEW INFORMATION

  • Có thêm pros and cons options

  • Không cần thông tin shipping/return

Loại 2: Merchant Listing

Dành cho: Trang sản phẩm mà user CÓ THỂ mua trực tiếp.

Ví dụ:

  • Trang sản phẩm của ecommerce site

  • Trang booking dịch vụ

  • Trang đặt hàng

Đặc điểm:

  • Focus vào DETAILED PRODUCT INFO

  • Apparel sizing

  • Shipping details

  • Return policy

  • Pricing chi tiết

2.2. Sự overlap và chiến lược kết hợp

Google nói:

"Có MỘT SỐ OVERLAP giữa 2 product features. Generally, adding required product information properties cho merchant listings nghĩa là product pages có thể ELIGIBLE CHO CẢ product snippets."

Khuyến nghị từ Tấn Phát Digital:

Shop ecommerce → Dùng Merchant Listing (có thể được hưởng cả 2 enhancements)

Blog review → Dùng Product Snippet

Site lai (blog + bán) → Dùng theo từng page

2.3. Bảng so sánh chi tiết

Tính năng

Product Snippet

Merchant Listing

Mục đích

Review/giới thiệu

Bán trực tiếp

Reviews

⭐ Mạnh

⭐ Hỗ trợ

Pros/Cons

✅ Có

❌ Không

Price

✅ Có

✅ Có

Availability

❌ Không cần

✅ Bắt buộc

Shipping info

❌ Không

✅ Có

Return policy

❌ Không

✅ Có

Apparel sizing

❌ Không

✅ Có

Free Google Shopping

❌ Không

✅ Có


Phần 3: Required Properties — Bắt buộc phải có

Đây là các trường BẮT BUỘC để Schema được Google chấp nhận.

3.1. Properties tối thiểu cho Merchant Listing

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Áo thun nam cotton trắng",
  "image": "https://shop.com/ao-trang.jpg",
  "offers": {
    "@type": "Offer",
    "price": "299000",
    "priceCurrency": "VND",
    "availability": "https://schema.org/InStock"
  }
}

Giải thích:

Property

Mô tả

Ví dụ

@context

Vocabulary

"https://schema.org/"

@type

Loại schema

"Product"

name

Tên sản phẩm

"Áo thun nam cotton trắng"

image

URL hình ảnh

URL hình ảnh sản phẩm

offers

Object chứa offer info

Bắt buộc

offers.price

Giá (số)

"299000"

offers.priceCurrency

Đơn vị tiền

"VND"

offers.availability

Tình trạng

Xem phần dưới

3.2. Availability values

Google chỉ chấp nhận các giá trị sau:

"availability": "https://schema.org/InStock"           // Còn hàng
"availability": "https://schema.org/OutOfStock"        // Hết hàng
"availability": "https://schema.org/PreOrder"          // Đặt trước
"availability": "https://schema.org/BackOrder"         // Đặt hàng (chờ)
"availability": "https://schema.org/SoldOut"           // Đã bán hết
"availability": "https://schema.org/Discontinued"      // Ngừng kinh doanh
"availability": "https://schema.org/LimitedAvailability" // Số lượng có hạn

Càng có nhiều properties → càng có nhiều cơ hội xuất hiện trong rich results.

4.1. Schema đầy đủ cho Merchant Listing

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Áo Thun Nam Cotton Trắng Dáng Regular",
  "image": [
    "https://shop.com/photos/1x1/ao-trang.jpg",
    "https://shop.com/photos/4x3/ao-trang.jpg",
    "https://shop.com/photos/16x9/ao-trang.jpg"
  ],
  "description": "Áo thun nam cotton 100% chất liệu cao cấp, dáng regular fit, phù hợp đi làm, đi chơi. Có 4 màu: Trắng, Đen, Xanh Navy, Xám.",
  "sku": "AT-001-WHITE-M",
  "mpn": "925872",
  "gtin13": "0614141999996",
  "brand": {
    "@type": "Brand",
    "name": "Shop XYZ"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://shop.com/ao-thun-nam-cotton-trang",
    "priceCurrency": "VND",
    "price": "299000",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "VN",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "https://schema.org/FreeReturn"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "0",
        "currency": "VND"
      },
      "shippingDestination": {
        "@type": "DefinedRegion",
        "addressCountry": "VN"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 0,
          "maxValue": 1,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 1,
          "maxValue": 3,
          "unitCode": "DAY"
        }
      }
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "127",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Nguyễn Văn A"
      },
      "datePublished": "2026-05-15",
      "reviewBody": "Áo chất rất đẹp, vải mịn, form chuẩn. Sẽ ủng hộ shop tiếp!",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5"
      }
    }
  ]
}

4.2. Schema chi tiết cho Product Snippet (Blog Review)

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "iPhone 16 Pro Max 256GB",
  "image": "https://blog.com/iphone-16-review.jpg",
  "description": "Review chi tiết iPhone 16 Pro Max sau 30 ngày sử dụng",
  "brand": {
    "@type": "Brand",
    "name": "Apple"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "247"
  },
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "5",
      "bestRating": "5"
    },
    "author": {
      "@type": "Person",
      "name": "Tấn Phát Digital"
    },
    "datePublished": "2026-05-19",
    "reviewBody": "Sau 30 ngày sử dụng, iPhone 16 Pro Max thực sự là...",
    "positiveNotes": {
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Pin trâu hơn iPhone 15 Pro Max"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Camera telephoto 5x ấn tượng"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Material titanium nhẹ hơn"
        }
      ]
    },
    "negativeNotes": {
      "@type": "ItemList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Giá cao hơn 200$ so với iPhone 15"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Vẫn dùng USB-C 10Gbps"
        }
      ]
    }
  }
}

Lưu ý: positiveNotesnegativeNotespros và cons — chỉ có ở Product Snippet, không có ở Merchant Listing.


Phần 5: Product Identifiers — GTIN, MPN, SKU

Đây là phần cực kỳ quan trọng nhưng nhiều người Việt bỏ qua.

5.1. Tại sao Product Identifiers quan trọng?

Identifiers giúp Google:

  • Match sản phẩm của bạn với databases sản phẩm toàn cầu

  • Hiển thị trong Shopping Knowledge Panel

  • Compare giá với các seller khác

  • Tăng trust với buyer

5.2. 3 loại Identifiers chính

GTIN (Global Trade Item Number)

Là gì: Mã barcode quốc tế (UPC, EAN, ISBN, JAN)

Format:

  • gtin8 — 8 chữ số

  • gtin12 — 12 chữ số (UPC-A, Bắc Mỹ)

  • gtin13 — 13 chữ số (EAN, Châu Âu, VN)

  • gtin14 — 14 chữ số (ITF-14)

Ví dụ:

"gtin13": "8938503001234"

MPN (Manufacturer Part Number)

Là gì: Mã của nhà sản xuất

Ví dụ:

"mpn": "A2784"  // iPhone 16 Pro Max

SKU (Stock Keeping Unit)

Là gì: Mã quản lý của shop bạn

Ví dụ:

"sku": "AT-001-WHITE-M"  // Áo thun-001-trắng-M

5.3. Khi nào dùng gì?

Loại sản phẩm

Identifier ưu tiên

Sản phẩm có brand (iPhone, Adidas...)

GTIN + MPN + SKU

Sản phẩm OEM/no-brand

MPN + SKU

Sản phẩm tự sản xuất

SKU

Sản phẩm cũ, vintage

SKU + Mô tả chi tiết


Phần 6: Tích hợp với Organization Markup

Google khuyến nghị:

"Ngoài structured data cho individual products bạn sell, chúng tôi cũng RECOMMEND bạn add structured data defining the POLICIES của ecommerce business của bạn, nested under Organization markup."

6.1. Schema toàn site (Organization-level)

Đặt schema này trên trang chủ hoặc mọi trang:

{
  "@context": "https://schema.org/",
  "@type": "OnlineStore",
  "name": "Shop XYZ",
  "url": "https://shop.com",
  "logo": "https://shop.com/logo.png",
  "description": "Shop bán quần áo nam chính hãng",
  "sameAs": [
    "https://facebook.com/shopxyz",
    "https://instagram.com/shopxyz",
    "https://www.youtube.com/shopxyz"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+84-901-234-567",
    "contactType": "customer service",
    "areaServed": "VN",
    "availableLanguage": ["Vietnamese", "English"]
  },
  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "applicableCountry": "VN",
    "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
    "merchantReturnDays": 30,
    "returnMethod": "https://schema.org/ReturnByMail",
    "returnFees": "https://schema.org/FreeReturn"
  },
  "hasMemberProgram": {
    "@type": "MemberProgram",
    "name": "Shop XYZ Rewards",
    "description": "Tích điểm với mỗi đơn hàng, đổi voucher giảm giá",
    "url": "https://shop.com/rewards"
  }
}

6.2. Merchant Return Policy

Áp dụng ở Organization level (cho toàn site):

"hasMerchantReturnPolicy": {
  "@type": "MerchantReturnPolicy",
  "applicableCountry": "VN",
  "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
  "merchantReturnDays": 30,
  "returnMethod": "https://schema.org/ReturnByMail",
  "returnFees": "https://schema.org/FreeReturn",
  "refundType": "https://schema.org/FullRefund"
}

Các giá trị returnPolicyCategory:

  • MerchantReturnFiniteReturnWindow — Có thời hạn (vd: 30 ngày)

  • MerchantReturnUnlimitedWindow — Không giới hạn

  • MerchantReturnNotPermitted — Không hỗ trợ đổi trả

Các giá trị returnFees:

  • FreeReturn — Miễn phí đổi trả

  • ReturnFeesCustomerResponsibility — Khách trả phí ship

  • OriginalShippingFees — Tính phí ship gốc

6.3. Loyalty Program

"hasMemberProgram": {
  "@type": "MemberProgram",
  "name": "Shop XYZ VIP",
  "description": "Chương trình khách hàng thân thiết",
  "url": "https://shop.com/vip",
  "hasTiers": [
    {
      "@type": "MemberProgramTier",
      "name": "Bronze",
      "hasTierBenefit": "TierBenefitLoyaltyPrice",
      "hasTierRequirement": {
        "@type": "UnitPriceSpecification",
        "price": "0",
        "priceCurrency": "VND"
      }
    },
    {
      "@type": "MemberProgramTier",
      "name": "Gold",
      "hasTierBenefit": "TierBenefitLoyaltyPrice",
      "hasTierRequirement": {
        "@type": "MonetaryAmount",
        "value": "5000000",
        "currency": "VND"
      }
    }
  ]
}

Phần 7: Implementation Guide — Triển khai thực tế

7.1. JSON-LD (Khuyến nghị)

Đặt trong <head> hoặc cuối <body>:

<!DOCTYPE html>
<html>
<head>
  <title>Áo Thun Nam Cotton Trắng | Shop XYZ</title>
  
  <!-- Product Schema -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org/",
    "@type": "Product",
    "name": "Áo Thun Nam Cotton Trắng",
    "image": "https://shop.com/ao-trang.jpg",
    "description": "Áo thun nam cotton 100%",
    "offers": {
      "@type": "Offer",
      "price": "299000",
      "priceCurrency": "VND",
      "availability": "https://schema.org/InStock"
    }
  }
  </script>
</head>
<body>
  <!-- Page content -->
</body>
</html>

7.2. WordPress + WooCommerce

Plugin recommended:

  1. Yoast SEO — Tự động thêm Product Schema cơ bản

  2. Rank Math — Schema mở rộng

  3. Schema Pro — Schema chuyên sâu

  4. WooCommerce — Built-in schema (có thể enhance)

Code custom (functions.php):

// Add custom Product Schema cho WooCommerce
add_action('wp_head', function() {
    if (!is_product()) return;
    
    global $product;
    
    $schema = [
        '@context' => 'https://schema.org/',
        '@type' => 'Product',
        'name' => $product->get_name(),
        'image' => wp_get_attachment_url($product->get_image_id()),
        'description' => $product->get_short_description(),
        'sku' => $product->get_sku(),
        'offers' => [
            '@type' => 'Offer',
            'url' => get_permalink($product->get_id()),
            'price' => $product->get_price(),
            'priceCurrency' => get_woocommerce_currency(),
            'availability' => $product->is_in_stock() 
                ? 'https://schema.org/InStock' 
                : 'https://schema.org/OutOfStock'
        ]
    ];
    
    echo '<script type="application/ld+json">' . 
         json_encode($schema, JSON_UNESCAPED_UNICODE) . 
         '</script>';
});

7.3. Shopify

Cách 1: Theme built-in (đa số theme hỗ trợ)

Hầu hết theme premium đã có Product Schema. Kiểm tra trong: Themes → Edit code → Snippets → product-json-ld.liquid

Cách 2: Custom Liquid

Trong templates/product.liquid:

{% comment %} Custom Product Schema {% endcomment %}
<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": {{ product.title | json }},
  "image": [
    {% for image in product.images %}
      {{ image | img_url: '1024x' | prepend: 'https:' | json }}
      {% unless forloop.last %},{% endunless %}
    {% endfor %}
  ],
  "description": {{ product.description | strip_html | json }},
  "sku": {{ product.selected_or_first_available_variant.sku | json }},
  "brand": {
    "@type": "Brand",
    "name": {{ product.vendor | json }}
  },
  "offers": {
    "@type": "Offer",
    "url": {{ shop.url | append: product.url | json }},
    "priceCurrency": {{ cart.currency.iso_code | json }},
    "price": {{ product.selected_or_first_available_variant.price | divided_by: 100.00 | json }},
    "availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}"
  }
}
</script>

7.4. Custom platform (React, Vue, Next.js...)

React/Next.js:

import Head from 'next/head';

export default function ProductPage({ product }) {
  const schema = {
    "@context": "https://schema.org/",
    "@type": "Product",
    "name": product.name,
    "image": product.images,
    "description": product.description,
    "sku": product.sku,
    "offers": {
      "@type": "Offer",
      "price": product.price,
      "priceCurrency": "VND",
      "availability": product.inStock 
        ? "https://schema.org/InStock"
        : "https://schema.org/OutOfStock"
    }
  };

  return (
    <>
      <Head>
        <title>{product.name}</title>
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
        />
      </Head>
      {/* Page content */}
    </>
  );
}

Phần 8: Validation — Test Schema trước khi deploy

8.1. Rich Results Test (Khuyến nghị)

URL: https://search.google.com/test/rich-results

Quy trình:

  1. Paste URL của product page

  2. Click "Test URL"

  3. Xem kết quả:

    • Valid — Đủ điều kiện rich results

    • ⚠️ Warning — Optional fields thiếu

    • Error — Phải fix

8.2. Schema Markup Validator

URL: https://validator.schema.org/

Test structure của schema (theo schema.org spec).

8.3. Search Console

Sau khi deploy:

  1. Vào Search Console

  2. EnhancementsProducts

  3. Xem:

    • Valid items

    • Items with errors

    • Items with warnings

8.4. Common errors và cách fix

Error

Nguyên nhân

Cách fix

Missing field 'image'

Không có hình

Thêm "image"

Missing field 'offers'

Không có offer

Thêm offers object

Missing field 'price'

Không có giá

Thêm "price"

Invalid value 'availability'

Sai format

Dùng schema.org URLs

Missing 'aggregateRating' fields

Thiếu count

Thêm reviewCount

Price không match

Schema khác với UI

Sync schema với giá hiển thị


Phần 9: Best Practices và Common Mistakes

9.1. Best Practices

Schema phải MATCH với content hiển thị trên trang

Giá trong schema = giá user thấy

Reviews thật, không fake

Update schema khi data thay đổi (giá, stock, reviews)

Test với Rich Results Test trước khi deploy

Multiple image ratios (1x1, 4x3, 16x9)

Đầy đủ identifiers (GTIN, MPN, SKU)

Self-referencing canonical trên mọi product page

9.2. Common Mistakes — Tránh ngay!

❌ Mistake 1: Reviews giả

Hậu quả: Vi phạm chính sách, có thể bị manual action.

Đúng: Chỉ dùng reviews thật từ khách hàng.

❌ Mistake 2: Schema không match content

Ví dụ:

  • Schema: "298.000đ"

  • Trang: "359.000đ"

Hậu quả: Google ignore schema, có thể warning.

Đúng: Sync dynamic từ database.

❌ Mistake 3: AggregateRating khi không có reviews

"aggregateRating": {
  "ratingValue": "5",
  "reviewCount": "0"  ← Sai!
}

Đúng: Chỉ thêm aggregateRating khi reviews thật (≥1).

❌ Mistake 4: Schema chỉ trên 1-2 trang

Hậu quả: Mất cơ hội cho hàng nghìn sản phẩm khác.

Đúng: Schema trên TẤT CẢ product pages.

❌ Mistake 5: Quên update khi giá thay đổi

Hậu quả: User click vào thấy giá khác → trust giảm.

Đúng: Schema generate dynamic từ database.

❌ Mistake 6: Dùng priceValidUntil trong quá khứ

"priceValidUntil": "2024-12-31"  ← Đã quá hạn

Hậu quả: Google cảnh báo deprecated offer.

Đúng: Update priceValidUntil thường xuyên.

❌ Mistake 7: Không có currency

"price": "299000"  ← Không biết là VND hay USD

Đúng: Luôn có priceCurrency.

❌ Mistake 8: Image URL relative

"image": "/photos/ao.jpg"  ← Sai

Đúng:

"image": "https://shop.com/photos/ao.jpg"

Phần 10: Schema cho Product Variants

Nếu sản phẩm có biến thể (màu, size), Google có support đặc biệt.

10.1. ProductGroup pattern

{
  "@context": "https://schema.org/",
  "@type": "ProductGroup",
  "name": "Áo Thun Nam Cotton",
  "productGroupID": "AT-001",
  "variesBy": ["color", "size"],
  "hasVariant": [
    {
      "@type": "Product",
      "sku": "AT-001-WHITE-M",
      "name": "Áo Thun Nam Cotton Trắng - Size M",
      "color": "Trắng",
      "size": "M",
      "image": "https://shop.com/photos/at-001-white-m.jpg",
      "offers": {
        "@type": "Offer",
        "price": "299000",
        "priceCurrency": "VND",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "Product",
      "sku": "AT-001-WHITE-L",
      "name": "Áo Thun Nam Cotton Trắng - Size L",
      "color": "Trắng",
      "size": "L",
      "image": "https://shop.com/photos/at-001-white-l.jpg",
      "offers": {
        "@type": "Offer",
        "price": "299000",
        "priceCurrency": "VND",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "Product",
      "sku": "AT-001-BLACK-M",
      "name": "Áo Thun Nam Cotton Đen - Size M",
      "color": "Đen",
      "size": "M",
      "image": "https://shop.com/photos/at-001-black-m.jpg",
      "offers": {
        "@type": "Offer",
        "price": "299000",
        "priceCurrency": "VND",
        "availability": "https://schema.org/InStock"
      }
    }
  ]
}

10.2. Lợi ích của ProductGroup

  • Google hiểu variants là cùng product

  • Hiển thị options trong Shopping

  • Better consolidation trong knowledge panel

  • Variant-level pricing và availability


Phần 11: Checklist hoàn chỉnh

Tấn Phát Digital tổng hợp checklist 30 điểm:

Phần A: Required Properties

  • [ ] @context set chính xác

  • [ ] @type = "Product"

  • [ ] name rõ ràng

  • [ ] image URL absolute, chất lượng cao

  • [ ] offers có đầy đủ

  • [ ] price đúng định dạng (số, không có ký tự)

  • [ ] priceCurrency = "VND"

  • [ ] availability dùng schema.org URLs

  • [ ] description mô tả chi tiết

  • [ ] sku có mã quản lý

  • [ ] brand đầy đủ

  • [ ] gtin13 hoặc mpn (nếu có)

  • [ ] aggregateRating (nếu có reviews)

  • [ ] review chi tiết (nếu có)

  • [ ] priceValidUntil cập nhật

Phần C: Merchant Listing Enhancements

  • [ ] hasMerchantReturnPolicy

  • [ ] shippingDetails

  • [ ] Multiple image ratios (1x1, 4x3, 16x9)

  • [ ] itemCondition

Phần D: Variants (nếu có)

  • [ ] ProductGroup pattern

  • [ ] variesBy properties

  • [ ] Each variant có unique URL + SKU

  • [ ] Canonical strategy đúng

Phần E: Validation

  • [ ] Test với Rich Results Test

  • [ ] Test với Schema Validator

  • [ ] Không có errors

  • [ ] Warnings được xử lý

Phần F: Implementation

  • [ ] Schema trên TẤT CẢ product pages

  • [ ] Generated dynamic từ database

  • [ ] Update real-time khi data thay đổi

  • [ ] Schema match với content hiển thị

Phần G: Monitoring

  • [ ] Setup Search Console alerts

  • [ ] Check Enhancements report weekly

  • [ ] Track rich results performance

  • [ ] Fix errors ngay khi phát hiện


Product Schema — ROI cao nhất của Ecommerce SEO

Trong tất cả kỹ thuật SEO Ecommerce, Product Schema có ROI cao nhất:

  • Chi phí thấp (chỉ cần implement code)

  • Hiệu quả nhanh (1-2 tuần thấy rich results)

  • Tác động lớn (CTR tăng 20-40%)

  • Bền vững (không bị Google update phạt)

5 thông điệp cuối

1. Schema không phải optional cho ecommerce. Đó là bắt buộc nếu muốn cạnh tranh.

2. Match content hiển thị. Schema phải = giá user thấy.

3. Variants cần ProductGroup. Đây là cách Google hiểu mối quan hệ.

4. Validate trước khi deploy. Rich Results Test là người bạn tốt nhất.

5. Monitor liên tục. Search Console alerts khi có vấn đề.

Bài tiếp theo

Đây là bài cuối cùng của Cluster 1: Ecommerce SEO. Tiếp theo, chúng ta sẽ chuyển sang Cluster 2: International & Local SEO với:

  • Bài 14: SEO Quốc Tế Toàn Diện

  • Bài 15: Hreflang Tag Chi Tiết

  • Bài 16: Local SEO + Google Business Profile


Tài liệu tham khảo


Về Tấn Phát Digital

Tấn Phát Digital cung cấp Schema Implementation Service chuyên sâu cho ecommerce:

  • Schema Audit — Đánh giá schema hiện tại

  • Full Schema Implementation — Triển khai đầy đủ cho mọi product

  • Variant Schema Setup — ProductGroup cho sản phẩm có biến thể

  • Schema Monitoring — Theo dõi và fix issues

Liên hệ Tấn Phát Digital để được tư vấn schema strategy cho shop của bạn.

Bài viết được biên soạn từ tài liệu Google Search Central, cập nhật 10/12/2025. Code mẫu, implementation guide và checklist thuộc về Tấn Phát Digital.

Product Schema là một phần quan trọng trong chiến lược SEO Ecommerce hiện đại.

Nếu bạn muốn tối ưu website bán hàng chuẩn SEO và triển khai structured data đúng cách, hãy liên hệ Tấn Phát Digital để được tư vấn.

Mục lục

Câu hỏi thường gặp

Product Schema là gì?

Product Schema là dữ liệu có cấu trúc giúp công cụ tìm kiếm hiểu rõ thông tin sản phẩm như tên, giá, tình trạng còn hàng, đánh giá và thương hiệu. Khi triển khai đúng, trang sản phẩm có thể đủ điều kiện hiển thị rich results trên Google.

Product Schema có lợi ích gì cho SEO website bán hàng?

Product Schema không đảm bảo tăng thứ hạng trực tiếp, nhưng giúp Google hiểu nội dung chính xác hơn và tăng khả năng hiển thị nổi bật với giá, rating hoặc stock. Điều này thường hỗ trợ cải thiện CTR và chất lượng truy cập từ tìm kiếm.

Trang nào nên triển khai Product Schema?

Nên dùng Product Schema cho các trang chi tiết sản phẩm có thông tin cụ thể như tên, mô tả, hình ảnh, giá bán và tình trạng hàng. Không nên gắn cho trang danh mục, bài blog hoặc trang tổng hợp nếu không đại diện cho một sản phẩm cụ thể.

Product Schema cần những thuộc tính quan trọng nào?

Các thuộc tính quan trọng thường gồm name, image, description, sku, brand, offers với price, priceCurrency, availability và url. Nếu có đánh giá thực tế, bạn có thể bổ sung aggregateRating hoặc review, nhưng phải phản ánh đúng nội dung hiển thị trên trang.

Nên dùng JSON-LD hay Microdata để triển khai Product Schema?

Google ưu tiên và khuyến nghị dùng JSON-LD vì dễ quản lý, dễ cập nhật và ít làm rối HTML hơn Microdata. Với website dùng CMS hoặc framework hiện đại, JSON-LD thường là cách triển khai nhanh và ít lỗi hơn.

Product Schema khác gì so với Review Schema hoặc Offer Schema?

Product Schema là cấu trúc tổng thể mô tả sản phẩm, còn Review Schema tập trung vào nội dung đánh giá và Offer Schema mô tả thông tin chào bán như giá, tiền tệ, tình trạng hàng. Trong thực tế, các phần này thường được lồng bên trong Product Schema.

Có thể thêm rating vào Product Schema khi chưa có đánh giá thật không?

Không nên. Google yêu cầu dữ liệu đánh giá phải phản ánh đúng nội dung thực tế hiển thị cho người dùng. Nếu bạn tự thêm rating không có review thật hoặc dùng dữ liệu không minh bạch, schema có thể bị vô hiệu hoặc dẫn đến cảnh báo thủ công.

Làm sao kiểm tra Product Schema đã đúng chuẩn Google chưa?

Bạn nên dùng Rich Results Test để kiểm tra khả năng đủ điều kiện hiển thị rich results và dùng Schema Markup Validator để rà soát cấu trúc. Ngoài ra, Google Search Console cũng giúp phát hiện lỗi, cảnh báo và trạng thái lập chỉ mục của schema.

Vì sao đã thêm Product Schema nhưng Google vẫn không hiển thị rich results?

Có nhiều nguyên nhân như thiếu thuộc tính quan trọng, dữ liệu trên schema không khớp với nội dung trang, trang chưa được Google thu thập lại hoặc Google chưa chọn hiển thị rich results. Việc triển khai đúng chỉ giúp đủ điều kiện, không đảm bảo chắc chắn sẽ xuất hiện.

Khi giá hoặc tồn kho thay đổi, Product Schema có cần cập nhật không?

Có. Thông tin trong Product Schema nên được cập nhật đồng bộ với nội dung hiển thị trên trang, đặc biệt là price, availability và currency. Nếu dữ liệu cũ hoặc lệch nhau, Google có thể giảm độ tin cậy và không dùng schema để hiển thị kết quả nổi bật.

Bài viết liên quan

Hình ảnh đại diện của bài viết: 05 Công Cụ Nắm Bắt Xu Hướng Chuyên Sâu: Chìa Khóa Tối Ưu Chiến Dịch Quảng Cáo Mạng Xã Hội

05 Công Cụ Nắm Bắt Xu Hướng Chuyên Sâu: Chìa Khóa Tối Ưu Chiến Dịch Quảng Cáo Mạng Xã Hội

Khám phá 5 công cụ phân tích xu hướng chuyên sâu, từ TikTok Trends đến AI nhắm mục tiêu, cùng 10 lời khuyên chiến lược và các Case Study thực tế giúp thương hiệu tối ưu chiến dịch quảng cáo, tăng ROI và bứt phá doanh số trong mùa lễ hội sắp tới. Được cung cấp bởi Tấn Phát Digital.

Hình ảnh đại diện của bài viết: 10 Chiến Dịch Social Media Thành Công

10 Chiến Dịch Social Media Thành Công

Các chiến dịch social media thành công không chỉ giúp thương hiệu tăng độ nhận diện mà còn tạo ra sự kết nối mạnh mẽ với khách hàng. Bài viết này phân tích 10 chiến dịch social media truyền cảm hứng cùng những bài học chiến lược đáng giá.

Hình ảnh đại diện của bài viết: Chiến Lược Tăng Traffic Website Hiệu Quả & Bền Vững 2026 | Tấn Phát Digital

Chiến Lược Tăng Traffic Website Hiệu Quả & Bền Vững 2026 | Tấn Phát Digital

Báo cáo chuyên sâu về lộ trình tăng trưởng lưu lượng truy cập website tại thị trường Việt Nam, tập trung vào hiệu suất kỹ thuật, chiều sâu nội dung và xây dựng uy tín thực thể trong kỷ nguyên AI.

Hình ảnh đại diện của bài viết: 10 Sai lầm Từ khóa Volume Search & Chiến lược SEO

10 Sai lầm Từ khóa Volume Search & Chiến lược SEO

Đừng để con số Volume đánh lừa. Tấn Phát Digital phân tích sâu về Search Intent, độ khó và giá trị thương mại để xây dựng bộ từ khóa mang lại doanh thu bền vững thay vì chỉ là traffic ảo.

Hình ảnh đại diện của bài viết: 10 Xu hướng AI Marketing Cần Nắm Bắt Để Bứt Phá Trong Năm 2026

10 Xu hướng AI Marketing Cần Nắm Bắt Để Bứt Phá Trong Năm 2026

Năm 2026, AI không chỉ là công cụ mà là năng lực cạnh tranh cốt lõi. Khám phá 10 xu hướng đột phá: APM, Hyper-Orchestration, và Content Hybrid để làm chủ cuộc chơi Digital Marketing.

Hình ảnh đại diện của bài viết: 11 Bài Học Marketing Triệu View Từ Kênh Nông Sản | Ứng Dụng Mọi Lĩnh Vực

11 Bài Học Marketing Triệu View Từ Kênh Nông Sản | Ứng Dụng Mọi Lĩnh Vực

Khám phá 11 bài học marketing cảm xúc từ các kênh nông sản triệu view và cách ứng dụng vào mọi doanh nghiệp. Tấn Phát Digital giúp bạn xây dựng chiến lược nội dung doanh nghiệp có sức lan tỏa.

Hình ảnh đại diện của bài viết: 11 Dấu Hiệu Bạn Đang Thuê Nhầm Dịch Vụ SEO Năm 2026 | Tấn Phát Digital

11 Dấu Hiệu Bạn Đang Thuê Nhầm Dịch Vụ SEO Năm 2026 | Tấn Phát Digital

Nhận diện ngay 11 sai lầm chết người khi thuê SEO năm 2026 để bảo vệ doanh nghiệp trước các đợt cập nhật thuật toán AI khắt khe của Google thông qua phân tích chuyên sâu từ Tấn Phát Digital.

Hình ảnh đại diện của bài viết: 13 Tuyệt Chiêu Hook Video Triệu View Chạm Cảm Xúc 2026

13 Tuyệt Chiêu Hook Video Triệu View Chạm Cảm Xúc 2026

Chỉ cần 3 giây để thay đổi số phận một video. Tấn Phát Digital chia sẻ 13 công thức hook "thần thánh" giúp nội dung của bạn không thể bị lướt qua trong kỷ nguyên AI Search.

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook