Schema Markup Audit: How to Check Every Page on Your Site

Last Updated: February 25, 2026 · 15 min read

Schema markup does not stay correct on its own. Plugin updates break it. Theme changes remove it. New page templates go live without any schema at all. A product you discontinued still has AggregateRating for reviews that no longer exist. Over time, the structured data on most sites drifts from "mostly correct" to "partially broken" without anyone noticing — until rich results start disappearing from Google Search Console.

A schema audit finds these problems before Google flags them. This guide walks through the full process: how to crawl your site for structured data, how to extract and validate what you find, what to look for, how to prioritise fixes, and how to set up monitoring so you catch issues early.

1. When to Run a Schema Audit

📌 After a plugin or CMS update

Yoast, RankMath, and schema plugins all update frequently. Major version changes sometimes alter or break schema output.

📌 After a theme change or redesign

Themes often include their own schema. Switching themes can instantly change or remove the structured data on thousands of pages.

📌 After adding new content types

If you launched a new product category, blog section, or service page, those pages may have no schema at all.

📌 When rich results drop in GSC

If you lose rich results suddenly, a schema audit is the fastest way to find what changed.

📌 Every 3–6 months as routine

Even without changes, schema can drift. Regular audits catch slow-building problems before they affect search results.

📌 Before and after a migration

Moving from HTTP to HTTPS, changing domain, or switching CMS all carry schema risks. Audit before and after.

2. The 5-Stage Audit Process

Stage 1 — Start with Google Search Console

Before crawling anything yourself, check what Google is already telling you. Go to GSC → Enhancements. This section shows a report for every structured data type Google has detected across your entire site, broken down by:

  • ValidPages where the schema type was detected, validated, and is eligible for a rich result.
  • Valid with warningValidated but missing recommended (not required) properties. Still eligible but not as rich.
  • ErrorSchema that fails validation — missing required properties, wrong data types, or policy violations. These pages are NOT eligible for rich results.

Start here because it tells you which schema type is causing the most errors across your live site. Click on any error count to see example URLs. These are your highest-priority fixes — live pages where rich results are actively being blocked.

Stage 2 — Crawl your site for structured data coverage

GSC tells you about pages Google has already crawled. To find pages that Google has not crawled yet or pages with missing schema, you need to crawl your own site. The most practical tool for this is Screaming Frog SEO Spider (free for up to 500 URLs, paid for larger sites).

To extract structured data using Screaming Frog:

  1. 1

    Open Screaming Frog → Configuration → Spider → Extraction → Custom Extraction

  2. 2

    Add a new custom extraction with type "CSS Path" and value script[type="application/ld+json"]

  3. 3

    Run the crawl on your site

  4. 4

    After crawling, go to the Custom Extraction tab — you will see a column showing the JSON-LD content found on each URL

  5. 5

    Export this data to a spreadsheet for analysis

The export will show you every URL with the raw JSON-LD content found on each one. Rows with empty JSON-LD extraction mean those pages have no structured data at all. Filter for key page types (products, blog posts, category pages) and look for gaps.

Stage 3 — Validate a sample from each template type

Once you have your crawl data, do not try to validate every URL manually — validate one representative URL from each template type. If your site has a product page template, blog post template, category page template, and homepage template, validate one of each. Errors on a template affect every page using that template.

# What to validate for each template type:

PRODUCT PAGES:
- schema type = Product? ✓
- offers block present with price + priceCurrency? ✓
- availability field set (InStock/OutOfStock)? ✓
- AggregateRating only if page has real reviews? ✓
- No commas in price value? ✓

BLOG POST PAGES:
- schema type = Article? ✓
- headline matches H1? ✓
- datePublished format is ISO 8601 (YYYY-MM-DDTHH:MM:SSZ)? ✓
- author.name not empty? ✓
- publisher.logo URL resolves to a real image? ✓

ALL PAGES:
- BreadcrumbList present? ✓
- First item is the homepage? ✓
- Position numbers start at 1 and are sequential? ✓

Stage 4 — Categorise and prioritise issues

Not all schema issues have the same impact. Use this priority order to decide what to fix first:

P1 — Fix immediately

Issues: Missing required properties on product or article schema. Missing offers block on product pages. AggregateRating with fabricated numbers. Schema that contradicts visible page content (price mismatch, wrong title).

Impact: Blocks rich results entirely. Can cause manual actions from Google.

P2 — Fix this sprint

Issues: Missing BreadcrumbList on major page types. Article schema missing author name. Wrong @type applied (Product markup on blog posts).

Impact: Reduces rich result eligibility. Weakens entity signals.

P3 — Fix when convenient

