SEO, schema, meta tags
Fix Missing Schema Markup: Add JSON-LD Structured Data
Without schema markup, your pages are ineligible for rich results — review stars, FAQ accordions, breadcrumbs, sitelinks. Add JSON-LD per page type.
What's happening
Schema markup is structured data that describes your page's content in a machine-readable vocabulary. Schema.org is the canonical vocabulary; it defines types like Article, Product, FAQPage, HowTo, Recipe, LocalBusiness, BreadcrumbList, and dozens of others. Google parses schema and uses it to render rich results — the visual enhancements you see on the SERP beyond a plain title and snippet.
Schema can be embedded as JSON-LD (preferred), Microdata, or RDFa. Google's documentation explicitly recommends JSON-LD because it is decoupled from page markup, easier to maintain, and easier to validate. JSON-LD goes in a block, usually in.
The Google Search Console > Enhancements section shows which structured data types Google has detected on your site, with valid/warning/error counts per type. The Rich Results Test (search.google.com/test/rich-results) and Schema.org Validator (validator.schema.org) are the standard tools for live testing.
Why it matters
Rich result eligibility. Without schema, your listings appear as plain title-and-snippet only. With schema, you can earn star ratings (Product, Review), FAQ accordions (FAQPage), recipe cards (Recipe), event cards (Event), breadcrumbs (BreadcrumbList), and many more enhancements that visually dominate the SERP.
CTR uplift. Rich results with stars or FAQ snippets have measurable CTR uplift — typically 20-40% over plain listings on the same query, even without ranking position changes. The visual real estate alone draws attention.
AI Overviews and entity extraction. Modern AI search products (Google's AI Overviews, Bing Copilot, Perplexity) lean heavily on structured data to extract facts. Pages without schema are less likely to be cited in AI-generated answers.
Common causes
- Site was built without a structured data layer.
- CMS supports schema in plugins (Yoast, RankMath) but the plugin is not installed.
- Programmatic pages do not derive schema from entity data.
- JSON-LD is in HTML comments or without the application/ld+json type.
- Schema is added client-side via JavaScript, missed by some Googlebot rendering pipelines.
- Wrong schema type used for the page (Article on a product page, FAQPage on a blog post).
Detect this on your site
Run a quick scan with the Schema Validator. The tool surfaces this exact issue with the records and context needed to apply the fix below.
Open Schema ValidatorHow to fix it
- 1
Pick the right schema type
Match the page to a Schema.org type. Articles use Article, NewsArticle, or BlogPosting. Products use Product. FAQ pages use FAQPage. How-to guides use HowTo. Local business pages use LocalBusiness. Use the most specific type that fits.
- 2
Build the JSON-LD payload
Generate a JSON-LD object with @context: https://schema.org, @type matching the page, and the required + recommended properties for that type. The required set varies — Article needs headline, datePublished, author, image; Product needs name, image, offers (price, priceCurrency, availability).
- 3
Embed it in the document head
Add in. Multiple schema blocks are allowed (e.g., Article + BreadcrumbList + FAQPage on the same page) — Google reads every valid block.
- 4
Server-render the JSON-LD
Schema must be in the SSR HTML. Googlebot's renderer can pick up client-side JSON-LD now, but the signal is weaker and other crawlers (Bingbot, AI training crawlers) may not run JS at all. Always emit on the server.
- 5
Validate with Rich Results Test and Schema Validator
Run search.google.com/test/rich-results to confirm the schema is valid AND eligible for a rich result. Run validator.schema.org for a stricter syntactic check. Errors in either tool need fixing before deploy.
- 6
Monitor in Search Console Enhancements
After deployment, the Enhancements section in Search Console (Articles, Products, FAQs, Breadcrumbs) populates over the next 1-2 weeks. Monitor for valid/warning/error counts and fix patterns of issues immediately.
Example
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Best Espresso Machines Under $500",
"datePublished": "2026-04-29",
"dateModified": "2026-04-29",
"author": {
"@type": "Person",
"name": "Jane Doe"
},
"publisher": {
"@type": "Organization",
"name": "Brewbar",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"image": "https://example.com/og/espresso-roundup.png"
}Article schema with required fields for rich result eligibility
Frequently asked
Schema is not a direct ranking factor per Google. It does make pages eligible for rich results which improve CTR significantly and it helps entity extraction for AI-driven results. Indirectly it has measurable SEO impact.
JSON-LD. Google explicitly recommends it because it is decoupled from page markup easier to validate and easier to maintain. Microdata and RDFa still work but are no longer the preferred format.
Yes. Article + BreadcrumbList + FAQPage on the same page is common and valid. Each goes in its own block or you can combine them in a single block as an array.
Related fixes
SEO, schema, meta tags
Fix Invalid Schema Markup: Resolve JSON-LD Parsing Errors
SEO, schema, meta tags
Fix Schema Missing Required Property: Add Headline, Image, Offers
SEO, schema, meta tags
Fix Missing Meta Description: Write One Per Indexable Page
SEO, schema, meta tags
Fix Missing Title Tag: Add a Unique Title to Every Page