Table of contents
- Schema Errors Are More Common Than You Think
- Three Structured Data Testing Tools You Need to Know
- Top 10 Common Schema Errors and How to Fix Them
- Sample Correct FAQPage JSON-LD
- Walkthrough: Testing Schema with Rich Results Test
- Common Errors by Schema Type
- 5-Step Debug Workflow When Schema Isn't Working
- Search Console Monitoring Workflow
- Pre-Deployment Checklist for New Schema
Schema Errors Are More Common Than You Think
Based on audits of hundreds of Vietnamese websites, over 70% have at least one critical schema error — an error that business owners are completely unaware of because the page looks perfectly normal in a browser.
Schema errors don't cause visible rendering problems. They silently cause Google and AI to ignore all the structured data you worked hard to implement. The result: no rich results, no AI citations, and a competitive disadvantage compared to rivals who got it right.
The good news is that these errors can be detected and fixed within a few hours — if you know the right tools and have a clear testing workflow.
Three Structured Data Testing Tools You Need to Know
| Tool | URL | Primary Purpose | When to Use |
|---|---|---|---|
| Rich Results Test | search.google.com/test/rich-results | Check whether Google recognizes and will display rich results | After deploying new schema, before submitting a sitemap |
| Schema Markup Validator | validator.schema.org | Validate correctness against the schema.org standard | When debugging type/property errors, validating complex schema |
| Google Search Console | search.google.com/search-console | Monitor schema errors site-wide, track trends | Weekly, and whenever CTR drops unexpectedly |
| JSON-LD Playground | json-ld.org/playground | Test JSON-LD syntax and context | When writing new schema or schema with complex nesting |
Each tool catches a different kind of problem — don't rely on just one. Rich Results Test can miss property errors that aren't in Google's whitelist, while Schema Markup Validator will catch them.
Top 10 Common Schema Errors and How to Fix Them
| Error | Affected Schema Type | Fix |
|---|---|---|
Missing acceptedAnswer in FAQ | FAQPage | Add acceptedAnswer with @type: Answer and text |
Missing step in HowTo | HowTo | Each step needs @type: HowToStep, name, and text |
datePublished wrong format | Article, BlogPosting | Use ISO 8601: 2026-08-09T08:00:00+07:00 |
Image missing width and height | Article, Product | Add ImageObject with width and height in pixels |
@id is not an absolute URL | All schema types | @id must be a full URL like https://domain.com/#entity |
price contains currency characters | Product, Offer | price should contain only numbers: "500000", not "500.000đ" |
Duplicate @id on the same page | Organization, Product | Each entity must have a unique @id across the entire site |
ratingValue outside allowed range | AggregateRating | ratingValue must fall between bestRating and worstRating |
author is a string instead of an object | Article, Review | Use a Person schema object with @type and name |
| Schema doesn't match page content | All schema types | Schema must describe actual content — do not declare false information |
Sample Correct FAQPage JSON-LD
Below is a complete FAQPage schema example — the type most commonly found with errors in practice:
{
"@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: Testing Schema with Rich Results Test
Step 1: Go to search.google.com/test/rich-results. Enter the URL of the page to test (preferred), or paste the HTML source code if the page isn't live yet.
Step 2: The tool processes in 10–30 seconds. Results appear in 2 main sections:
- Eligible rich results: A list of rich result types this page qualifies for — FAQ accordion, review stars, recipe card. This is your target.
- Detected structured data: All schemas Google was able to parse, including types that don't directly generate rich results.
Step 3: Click on each schema in "Detected structured data" to see details. Red errors indicate missing required fields and must be fixed immediately. Yellow warnings are missing recommended fields — worth fixing but not mandatory.
Step 4: For each red error, the tool shows the name of the missing property. Open your code editor, locate that schema, and add the missing property in the correct place.
Step 5: After fixing, click "Test" again directly on the Rich Results Test page with the new code — no need to deploy to a live site to test first.
Common Errors by Schema Type
| Schema Type | Most Common Error | Consequence If Not Fixed |
|---|---|---|
| FAQPage | Missing acceptedAnswer, empty text | No FAQ accordion on Google |
| HowTo | Missing step, using steps instead of step | No HowTo rich result |
| Article | datePublished wrong format, image missing height | Article not indexed correctly by Google News |
| Product | price contains currency characters, missing availability | No product rich result with price |
| LocalBusiness | address is a string instead of a PostalAddress object | Google Maps cannot parse the address correctly |
| BreadcrumbList | position starts from 0 instead of 1 | Breadcrumb doesn't appear in SERP |
| VideoObject | Missing thumbnailUrl or uploadDate | Video doesn't appear in video carousel |
5-Step Debug Workflow When Schema Isn't Working
Step 1 — Check JSON syntax: Open DevTools (F12) → Console and run:
JSON.parse(
document.querySelector('script[type="application/ld+json"]').textContent
)
If the Console reports an error, your schema has a syntax error. Use jsonlint.com to pinpoint the exact error line — it's usually a trailing comma after the last item, or an unclosed quote.
Step 2 — Validate with Rich Results Test: Check whether Google recognizes the schema and what errors it reports.
Step 3 — Validate with Schema Markup Validator: Check for property/type errors that Rich Results Test doesn't catch.
Step 4 — Check page indexing: Enter site:domain.com/page-path into Google. If the page isn't indexed, even correct schema will have no effect — you need to wait for Google to crawl it.
Step 5 — Wait and request reprocessing: After fixing, go to Google Search Console → URL Inspection → Request Indexing. Rich result changes can take 1–4 weeks to appear.
Search Console Monitoring Workflow
Schedule a weekly Search Console review, focusing on the Enhancements tab (or Rich Results). This dashboard shows:
- Number of pages with schema errors by type (FAQ, HowTo, Article, Product, etc.)
- Error trends increasing or decreasing over time
- Specific error names and the number of affected URLs
When the error count spikes within a single week, there are usually 2 causes: a new code deployment that broke the schema template, or a Google update to the requirements for that rich result type. Check the Search Console notifications tab to see whether Google sent any messages.
Set up email alerts in Search Console to be notified immediately when a new issue arises — don't let errors silently persist for weeks before you notice them.
Pre-Deployment Checklist for New Schema
- Validate JSON syntax with
jsonlint.comor DevTools Console - Test with Rich Results Test on a staging URL or by pasting HTML
- Validate with Schema Markup Validator at
validator.schema.org - Confirm all
@idvalues are absolute URLs and unique across the site - Confirm
datePublishedanddateModifiedfollow ISO 8601 format - Confirm images include
widthandheight(minimum 1200px wide) - Confirm NAP is consistent with Google Business Profile (for LocalBusiness schema)
- Confirm schema accurately describes actual page content — do not declare information that isn't on the page
- After deploying → Request Indexing in Google Search Console
- Monitor Search Console 2–4 weeks after deployment to confirm rich results appear
Frequently asked questions
Which tools should I use to test structured data?
3 primary tools in order of priority: (1) Rich Results Test (search.google.com/test/rich-results) — checks whether Google recognizes your schema and qualifies it for Rich Results; (2) Schema Markup Validator (validator.schema.org) — validates schema against the schema.org standard, detecting type and property errors; (3) Google Search Console > Enhancements — shows schema errors across the entire site and lets you submit a reprocessing request. Use all three because each tool catches different kinds of errors.
What are the most common schema errors and how do I fix them?
Top 5 errors: (1) Missing required field — lacking a mandatory property (FAQ requires name and acceptedAnswer; HowTo requires name and step). Fix: add the missing field; (2) Wrong @type — using an incorrect subtype. Fix: switch to the correct @type; (3) Image wrong dimensions — Google requires images at least 1200px wide with a 16:9 ratio. Fix: add an ImageObject with width and height; (4) datePublished in wrong format — must use ISO 8601. Fix: change to '2026-08-09T08:00:00+07:00'; (5) Duplicate @id — two schemas sharing the same @id. Fix: assign a unique @id to each entity.
The schema is valid but there's still no Rich Result — why?
5 reasons: (1) Page not yet indexed — schema has no value if the page isn't indexed; (2) Content doesn't match the schema — a FAQ schema on a page that is mainly a product listing; schema must describe real content; (3) Policy violation — schema advertising fake reviews or nonexistent discounts; (4) Low-quality page — Google doesn't display Rich Results for low-quality pages; (5) Takes time — after fixing, it can take 2–4 weeks for Google to reprocess.
Do I need to validate schema for every blog post?
Not if you're using a consistent template. An efficient workflow: validate once when you first implement schema for a template, then use Google Search Console to monitor for new errors. Only validate manually when: adding a new schema type, changing the template, or when Search Console reports a spike in errors.
AEO Saigon
An Answer Engine Optimization agency in Ho Chi Minh City — helping business websites get cited by AI. About AEO Saigon →
Want your website to be cited by AI like this?
Free Audit