Website Systems

How to Read a Website SEO Audit

An audit produces a list. The useful skill is knowing which findings block everything else, which are worth fixing this month, and which are noise dressed up as a score.

SEO auditIndexabilityPrioritisationStructured dataDiagnostics

Every SEO audit tool returns more findings than anyone will act on. The score at the top is the least useful thing on the page, because it averages problems that are not comparable: a page blocked from indexing and a missing image alt attribute do not belong in the same number.

What follows is the order the findings are actually worth reading in, and what each group can and cannot tell you.

01

Layer 01

Indexability decides whether anything else counts.

Read the crawl and indexing findings before you read the score. A noindex tag, a blocking robots rule, a canonical pointing somewhere else or a redirect chain will each remove the page from search regardless of how well everything below them is done.

These are also the findings most often introduced by accident: a staging noindex that shipped, a Disallow added during a migration, a canonical hard-coded to the homepage by a template. They are cheap to fix and they invalidate everything else while they are wrong.

  • The page returns 200, not a redirect or an error.
  • No noindex, in the meta tag or the X-Robots-Tag header.
  • robots.txt does not block the page, its CSS or its JavaScript.
  • The canonical points at this page, not a parent or the homepage.
  • It is reachable from somewhere — an orphan page is discovered slowly, if at all.
02

Layer 02

Separate what was observed from what was inferred.

An audit reads a page's public HTML, headers and a bounded set of related resources. It can state with confidence that a title exists, that it is 74 characters, that there are two H1 elements, or that a JSON-LD block failed to parse. Those are observations.

It cannot judge whether the title matches what people search for, whether the content is worth citing, or whether a heading structure makes sense to a reader. Tools that score those anyway are scoring a heuristic and presenting it as a measurement.

When you read a report, sort each finding into one of the two piles. The observations are facts you can act on immediately. The inferences are prompts for a human decision, and disagreeing with them is often correct.

The first three can be verified from the page source. The last two are opinions with a confidence score attached.
FindingWhat it isHow to treat it
Two H1 elements on the pageObservationFix — one of them is almost always a template artefact
Meta description is 210 charactersObservationFix — the end is truncated in results
JSON-LD failed to parseObservationFix — an unparseable block is ignored entirely, silently
Title could be more compellingInferenceJudgement — check the query it targets, then decide
Content is thinInferenceJudgement — length is a symptom, not the problem
03

Layer 03

Technical findings are finite. Content findings are not.

Technical issues have an end state. A canonical is either correct or it is not; a certificate is either valid or expired; structured data either parses or it does not. You can finish them, and a re-run of the same audit will prove it.

Content quality has no end state and no tool can confirm it. This is not a reason to ignore it — it is the part that decides whether the technical work pays off — but it does mean the two need different handling. Ship the technical fixes in a batch, then treat content as ongoing editorial work rather than a queue to clear.

A practical split: everything the audit observed goes into the next release; everything it inferred goes into a content plan with a person's name against it.

04

Layer 04

A prioritisation order that survives contact with a real backlog.

Most audits offer a severity label. Severity alone is a poor sort order, because a critical finding that takes a quarter to fix should not block three warnings that take an afternoon.

Sort by whether the finding blocks discovery first, then by effort. That order gets the site into a state where the remaining work is measurable, which is the point of doing an audit at all.

  • First: anything preventing indexing or crawling. Nothing else matters until these are clear.
  • Second: anything that misrepresents the page — a wrong canonical, a duplicate title, structured data that contradicts the visible content.
  • Third: cheap observations in bulk — descriptions, alt text, heading levels, image dimensions.
  • Fourth: performance and page experience, measured before and after rather than assumed.
  • Last: the inferences, as an editorial plan rather than a checklist.
05

Layer 05

Re-run the same audit, and expect the score to move slowly.

Deterministic tools are worth re-running because the comparison is meaningful: the same rules, the same weights, the same page. A changed score is a changed page rather than a changed mood.

What will not move quickly is position. Fixing an audit makes a site correct and legible; whether it ranks depends on demand, competition and whether the content earns citation. Anyone presenting an audit score as a ranking forecast is selling the score.

A single audit is a snapshot of one page. Run it across the templates that matter — a service page, an article, a product page — rather than assuming the homepage represents the site.

Progressive disclosureTechnical Notes

Scores are not comparable across tools

Different tools weight different categories. A 62 in one and an 81 in another is not a contradiction; it is two rulesets. Pick one and track it.

Rendered vs source HTML

A source-only audit cannot see content injected by JavaScript. If the page builds its main content client-side, confirm findings against the rendered page too.

From note to action

Continue through the system.

Keep reading

Related practical notes.

Apply the note

Working on a similar problem?

Bring the current system, failure point or desired outcome. We can scope the architecture, implementation and verification path.

Start a Project Try the Related Tool