Adding structured data is easy. Having structured data that is accurate, consistent, and complete across your site is harder. Most sites that have schema markup have it in some places and not others, implemented correctly on some pages and incorrectly on others.
An audit tells you what you actually have. That is more useful than adding more markup on top of inconsistent existing markup.
What to check first: the obvious pages
Start with the pages that matter most for machine readability: the homepage, a representative article, a representative category page, and the site's identity documents if they exist.
Homepage: Should have WebSite markup with the site name, URL, and description. If you support site search, add a SearchAction. Check that the url field matches your canonical domain exactly — including or excluding www, consistently.
Articles: Should have Article or BlogPosting markup with headline, author, datePublished, dateModified, and description. The author should be a Person with a name field, not just a string.
Category pages: Should have BreadcrumbList markup that correctly represents the navigation hierarchy. Check that the breadcrumb positions are sequential integers starting from 1, not 0.
The consistency check
Structured data errors are often consistency failures rather than technical failures. The markup is present but wrong in a specific way: the author name is spelled differently across articles, the canonical URL in the markup does not match the actual URL, the datePublished is missing from some articles but not others.
If your content is in JSON files, the fix for consistency is upstream — correct the content record, not just the rendered markup. A JSON content record with a consistent author field and a consistent canonical_url field will produce consistent markup every time the template renders it.
The coverage check
Coverage failures are the most common audit finding. Markup is present on the homepage but missing from articles. Articles have markup but category pages do not. The main content pages are covered but the directory or resource pages are not.
Work through your content types systematically. For each type, confirm that the template generates the right markup for every page of that type — not just the ones you manually checked.
The identity layer
Beyond per-page markup, machine-readable site identity documents give AI systems and aggregators a site-level understanding that individual page markup cannot provide. An llm.txt file, a catalog.json of published content, and a manifest.json listing machine-readable endpoints are increasingly read by systems looking for authoritative sources.
If these do not exist, generate them. If they exist, check that they are accurate and up to date — a catalog that lists articles that no longer exist, or a manifest that points to broken endpoints, is worse than no catalog at all.
Priority order for fixes
Fix in this order: accuracy first (wrong information in existing markup), consistency second (the same information marked up differently in different places), coverage third (pages that are missing markup entirely), completeness fourth (present markup that is missing optional but useful fields).
Accurate, consistent markup on the most important pages is worth more than comprehensive but partially incorrect markup across all pages.