Schema Markup
Mã JSON-LD hoặc Microdata giúp cung cấp dữ liệu có cấu trúc cho công cụ tìm kiếm hiểu rõ nội dung trang.
Schema Markup là gì?
Schema Markup (còn gọi là dữ liệu có cấu trúc) là đoạn mã được chèn vào trang web để giúp công cụ tìm kiếm — đặc biệt là Google — hiểu rõ hơn nội dung, ngữ cảnh và mối quan hệ giữa các phần tử trên trang. Đây không phải là yếu tố xếp hạng trực tiếp, nhưng là cầu nối giúp máy chủ tìm kiếm diễn giải chính xác thông tin như tên doanh nghiệp, địa chỉ, giờ mở cửa, đánh giá sao, giá sản phẩm, ngày xuất bản bài viết…
Hai định dạng phổ biến nhất là JSON-LD (được Google ưu tiên) và Microdata (gắn trực tiếp vào thẻ HTML). JSON-LD thường được đặt trong thẻ <head> hoặc cuối <body>, trong khi Microdata yêu cầu thêm thuộc tính như itemscope, itemtype, itemprop vào các thẻ hiện có.
Tại sao quan trọng trong SEO?
Schema Markup không làm tăng thứ hạng một cách tự động, nhưng nó nâng cao khả năng xuất hiện trong các kết quả tìm kiếm giàu tính năng (rich results) — như snippet mở rộng, carousel sản phẩm, hộp hỏi đáp, đánh giá sao, sự kiện sắp diễn ra… Những kết quả này thường có tỷ lệ nhấp (CTR) cao hơn từ 15–30% so với kết quả chuẩn, theo báo cáo của多家 nghiên cứu độc lập (như Search Engine Journal, Ahrefs, và dữ liệu thử nghiệm của Google năm 2023).
Ngoài ra, Schema còn hỗ trợ:
- Giảm hiểu lầm về nội dung (ví dụ: phân biệt rõ “Apple” là công ty hay loại trái cây);
- Hỗ trợ tìm kiếm bằng giọng nói và thiết bị thông minh (vì dữ liệu có cấu trúc dễ xử lý hơn);
- Cải thiện độ tin cậy của trang trong mắt Google — đặc biệt khi kết hợp với các loại Schema như
Organization,WebSite,ArticlehoặcLocalBusiness.
Cách hoạt động
Khi Googlebot thu thập trang web, nó đọc toàn bộ mã nguồn — bao gồm cả phần Schema. Nếu phát hiện dữ liệu có cấu trúc hợp lệ và phù hợp với loại nội dung (ví dụ: trang sản phẩm có Schema Product kèm offers, review), hệ thống sẽ kiểm tra tính nhất quán giữa Schema và nội dung hiển thị. Nếu khớp, Google có thể chọn hiển thị rich result tương ứng.
Lưu ý: Việc có Schema không đảm bảo rich result sẽ xuất hiện. Google còn xét đến chất lượng nội dung, trải nghiệm người dùng, độ tin cậy của trang và mục đích tìm kiếm cụ thể.
Hướng dẫn thực hiện
- Xác định loại Schema phù hợp: Dựa vào nội dung trang — ví dụ: trang blog →
Article; trang giới thiệu công ty →Organization; trang bán hàng →ProducthoặcOffer. - Sử dụng công cụ tạo Schema: Dùng schema.org để tra cứu thuộc tính bắt buộc/tùy chọn. Các công cụ hỗ trợ: Google’s Rich Results Test, Schema Markup Generator (cho người mới), hoặc plugin WordPress như Rank Math / Yoast SEO.
- Chèn mã JSON-LD: Đặt đoạn mã trong thẻ
<head>hoặc ngay trước thẻ</body>. Tránh chèn trùng lặp hoặc dùng nhiều loại Schema mâu thuẫn trên cùng một trang. - Kiểm tra và xác minh: Dùng Rich Results Test hoặc URL Inspection Tool trong Google Search Console để kiểm tra lỗi và trạng thái lập chỉ mục.
- Theo dõi hiệu quả: Sau 2–8 tuần, kiểm tra báo cáo Enhancements trong Google Search Console để xem rich result có được kích hoạt không, tỷ lệ hiển thị và CTR.
Lỗi thường gặp
| Lỗi | Dấu hiệu | Cách khắc phục |
|---|---|---|
| Mã Schema không hợp lệ (syntax error) | Rich Results Test báo “Invalid JSON” hoặc “Parse error” | Dùng trình kiểm tra JSON (như jsonlint.com); đảm bảo dấu ngoặc, dấu phẩy, dấu hai chấm đúng vị trí; tránh ký tự Unicode không hỗ trợ. |
| Thiếu thuộc tính bắt buộc | Google không hiển thị rich result dù mã không báo lỗi | Với Product: cần name, image, offers; với Article: cần headline, datePublished, author. Kiểm tra danh sách bắt buộc tại schema.org. |
| Mâu thuẫn giữa Schema và nội dung hiển thị | Google cảnh báo “Inconsistent data” trong Search Console | Cập nhật Schema cho khớp với văn bản thật trên trang — ví dụ: giá trong Schema phải giống giá hiển thị, ngày đăng phải trùng với <time> hoặc tiêu đề. |
| Chèn Schema sai vị trí hoặc trùng lặp | Nhiều bản Schema cùng loại trên một trang, hoặc chèn trong <noscript> |
Chỉ giữ một phiên bản JSON-LD hợp lệ; không chèn trong <script type="text/template"> hay khu vực bị chặn bởi robots.txt. |
Ví dụ thực tế
Dưới đây là đoạn JSON-LD Schema cho một bài viết blog (loại Article) — đã kiểm tra thành công trên Rich Results Test:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Cách tối ưu Schema Markup cho website Việt Nam",
"description": "Hướng dẫn chi tiết từ A-Z về Schema Markup: định nghĩa, lợi ích, cách triển khai và lỗi thường gặp.",
"datePublished": "2024-04-15T08:30:00+07:00",
"dateModified": "2024-04-15T08:30:00+07:00",
"author": {
"@type": "Person",
"name": "Nguyễn Văn A"
},
"publisher": {
"@type": "Organization",
"name": "Bách Khoa SEO",
"logo": {
"@type": "ImageObject",
"url": "https://bachkhoaseo.vn/logo.png"
}
},
"image": [
"https://bachkhoaseo.vn/images/schema-guide.jpg"
]
}
Lưu ý: Tất cả giá trị như datePublished, name, url phải phản ánh đúng nội dung thực tế trên trang — nếu không, Google có thể bỏ qua Schema hoặc áp dụng hình phạt nhẹ về độ tin cậy.
Câu hỏi thường gặp
Schema Markup có ảnh hưởng đến thứ hạng Google không?
Không trực tiếp. Google khẳng định Schema không phải yếu tố xếp hạng. Tuy nhiên, nó gián tiếp hỗ trợ SEO qua việc tăng CTR, cải thiện trải nghiệm tìm kiếm và củng cố tính nhất quán của dữ liệu — những yếu tố góp phần vào tín hiệu chất lượng tổng thể.
Có nên dùng cả JSON-LD và Microdata trên cùng một trang?
Không nên. Google khuyến nghị chỉ dùng một định dạng duy nhất — ưu tiên JSON-LD vì dễ triển khai, ít gây lỗi và không phụ thuộc vào cấu trúc HTML hiện có. Việc dùng song song có thể gây mâu thuẫn và khiến công cụ tìm kiếm bỏ qua cả hai.
Schema cho trang tiếng Việt có cần điều chỉnh gì đặc biệt?
Không cần thay đổi cú pháp, nhưng cần đảm bảo: (1) Dữ liệu như tên, mô tả, địa chỉ phải viết đúng tiếng Việt (có dấu, không lỗi chính tả); (2) Định dạng ngày tháng tuân theo chuẩn ISO 8601 (ví dụ: 2024-04-15); (3) URL hình ảnh và logo phải trỏ đến tài nguyên khả dụng và không bị chặn bởi robots.txt hoặc thẻ noindex. Các thuộc tính như inLanguage có thể thêm (giá trị: vi), nhưng không bắt buộc.