Mục lục bài viết
- Schema sai phổ biến hơn bạn nghĩ
- Ba công cụ kiểm tra structured data cần biết
- Top 10 lỗi schema phổ biến và cách fix
- Ví dụ JSON-LD FAQPage đúng chuẩn
- Walkthrough: Kiểm tra schema với Rich Results Test
- Lỗi thường gặp theo từng loại schema
- Quy trình debug 5 bước khi schema không hoạt động
- Search Console monitoring workflow
- Checklist trước khi deploy schema mới
Schema sai phổ biến hơn bạn nghĩ
Qua kiểm tra hàng trăm website Việt Nam, hơn 70% có ít nhất một lỗi schema nghiêm trọng — lỗi mà chủ website hoàn toàn không biết đến vì trang trông bình thường trên trình duyệt của người dùng.
Schema sai không gây ra lỗi hiển thị. Nó âm thầm khiến Google và AI bỏ qua toàn bộ dữ liệu cấu trúc mà bạn dày công khai báo. Kết quả: không có rich results, không được AI trích dẫn, mất lợi thế cạnh tranh so với đối thủ đã làm đúng.
Tin tốt là các lỗi này đều có thể phát hiện và sửa được trong vài giờ — nếu bạn biết dùng đúng công cụ và có quy trình kiểm tra rõ ràng.
Ba công cụ kiểm tra structured data cần biết
| Công cụ | Link truy cập | Mục đích chính | Khi nào dùng |
|---|---|---|---|
| Rich Results Test | search.google.com/test/rich-results | Kiểm tra Google có nhận diện và hiển thị rich result không | Sau khi deploy schema mới, trước khi submit sitemap |
| Schema Markup Validator | validator.schema.org | Kiểm tra tính hợp lệ theo chuẩn schema.org | Khi debug lỗi type/property, validate schema phức tạp |
| Google Search Console | search.google.com/search-console | Monitor lỗi schema toàn site, theo dõi xu hướng | Hàng tuần, và khi CTR giảm bất thường |
| JSON-LD Playground | json-ld.org/playground | Test JSON-LD syntax và context | Khi viết schema mới hoặc schema có nesting phức tạp |
Mỗi công cụ phát hiện một loại vấn đề khác nhau — đừng chỉ dùng một. Rich Results Test có thể bỏ qua lỗi property không nằm trong whitelist của Google, trong khi Schema Markup Validator lại phát hiện được.
Top 10 lỗi schema phổ biến và cách fix
| Lỗi | Loại schema bị ảnh hưởng | Cách fix |
|---|---|---|
Thiếu acceptedAnswer trong FAQ | FAQPage | Thêm acceptedAnswer với @type: Answer và text |
Thiếu step trong HowTo | HowTo | Mỗi step cần @type: HowToStep, name và text |
datePublished sai format | Article, BlogPosting | Dùng ISO 8601: 2026-08-09T08:00:00+07:00 |
Ảnh thiếu width và height | Article, Product | Thêm ImageObject với width và height pixel |
@id không phải URL tuyệt đối | Tất cả schema | @id phải là URL đầy đủ dạng https://domain.com/#entity |
price chứa ký tự tiền tệ | Product, Offer | price chỉ chứa số: "500000", không phải "500.000đ" |
Duplicate @id trong cùng page | Organization, Product | Mỗi entity có @id unique trên toàn site |
ratingValue ngoài khoảng cho phép | AggregateRating | ratingValue phải nằm trong khoảng bestRating và worstRating |
author là string thay vì object | Article, Review | Dùng Person schema object với @type và name |
| Schema không khớp với nội dung page | Tất cả | Schema phải mô tả nội dung thật, không được khai báo giả |
Ví dụ JSON-LD FAQPage đúng chuẩn
Dưới đây là ví dụ FAQPage schema hoàn chỉnh — dạng schema hay có lỗi nhất trong thực tế:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Schema markup là gì và tại sao quan trọng với AEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup là đoạn code JSON-LD giúp search engine và AI hiểu ngữ nghĩa nội dung website. Khi khai báo đúng, nội dung được hiển thị dưới dạng Rich Results trên Google và được AI trích dẫn chính xác hơn khi trả lời câu hỏi người dùng. Đây là nền tảng của AEO."
}
},
{
"@type": "Question",
"name": "Khai báo schema ở đâu trong website Next.js?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Khai báo trong thẻ script với type='application/ld+json' trong phần head hoặc body của trang. Với Next.js App Router, đặt trong component Script của next/script hoặc trực tiếp trong layout.tsx. JSON-LD dễ bảo trì hơn microdata hoặc RDFa nên được khuyến nghị dùng."
}
}
]
}
Walkthrough: Kiểm tra schema với Rich Results Test
Bước 1: Truy cập search.google.com/test/rich-results. Nhập URL trang cần kiểm tra (ưu tiên) hoặc paste HTML source code nếu trang chưa live.
Bước 2: Tool xử lý trong 10-30 giây. Kết quả hiển thị 2 vùng chính:
- Eligible rich results: Danh sách loại rich result trang này đủ điều kiện — FAQ accordion, review stars, recipe card. Đây là mục tiêu cần đạt.
- Detected structured data: Tất cả schema được Google parse, kể cả loại không tạo rich result trực tiếp.
Bước 3: Click vào từng schema trong "Detected structured data" để xem chi tiết. Lỗi màu đỏ là required field bị thiếu và phải fix ngay. Cảnh báo màu vàng là recommended field bị thiếu — nên fix nhưng không bắt buộc.
Bước 4: Với mỗi lỗi đỏ, tool hiển thị tên property bị thiếu. Mở code editor, tìm schema đó và thêm property còn thiếu vào đúng vị trí.
Bước 5: Sau khi fix, nhấn "Test" lại ngay trên trang Rich Results Test với code mới — không cần deploy lên live site để test trước.
Lỗi thường gặp theo từng loại schema
| Loại Schema | Lỗi phổ biến nhất | Hậu quả nếu không sửa |
|---|---|---|
| FAQPage | Thiếu acceptedAnswer, text để trống | Không có FAQ accordion trên Google |
| HowTo | Thiếu step, dùng steps thay vì step | Không có HowTo rich result |
| Article | datePublished sai format, ảnh thiếu height | Article không được Google News index đúng |
| Product | price có ký tự tiền tệ, thiếu availability | Không có product rich result với giá |
| LocalBusiness | address là string thay vì PostalAddress object | Google Maps không hiểu đúng địa chỉ |
| BreadcrumbList | position bắt đầu từ 0 thay vì 1 | Breadcrumb không hiển thị trên SERP |
| VideoObject | Thiếu thumbnailUrl hoặc uploadDate | Video không xuất hiện trong video carousel |
Quy trình debug 5 bước khi schema không hoạt động
Bước 1 — Kiểm tra JSON syntax: Mở DevTools (F12) → Console, chạy lệnh:
JSON.parse(
document.querySelector('script[type="application/ld+json"]').textContent
)
Nếu Console báo lỗi, schema của bạn có syntax error. Dùng jsonlint.com để tìm chính xác dòng lỗi — thường là dấu phẩy thừa sau item cuối cùng, hoặc quote chưa đóng.
Bước 2 — Validate với Rich Results Test: Kiểm tra Google có nhận diện schema không và báo lỗi gì.
Bước 3 — Validate với Schema Markup Validator: Kiểm tra các lỗi property/type mà Rich Results Test không phát hiện.
Bước 4 — Kiểm tra page indexing: Gõ site:domain.com/duong-dan-trang vào Google. Nếu trang chưa index thì schema dù đúng cũng không có tác dụng — phải đợi Google crawl.
Bước 5 — Chờ và yêu cầu reprocess: Sau khi sửa, vào Google Search Console → URL Inspection → Request Indexing. Kết quả rich result có thể mất 1-4 tuần để xuất hiện.
Search Console monitoring workflow
Đặt lịch kiểm tra Search Console hàng tuần, tập trung vào tab Enhancements (hoặc Rich Results). Dashboard này hiển thị:
- Số page có lỗi schema theo từng loại (FAQ, HowTo, Article, Product...)
- Xu hướng lỗi tăng/giảm theo thời gian
- Tên lỗi cụ thể và số URL bị ảnh hưởng
Khi số lỗi tăng đột biến trong 1 tuần, thường có 2 nguyên nhân: deploy code mới làm hỏng template schema, hoặc Google cập nhật yêu cầu cho loại rich result đó. Vào phần thông báo của Search Console để xem Google có gửi message nào không.
Đặt email alert trong Search Console để nhận thông báo ngay khi có issue mới — đừng để lỗi âm thầm tồn tại hàng tuần trước khi bạn phát hiện.
Checklist trước khi deploy schema mới
- Validate JSON syntax bằng
jsonlint.comhoặc DevTools Console - Kiểm tra với Rich Results Test trên URL staging hoặc bằng HTML paste
- Validate với Schema Markup Validator tại
validator.schema.org - Xác nhận tất cả
@idlà URL tuyệt đối và unique trên toàn site - Xác nhận
datePublishedvàdateModifiedtheo format ISO 8601 - Xác nhận ảnh có
widthvàheight(tối thiểu 1200px wide) - Xác nhận NAP nhất quán với Google Business Profile (với LocalBusiness schema)
- Xác nhận schema mô tả đúng nội dung page — không khai báo thông tin không có trong page
- Deploy xong → Request Indexing trong Google Search Console
- Theo dõi Search Console sau 2-4 tuần để xác nhận rich results xuất hiện
Câu hỏi thường gặp
Dùng công cụ nào để kiểm tra structured data?
3 công cụ chính theo thứ tự ưu tiên: (1) Rich Results Test (search.google.com/test/rich-results) — kiểm tra schema được Google nhận diện và đủ điều kiện cho Rich Results; (2) Schema Markup Validator (validator.schema.org) — kiểm tra schema theo chuẩn schema.org, phát hiện lỗi type và property; (3) Google Search Console > Enhancements — hiển thị lỗi schema trên toàn site, có thể submit request reprocessing. Dùng cả 3 vì mỗi tool phát hiện lỗi khác nhau.
Lỗi schema nào phổ biến nhất và cách fix?
Top 5 lỗi: (1) Missing required field — thiếu trường bắt buộc (FAQ cần name và acceptedAnswer, HowTo cần name và step). Fix: thêm trường còn thiếu; (2) Wrong @type — dùng sai subtype. Fix: đổi đúng @type; (3) Image không đúng kích thước — Google yêu cầu ảnh rộng tối thiểu 1200px với tỷ lệ 16:9. Fix: thêm ImageObject với width/height; (4) datePublished sai format — phải dùng ISO 8601. Fix: đổi sang '2026-08-09T08:00:00+07:00'; (5) Duplicate @id — hai schema dùng cùng @id. Fix: đặt @id unique cho từng entity.
Schema hợp lệ nhưng vẫn không có Rich Result — tại sao?
5 lý do: (1) Page chưa được index — schema không có giá trị nếu page chưa index; (2) Nội dung không phù hợp với schema — FAQ schema nhưng page chủ yếu là sản phẩm, schema phải mô tả nội dung thật; (3) Policy violation — schema quảng cáo review giả hoặc discount không thật; (4) Page chất lượng thấp — Google không hiển thị Rich Results cho low-quality pages; (5) Cần thời gian — sau khi sửa có thể mất 2-4 tuần để Google reprocess.
Có cần validate schema cho mọi bài blog không?
Không cần validate từng bài nếu dùng template nhất quán. Quy trình hiệu quả: validate 1 lần khi implement schema cho template, sau đó dùng Google Search Console để monitor theo dõi lỗi mới. Chỉ cần validate thủ công khi: thêm loại schema mới, thay đổi template, hoặc Search Console báo lỗi tăng đột biến.
AEO Saigon
Agency Answer Engine Optimization tại TP. Hồ Chí Minh — giúp website doanh nghiệp được AI trích dẫn. Về AEO Saigon →
Muốn website của bạn được AI trích dẫn như vậy?
Audit miễn phí