Issues: Missing recommended properties (image, description, brand). Using http:// instead of https:// in @context. Old dateModified not updated when content was edited.

Impact: Reduces how rich the result is. Does not block eligibility.

P4 — Track but low urgency

Issues: Schema present but for pages with no indexing. Schema on 404 pages. Duplicate schema blocks with identical content.

Impact: Wasted markup but not harmful if Google deduplicates correctly.

Stage 5 — Set up ongoing monitoring

A one-time audit is a snapshot. To stay on top of schema quality you need recurring checks:

GSC Enhancements weekly check

Every Monday, check GSC → Enhancements for any new errors. A spike in errors almost always points to a recent code or plugin change.

Monthly spot-check crawl

Run Screaming Frog on a sample of key pages monthly. Compare schema coverage now vs last month. Are new product pages actually getting schema?

Post-deploy validation in CI

If you deploy frequently, add a step that fetches key page templates and validates their schema. Fail the deploy if required properties are missing. Tools: Puppeteer or Playwright to fetch page HTML, custom JSON-LD extraction, schema validation against expected schema.org rules.

GSC Enhancements email alerts

In Google Search Console → Settings → Email Preferences, enable notifications for any drops in indexed enhancements. This gives you near-real-time alerts if a problem causes rich results to collapse.

3. Common Findings in Schema Audits

FindingHow commonFix
Product page schema with no availability fieldVery commonAdd offers.availability using real stock status
AggregateRating with ratingCount: 0CommonOnly output AggregateRating when reviewCount > 0
Author schema shows "admin" as nameCommon on WordPressUpdate user display name in WordPress Users settings
BreadcrumbList missing from category pagesCommonAdd BreadcrumbList to category/archive template
Product pages with no schema at allCommon on new pagesEnsure template includes schema before launch
Dates in wrong format (2026/02/25 instead of ISO)OccasionalUse ISO 8601: 2026-02-25T00:00:00Z
Schema using http:// in @contextCommon legacy sitesChange to https://schema.org

4. Frequently Asked Questions

How often should I audit my schema markup?

Run a full audit every 3–6 months as routine, and immediately after any significant change: WordPress/plugin updates, theme changes, CMS migrations, or new content type launches. Set up Google Search Console Enhancements email alerts to get notified of sudden schema error spikes between full audits.

What free tools can I use for schema auditing?

SchemaValidator.org for URL-by-URL validation. Google Search Console Enhancements for site-wide overview of errors and valid pages. Google Rich Results Test for individual URL eligibility checks. Screaming Frog (free up to 500 URLs) for crawl-based schema detection across your full site.

How do I check if my schema is causing rich results errors vs content errors?

In Google Search Console, Enhancements errors are schema/structured data errors (missing required properties, invalid types). Manual Actions and Security Issues are content policy violations. Rich result disappearance without errors in Enhancements usually indicates a content quality or policy issue rather than a schema problem.

My GSC Enhancements shows "0 valid, 0 errors" for a schema type I know I've added — why?

Google only reports schema types it has crawled. If you recently added schema and GSC shows nothing, it means Googlebot hasn't recrawled those pages yet. Request URL inspection reindexing for key pages in GSC, then check back in 1–2 weeks. For large sites, it can take 2–4 weeks for coverage reporting to catch up.

What's the most common schema audit finding?

Based on common patterns: (1) Product pages with AggregateRating when the page has no visible reviews — this is a policy violation risk. (2) BreadcrumbList missing on category pages. (3) Author schema showing "admin" or "Staff Writer" instead of a real name. (4) Dates formatted as "Month Day, Year" instead of ISO 8601.

How do I audit schema on a large site with 10,000+ pages?

Focus on templates, not individual pages. A site with 10,000 product pages using the same template needs only one template validated — fixing that template fixes all 10,000 pages. Use Screaming Frog to identify which templates have schema and which don't, then validate one representative URL from each template type.

Can duplicating schema blocks on a page cause problems?

Usually not — Google deduplicates. However, two conflicting schema blocks of the same type (e.g., two Organization schemas with different names) can cause confusion. Two identical blocks are harmless but wasteful. Use SchemaValidator.org to detect and clean up duplicates.

Should I fix schema warnings or just errors?

Fix both, but prioritise errors. Errors block rich results entirely. Warnings flag missing recommended properties — fixing them doesn't unlock eligibility but often makes the rich result richer (e.g., adding an image to an Article schema adds a thumbnail to the news result). Work through errors first, then address warnings on high-traffic pages.

Start Your Schema Audit Now

Enter any page URL for an instant report — schema types detected, errors, missing required properties, and rich result eligibility.

Audit Schema Now →