GUIDE

Metadata Audit Tool: Finding Every Page With a Missing or Broken Tag

A metadata audit tool's job is finding the pages you didn't know were broken — not confirming the ones you already checked are fine. Here's what to look for in one and how the findings should be prioritized.

August 16, 20266 min read

The value of a metadata audit tool isn't confirming what you already suspect. It's finding the pages you had no reason to suspect at all — the ones outside anyone's mental model of 'the site,' created by a script, a plugin, or a content type nobody's actively thinking about. A metadata audit tool that only validates the pages you point it at is really just a slightly automated version of spot-checking. The actual job is discovering the full set of pages that exist, crawling all of them, and reporting which ones have a missing or broken title, description, og:image, canonical, or alt text — including, especially, the ones nobody remembered were there.

Why missing and broken tags are hard to notice

A missing og:image doesn't throw an error. A page with no meta description still returns a 200 status code and renders fine in a browser. None of the failure modes a metadata audit tool is built to catch announce themselves the way a broken link or a server error does — they're silent by nature, which is exactly why they need a tool that actively looks for them rather than waiting for something to visibly break. The only moment these problems become visible without a dedicated check is when a human happens to share the link and notices the preview looks wrong, or when someone manually opens page source and happens to look for the right thing. Both of those are unreliable ways to find a systemic problem, because they depend entirely on someone paying attention to a page that, by definition, nobody was paying attention to in the first place.

What causes the gaps in the first place

Metadata gaps rarely come from someone deciding not to bother. They come from structural changes that didn't get fully wired through:

  • A new content type — a resource library, a job board, a landing page builder — launches without being connected to the metadata layer the rest of the site uses
  • A CMS template update changes how the default title or description is generated, and pages created before the change never get backfilled with the new logic
  • A platform migration drops canonical tags or og:image references that pointed at an old asset host that no longer exists
  • An import script bulk-creates pages — product listings, directory entries — using a bare-bones template that skips metadata fields the manually-created pages always had
  • A CDN or asset host change breaks image URLs that were previously valid, turning a working og:image into a silent 404

None of these are the result of carelessness on a single page. They're systemic, which means the pages they affect tend to cluster — an entire content type, an entire batch from a specific migration date, every page built from a specific template. A metadata audit tool that reports findings per-page without any way to see the pattern behind them makes you rediscover the systemic cause manually, page by page, instead of surfacing it directly.

Discovery matters as much as checking

A tool that only validates a list of URLs you already supply is only as good as that list. If you build the list from a sitemap, you inherit whatever's missing from the sitemap. If you build it from memory, you inherit every blind spot in your own mental model of the site. A metadata audit tool needs a real discovery step — crawling from the site's actual link graph, following internal links the way a search engine crawler would, respecting robots.txt so deliberately excluded pages don't get flagged as false positives — rather than trusting a pre-existing list to be complete. The pages most likely to have broken metadata are exactly the pages most likely to be missing from an incomplete list, which is a bad combination if the tool's coverage depends on that list being right.

Reading the results without getting overwhelmed

A metadata audit on a site of any real size will come back with more findings than you can fix in an afternoon, and treating every finding as equally urgent is a fast way to burn out on the list without making real progress. The useful next step is to sort findings by two axes at once: how much traffic or share volume the affected page actually gets, and whether the finding is isolated to one page or part of a pattern affecting a whole template or content type. A missing og:image on your top landing page, or a broken canonical affecting every page generated by one template, deserves attention before a stale meta description on a page nobody visits. Fixing template-level problems first also tends to clear the largest number of individual findings per fix, since one template change can resolve the same issue across every page built from it.

One audit isn't the end of the job

Fixing everything a single audit finds gets you to a clean state as of that moment — it doesn't keep you there. The same causes that created the original gaps — template changes, new content types, migrations — keep happening as a site evolves, which means new gaps keep opening even after the last batch got fixed. Treating a metadata audit as a recurring check rather than a one-time cleanup is what actually prevents the same class of problem from quietly reappearing months later on a fresh batch of pages, invisible again until the next audit or the next accidental discovery.

Who actually needs to see the findings

A metadata audit tool's output is only useful if it reaches someone who can act on it, and on larger teams that's rarely the same person who requested the audit in the first place. A missing og:image traced back to a specific template is a fix for whoever owns that template, not necessarily whoever ran the audit — and a finding that sits in a report nobody with edit access ever sees is functionally the same as never having run the audit at all. Routing findings by the content type or template they trace back to, rather than treating the output as one undifferentiated list for one person to work through alone, is what actually gets fixes shipped rather than just documented. This matters more the larger and more departmentalized the team gets, since a marketing team publishing blog content and an engineering team maintaining product pages are unlikely to be the same audience for the same report.

This is also where agencies and teams managing several sites at once tend to run into friction that a single-site audit tool doesn't anticipate. Findings from a client's e-commerce catalog and findings from an internal marketing site have different owners, different urgency, and often different people who need to see them at all — a workspace structure that keeps each site's audit results separate, rather than merging everything into one undifferentiated feed, is what makes it realistic to route the right findings to the right person without extra manual sorting on top of the audit itself.

How useopengraph handles this

Site Audits in useopengraph crawl a site's pages — respecting robots.txt and scaling from a handful of pages up to a large catalog depending on plan tier — checking og:title, og:description, og:image presence and dimensions, twitter:card, meta description length, and image alt text, and comparing each run against the last to flag regressions rather than just reporting a static current-state list. The crawl-based discovery means pages outside your mental model of the site still get checked, and the run-over-run comparison means a page that used to pass and silently started failing gets surfaced as a specific, dated change instead of disappearing into a long undifferentiated list of problems.

Stop paying per seat
for a usage-shaped problem.

Unlimited teammates, one usage pool. Start free with the scanner — no card required.