Technical SEO

Structured Data và Schema Markup: Hướng dẫn triển khai JSON-LD để có Rich Results

Structured Data là gì? Hướng dẫn triển khai JSON-LD Schema.org để có Rich Results: FAQPage, Article, Product, HowTo, Recipe — code mẫu thực tế và cách validate bằng Rich Results Test.

A
admin
19/08/2025
9 phút đọc
1,857 từ

Bạn đã từng thấy kết quả tìm kiếm hiển thị đánh giá sao, giá sản phẩm, thời gian nấu ăn, hoặc câu hỏi mở rộng ngay trên trang kết quả mà không cần click vào? Đó là rich results (kết quả phong phú — các loại kết quả tìm kiếm đặc biệt trên Google hiển thị thêm thông tin bổ sung so với blue link thông thường, được tạo ra nhờ structured data markup trên trang web). Để có được rich results, bạn cần triển khai đúng Structured Data (dữ liệu có cấu trúc — code markup thêm vào trang HTML giúp Google hiểu chính xác nội dung và ngữ cảnh của trang, theo định dạng chuẩn của Schema.org). Bài viết này hướng dẫn toàn diện từ lý thuyết đến triển khai thực tế.

Structured Data Là Gì? Tại Sao Google Cần Nó?

Google đọc trang web dưới dạng HTML — nhưng HTML chỉ nói cho Google biết cách hiển thị nội dung, không nói nội dung đó là gì về mặt ngữ nghĩa. Ví dụ:

<p>Phở bò Hà Nội - 65.000đ - 45 phút nấu</p>

Google thấy đây là đoạn text nhưng không biết chắc: đây là tên món ăn hay tên nhà hàng? 65.000đ là giá hay số điện thoại? 45 phút là thời gian nấu hay thời gian giao hàng?

Structured data giải quyết vấn đề này:

{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Phở bò Hà Nội",
  "cookTime": "PT45M",
  "nutrition": {"@type": "NutritionInformation"},
  "offers": {"@type": "Offer", "price": "65000", "priceCurrency": "VND"}
}

Giờ Google biết chính xác: đây là một công thức nấu ăn (Recipe), tên là “Phở bò Hà Nội”, thời gian nấu 45 phút, giá 65.000 VND.

Schema.org — Ngôn Ngữ Chung Của Structured Data

Schema.org (tổ chức phi lợi nhuận được thành lập bởi Google, Bing, Yahoo và Yandex năm 2011, duy trì bộ từ điển chuẩn (vocabulary) các loại thực thể và thuộc tính để markup structured data) cung cấp hàng nghìn types (loại thực thể) và properties (thuộc tính) để mô tả mọi loại nội dung.

Ba định dạng triển khai structured data:

  • JSON-LD (JavaScript Object Notation for Linked Data — định dạng được Google khuyến nghị, đặt trong thẻ script trong phần head hoặc body, không can thiệp vào HTML hiển thị): Khuyến nghị nhất — dễ triển khai, dễ maintain, không làm “bẩn” HTML
  • Microdata (định dạng inline trong HTML, dùng các attributes đặc biệt của HTML5): Cũ hơn, khó maintain hơn
  • RDFa (Resource Description Framework in Attributes — định dạng dựa trên HTML attributes, phức tạp hơn JSON-LD): Ít phổ biến, thường dùng trong học thuật

Các Loại Rich Results Phổ Biến Và Schema Tương Ứng

Rich Result Schema Type Phù hợp với Hiệu quả SEO
FAQ (Câu hỏi thường gặp) FAQPage + Question + Answer Mọi loại trang ⭐⭐⭐⭐⭐ Rất cao, tăng SERP real estate
Article (Bài viết) Article / BlogPosting / NewsArticle Blog, báo điện tử ⭐⭐⭐ Hiển thị image, date trong SERP
Product (Sản phẩm) Product + Offer + AggregateRating E-commerce ⭐⭐⭐⭐⭐ Hiển thị giá, rating, availability
Recipe (Công thức nấu ăn) Recipe Food blog, nhà hàng ⭐⭐⭐⭐ Hiển thị thời gian, calo, ảnh
HowTo (Hướng dẫn thực hiện) HowTo + HowToStep Tutorial, DIY ⭐⭐⭐⭐ Hiển thị các bước trực tiếp
Review (Đánh giá) Review + AggregateRating Review sản phẩm, dịch vụ ⭐⭐⭐⭐ Hiển thị sao rating trong SERP
Event (Sự kiện) Event Website sự kiện, concert ⭐⭐⭐ Hiển thị ngày, địa điểm
LocalBusiness LocalBusiness + subtype Doanh nghiệp địa phương ⭐⭐⭐⭐ Hỗ trợ Knowledge Panel và Local SEO
BreadcrumbList (Đường dẫn phân cấp) BreadcrumbList Mọi website có phân cấp ⭐⭐⭐ Hiển thị breadcrumb trong SERP URL
SiteLinks Searchbox WebSite + potentialAction Trang chủ thương hiệu ⭐⭐⭐ Hộp tìm kiếm ngay trên SERP

