Schema.org
Tập hợp từ vựng mở để đánh dấu dữ liệu có cấu trúc trên web, được hỗ trợ bởi Google, Bing, Yahoo! và Yandex.
Schema.org là gì?
Schema.org là một tập hợp từ vựng mở, miễn phí, do Google, Bing, Yahoo! và Yandex cùng xây dựng và duy trì. Nó cung cấp các thẻ đánh dấu (markup) chuẩn để mô tả nội dung trang web dưới dạng dữ liệu có cấu trúc — giúp công cụ tìm kiếm hiểu rõ hơn về ý nghĩa thực sự của thông tin trên trang, chứ không chỉ đọc từng từ như văn bản thuần.
Từ vựng này bao gồm hàng trăm loại (types) như Article, Product, LocalBusiness, Event, Recipe… và hàng trăm thuộc tính (properties) đi kèm như name, price, startDate, reviewRating… Tất cả đều được định nghĩa rõ ràng tại schema.org và tuân thủ chuẩn JSON-LD, Microdata hoặc RDFa.
Tại sao quan trọng trong SEO?
Schema.org không phải là yếu tố xếp hạng trực tiếp, nhưng ảnh hưởng mạnh đến hiệu suất hiển thị và khả năng nhấp chuột (CTR) trên kết quả tìm kiếm. Khi dữ liệu có cấu trúc được triển khai đúng, công cụ tìm kiếm có thể tạo rich result — như sao đánh giá, giá sản phẩm, thời gian nấu, ngày sự kiện… — làm nổi bật kết quả của bạn giữa hàng chục đối thủ.
Theo báo cáo của Search Engine Journal (2023), trang có rich result trung bình đạt CTR cao hơn 30–50% so với kết quả tiêu chuẩn. Ngoài ra, Schema.org còn hỗ trợ: cải thiện độ chính xác khi lập chỉ mục; tăng khả năng xuất hiện trong Featured Snippet, Knowledge Panel hoặc tìm kiếm bằng giọng nói; và chuẩn bị cho các xu hướng AI như Google SGE (Search Generative Experience), nơi hệ thống cần hiểu ngữ nghĩa sâu để tổng hợp câu trả lời.
Cách hoạt động
Schema.org hoạt động bằng cách thêm mã đánh dấu vào HTML trang web. Công cụ tìm kiếm đọc phần markup này như một lớp mô tả bổ sung — giống như gắn thẻ phân loại cho từng phần nội dung. Ví dụ: đoạn văn “Bánh mì thịt – 35.000đ” sẽ chỉ là văn bản thường nếu không có markup; nhưng khi gắn thẻ "@type": "Product" và "price": "35000", máy tìm kiếm biết đây là sản phẩm có giá cụ thể, sẵn sàng hiển thị giá trong kết quả.
Google ưu tiên định dạng JSON-LD vì dễ triển khai, ít gây lỗi khi thay đổi layout, và tách biệt hoàn toàn với HTML — nên không ảnh hưởng đến giao diện hay hiệu năng trang.
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 — bài blog →
Article; cửa hàng địa phương →LocalBusiness; sản phẩm bán hàng →Product. - Chọn định dạng: Ưu tiên JSON-LD (chèn trong thẻ
<head>hoặc cuối<body>). Tránh Microdata nếu trang dùng framework phức tạp (React/Vue) vì dễ xung đột. - Tạo markup: Dùng công cụ miễn phí như schema.org, Rich Results Test hoặc Schema Markup Generator.
- Kiểm tra và triển khai: Dán mã vào Rich Results Test để xác nhận không có lỗi. Sau đó đưa vào trang — nếu dùng CMS như WordPress, có thể dùng plugin như Rank Math hoặc Yoast SEO (phiên bản cao cấp).
- Giám sát định kỳ: Theo dõi báo cáo Enhancements trong Google Search Console để phát hiện cảnh báo hoặc thay đổi trạng thái rich result.
Lỗi thường gặp
- Thiếu thuộc tính bắt buộc: Ví dụ
Productyêu cầunamevàoffers;Articleyêu cầuheadline,datePublished. Thiếu → rich result bị từ chối. - Dữ liệu không khớp nội dung trang: Ghi giá 299.000đ trong markup nhưng hiển thị 349.000đ trên giao diện → Google có thể cảnh báo “mâu thuẫn nội dung” và ngừng hiển thị rich result.
- Sử dụng nhiều Schema trùng lặp: Đặt cả JSON-LD và Microdata cho cùng một thực thể → gây nhiễu, giảm độ tin cậy.
- Định dạng sai cú pháp: Dấu phẩy thiếu, ngoặc nhọn lệch, ký tự Unicode không được escape → markup bị bỏ qua hoàn toàn.
Cách khắc phục: Luôn kiểm tra bằng Rich Results Test trước khi deploy; cập nhật markup khi thay đổi nội dung; ưu tiên một định dạng duy nhất; và chỉ thêm Schema cho nội dung thực tế, dễ thấy với người dùng.
Ví dụ thực tế
Dưới đây là đoạn JSON-LD cho một bài viết tin tức (Article) trên website Việt Nam:
{ "@context": "https://schema.org", "@type": "Article", "headline": "Cách trồng rau sạch tại nhà trong 7 ngày", "description": "Hướng dẫn chi tiết từ chọn hạt giống đến thu hoạch rau xanh không hóa chất.", "datePublished": "2024-04-12T08:30:00+07:00", "dateModified": "2024-04-15T14:22:00+07:00", "author": { "@type": "Person", "name": "Nguyễn Văn A" }, "publisher": { "@type": "Organization", "name": "Nông Nghiệp Việt", "logo": { "@type": "ImageObject", "url": "https://nongnghiepviet.vn/logo.png" } } }
Mã này giúp Google hiển thị tiêu đề, mô tả ngắn, ngày đăng và tên tác giả ngay trên kết quả tìm kiếm — tăng độ tin cậy và khả năng click.
Câu hỏi thường gặp
Schema.org có miễn phí không?
Có. Toàn bộ từ vựng, tài liệu và công cụ hỗ trợ đều miễn phí, mã nguồn mở và không yêu cầu đăng ký.
Google bắt buộc dùng Schema.org không?
Không. Google không bắt buộc, nhưng khuyến khích mạnh mẽ. Các định dạng khác như Dublin Core hay Open Graph không được hỗ trợ đầy đủ cho rich result.
Một trang có thể dùng nhiều Schema không?
Có thể — ví dụ trang giới thiệu doanh nghiệp vừa có LocalBusiness, vừa có Organization, vừa có Review. Tuy nhiên, mỗi Schema phải mô tả một thực thể riêng, không chồng chéo, và tất cả dữ liệu phải hiện hữu trên trang. Việc lạm dụng có thể bị coi là spam theo nguyên tắc “dữ liệu phải phản ánh đúng nội dung người dùng thấy”.
Bảng so sánh định dạng Schema phổ biến
| Định dạng | Ưu điểm | Nhược điểm | Phù hợp với |
|---|---|---|---|
| JSON-LD | Dễ triển khai, tách biệt HTML, hỗ trợ đầy đủ trên mọi nền tảng | Không hiển thị trực tiếp trong DOM (không ảnh hưởng tích cực đến người dùng) | Hầu hết website, đặc biệt SPA (React/Vue), CMS hiện đại |
| Microdata | Hiển thị trực tiếp trong HTML, dễ debug bằng inspect element | Dễ xung đột với JS framework, dễ sai cú pháp khi chỉnh layout | Website tĩnh, HTML thuần, team kỹ thuật chưa quen JSON |
| RDFa | Hỗ trợ đa ngôn ngữ tốt, tích hợp sâu với XML | Phức tạp, ít được hỗ trợ bởi công cụ kiểm tra, ít phổ biến tại Việt Nam | Dự án chính phủ, thư viện số, hệ thống quản lý nội dung đa ngôn ngữ |