Site Audit Tool for SEO: What to Check Beyond Broken Links
Most site audit tools focus on crawl errors and broken links. Here's the full checklist a site audit tool for SEO should actually cover, including the metadata and social-preview checks most tools skip.
August 16, 20266 min read
Ask most people what a site audit tool for SEO checks and the answer is broken links, 404s, and maybe page speed. Those are real problems and worth catching, but they're also the easiest category of problem to find — a link either resolves or it doesn't, which is why nearly every audit tool on the market checks it first. The harder, more consequential category is metadata: whether every page has a title, a description, an og:image, the right dimensions on that image, alt text on the visible images, and a twitter:card tag. A broken link is annoying. A missing og:image on your highest-traffic page means every share of that page for however long it's been broken looked wrong to everyone who saw it — and unlike a 404, nothing about that failure is visible unless someone specifically shares the link and checks.
Why broken-link audits became the default
Link-checking is where most site audit tooling started, and it stuck around as the default because it's cheap to build and easy to explain: follow every link, note which ones don't resolve, report the list. It maps neatly onto a mental model of 'is my site technically working.' But a site can pass every link check and still have systemic metadata problems that never show up in that report, because a page returning a 200 status code tells you nothing about whether it has a meta description, whether its og:image resolves to an actual file, or whether its title tag is a generic placeholder left over from a template. Those are different failure modes entirely, and a tool built to catch dead links isn't structured to catch them.
What a metadata-aware audit actually checks
A more complete site audit needs to run through a specific, mechanical checklist on every crawled page, not just confirm the page loads:
- og:title present and set to something meaningful, not a copy-pasted default or an empty string
- og:description present and unique to the page rather than boilerplate repeated across the whole site
- og:image present, resolving to a real file, and correctly dimensioned rather than upscaled, cropped unexpectedly, or too large to load quickly
- twitter:card set so previews on X degrade to the right card type instead of falling back to a bare link
- Meta description present and within a reasonable length so it doesn't get truncated in search results
- Alt text present on visible images, both for accessibility and because it affects how content is understood by crawlers
None of these checks are exotic or hard to specify — they're mechanical, pass/fail conditions that a crawler can evaluate against every page it visits. What makes them valuable is coverage: running them across an entire site rather than the handful of pages someone thought to check by hand, because the pages most likely to be missing this metadata are the ones nobody remembers to look at — an old blog post, a product variant page, a docs page that survived a migration without picking up the new template's defaults.
Catching regressions, not just first-time gaps
A one-off audit tells you the current state of the site. It doesn't tell you when something that used to be fine stopped being fine. That distinction matters because most metadata problems on an established site aren't gaps that were always there — they're regressions introduced by a deploy, a CMS update, or a template change that quietly stopped inheriting the defaults every other page gets. A single audit run can't see that a page used to pass and now fails; it just sees the current failing state, with no context for when it broke or what caused it. Running audits on a recurring basis and comparing each run against the last is what turns an audit from a one-time snapshot into an actual monitoring practice — you get flagged the moment a page's og:image tag disappears or a title reverts to a placeholder, instead of discovering it months later when someone happens to share the link.
Scale changes what's realistic to check by hand
On a five-page marketing site, you could plausibly check all of this by hand every time you deploy. On a site with hundreds or thousands of pages — a content-heavy blog, a docs site, an e-commerce catalog — manual checking stops being a realistic option well before you'd want it to. The pages that most need checking on a large site are also the ones least likely to get checked manually, because they're not the pages anyone is actively working on. A crawl-based audit that respects your sitemap and robots.txt, and scales with the actual size of the site rather than requiring someone to remember which pages exist, is the only version of this that holds up as a site grows past the size where a person can hold the whole thing in their head.
What to do with the results
A long list of flagged pages is only useful if you know what to fix first. The right approach is to triage by traffic and shareability rather than working through the list in whatever order the crawler produced it — a missing og:image on a page that gets linked in newsletters or shared regularly costs real impressions every time it happens, while the same issue on a page nobody visits costs nothing today. Cross-referencing audit findings against analytics also tends to reveal the actual root cause faster, since your highest-traffic pages are usually your oldest and most heavily templated ones. Fixing the template behind them fixes every page built from it at once, instead of patching individual URLs one at a time while the underlying cause stays in place to break the next new page.
Fitting audits into a normal release cycle
A site audit tool for SEO is most useful when it's not a separate, occasional event but something that runs on the same cadence as the rest of your work. Teams that only audit once a year, or only after something visibly breaks, end up doing the same triage work repeatedly on backlogs that have grown large enough to feel overwhelming. Running audits on a regular schedule — weekly or after every significant deploy, depending on how often the site changes — keeps the backlog small and each individual finding easier to act on, since it's usually tied to a recent, identifiable change rather than an accumulation of unknown age. It also means the person fixing a flagged page has much better context: a regression found the day after a template update is obviously connected to that update, where the same regression found six months later requires reconstructing what happened from scratch.
How useopengraph handles this
Site Audits in useopengraph crawl a site's pages — the page limit depends on plan tier — checking og:title, og:description, og:image presence and dimensions, twitter:card, meta description length, and alt text on images, and flag regressions between audit runs so a page that used to pass and now fails shows up as a change, not just a current-state failure buried in a long list. It's built specifically around the metadata and social-preview checks that broken-link-focused tools tend to skip, on the theory that a page returning a 200 status code and a page that's actually ready to be shared are two very different bars to clear.
Stop paying per seat
for a usage-shaped problem.
Unlimited teammates, one usage pool. Start free with the scanner — no card required.