Triển Khai JSON-LD — Template Thực Tế

FAQPage — Loại Phổ Biến và Hiệu Quả Nhất

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Technical SEO là gì?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Technical SEO là nhánh SEO tập trung vào tối ưu hóa cơ sở hạ tầng kỹ thuật của website để giúp Google dễ dàng crawl, index và hiểu nội dung."
      }
    }
  ]
}
</script>

Article — Cho Bài Viết Blog

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Structured Data và SEO: Hướng dẫn toàn diện",
  "datePublished": "2025-08-10",
  "dateModified": "2025-08-10",
  "author": {
    "@type": "Person",
    "name": "SEO Nhanh",
    "url": "https://seonhanh.top/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "SEO Nhanh",
    "logo": {
      "@type": "ImageObject",
      "url": "https://seonhanh.top/logo.png"
    }
  },
  "image": "https://seonhanh.top/images/structured-data-seo.jpg",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://seonhanh.top/blog-seo/technical-seo/structured-data-schema/"
  }
}
</script>

Validation — Kiểm Tra Structured Data

Sau khi triển khai, bắt buộc phải validate (xác thực):

  • Google Rich Results Test (search.google.com/test/rich-results): Kiểm tra URL hoặc paste code trực tiếp. Hiển thị lỗi, cảnh báo và preview rich result
  • Schema Markup Validator (validator.schema.org): Validate cú pháp JSON-LD theo chuẩn Schema.org
  • Google Search Console → Enhancements: Sau 1–2 tuần indexing, báo cáo lỗi structured data theo từng loại schema

Lỗi phổ biến cần kiểm tra: thiếu required properties (thuộc tính bắt buộc), giá trị không hợp lệ (sai format ngày tháng), schema không match nội dung trang (spam schema), nhiều schema cùng loại mâu thuẫn nhau.

Kết hợp structured data với nền tảng Technical SEO, canonical tagtechnical SEO audit checklist.

Câu hỏi thường gặp về Structured Data

Structured Data có trực tiếp giúp tăng thứ hạng không?

Không trực tiếp với hầu hết loại schema. Google xác nhận structured data không phải ranking factor trực tiếp — ngoại lệ là một số loại schema nhất định có thể ảnh hưởng nhỏ. Tuy nhiên, rich results tăng CTR đáng kể — FAQ schema có thể tăng CTR 20–30% vì chiếm nhiều không gian hơn trên SERP. CTR cao → tín hiệu tích cực gián tiếp → cải thiện thứ hạng theo thời gian. Ngoài ra, structured data giúp Google hiểu nội dung chính xác hơn → tăng relevance cho nhiều truy vấn liên quan.

Có thể đặt schema cho trang không tương ứng — ví dụ review schema cho trang không có review?

Không được phép và sẽ bị Google penalize. Google có chính sách rõ ràng: structured data phải phản ánh chính xác nội dung trang. Spam schema (thêm rating, review giả, FAQ không thực sự trên trang) vi phạm Structured Data Policies và có thể dẫn đến manual action. Google ngày càng giỏi phát hiện schema không match nội dung. Nguyên tắc đơn giản: chỉ thêm schema cho thứ thực sự hiển thị trên trang đó.

Plugin WordPress nào xử lý schema tốt nhất?

Rank Math là lựa chọn hàng đầu với schema capabilities toàn diện nhất trong số các plugin miễn phí: tự động thêm Article, BlogPosting, BreadcrumbList; hỗ trợ FAQ schema trực tiếp từ Gutenberg editor; tích hợp với WooCommerce cho Product schema. Yoast SEO cũng tốt với tính năng Schema graph (đồ thị schema) tự động kết nối các entities. Schema Pro là plugin chuyên schema có nhiều loại nhất nhưng trả phí. Với website phức tạp hoặc cần custom schema, code JSON-LD tay vào functions.php vẫn linh hoạt nhất.

Có nên implement tất cả loại schema có thể không?

Không. Chỉ implement schema phù hợp với nội dung thực tế của trang. Thêm nhiều schema không liên quan không mang lại lợi ích và có thể gây confusion cho Google. Ưu tiên theo tác động: FAQPage (gần như mọi trang đều có thể dùng), BreadcrumbList (toàn site), Article/BlogPosting (trang blog), LocalBusiness (doanh nghiệp địa phương), Product (e-commerce), HowTo/Recipe (khi phù hợp). Kiểm tra Rich Results Test sau mỗi loại schema để confirm Google có thể tạo rich result hay không.