DEV Community

Kessy Stalford for SEOSage

Posted on

Schema Markup: How to Audit It Before Google Ignores It

I work at SEOSage, which builds desktop SEO audit software. The steps below work with any crawler.

Schema does not buy you rankings. It buys you eligibility.

Structured data is not a ranking factor. It is a ticket to rich results — the review stars, prices, FAQ panels, and breadcrumbs that make your listing bigger on the search page. Most sites I audit have one of two problems: no schema where it obviously fits, or schema that is broken, misleading, or applied to pages where it can never win anything. Both waste the effort that went into writing it.

The audit: inventory first

  1. Crawl and inventory every schema type. Extract all JSON-LD (and microdata) across the site: which pages carry schema, which types, which properties. You will usually find three things: templates that never got schema, templates with schema nobody maintains, and copy-pasted blocks from a plugin that do not match the page.
  2. Check type-to-page fit. Each page should carry the schema that matches what it is — Article for posts, Product for product pages, LocalBusiness for the location page, BreadcrumbList everywhere relevant. A Product schema on a blog post, or FAQ schema on a page Google no longer shows FAQ rich results for, is effort spent in the wrong place.
  3. Validate every type. Run representative URLs through Google's Rich Results Test. Fix invalid properties, missing required fields, and warnings on pages that matter. Warnings on low-traffic pages can wait — errors on the pages that earn cannot.
  4. Match schema to content. The markup must describe what the page actually shows. Ratings with no visible reviews, prices that do not match the checkout, dates that expired years ago — this is how schema stops being eligible for rich results and starts looking like spam.

The common failures

  • Stale schema: sale prices from two years ago, events that already happened, reviews from a retired product. Schema rots faster than content.
  • Plugin duplication: two plugins injecting conflicting blocks on the same page. One source of truth per page type.
  • Invisible markup: FAQ schema answering questions that do not appear on the page, aggregate ratings with no reviews shown. Google treats this as misleading.
  • Wrong bets: schema types for rich results that no longer exist or never applied to the niche. Check what rich results your vertical actually gets before writing markup for them.

Prioritise by traffic

Same habit as every audit: fix the pages that earn first. I overlay GA traffic on the crawl in SEOSage so the schema work lands on templates that already bring visitors — the product pages with stars missing, the articles with breadcrumbs absent. A perfect FAQ block on a page nobody visits is the last item on the list, not the first.

The maintenance rule

Schema needs a review whenever content changes: new prices, new products, new posts, retired offers. Add schema to the publishing checklist — before a page goes live, the markup should be written, validated, and matched to what the page shows. And re-run the inventory after every template or plugin change; that is when duplicate blocks and stale markup sneak back in.


Disclosure: I work at SEOSage, a desktop SEO audit tool. These steps work with any crawler you already use. Which page on your site most obviously deserves schema it does not have?

Top comments (0)