SEO audit report
SEO audit report: turn a crawl into decisions somebody can actually make
How to write an SEO audit report that separates evidence from assumptions, prioritises fixes and gives each recommendation an owner and outcome.

An SEO audit report is not a list of everything a crawler noticed. It is the smaller set of findings that deserve a decision, written so the person who owns the website can decide without reopening your tools.
That sounds obvious until a “report” arrives as 63 tabs, 4,000 warnings and a traffic-light score. The data may be correct. The work is still unfinished because nobody has said which pattern matters, what caused it or what should happen next.
The structure of a useful SEO audit report
Use five layers. A reader should be able to stop after any layer and still understand what the preceding pages told them.
1. Scope and limits
Name what you inspected: hostname, subdomains, markets, page types, data sources and date range. Then name what you did not inspect. “Crawled 8,420 indexable HTML URLs on the UK storefront; staging, paid landing pages and JavaScript behind login were excluded” is more useful than “full technical audit.”
Limits protect the conclusion. If the crawl ran without authentication, say so. If conversion data was unavailable, do not label a fix “high revenue impact.” If server logs were not supplied, do not claim how often Googlebot visits a URL pattern.
2. Executive summary
Keep this to the decisions:
- the three to five patterns with the largest likely effect;
- what is already healthy and should not be rebuilt;
- the first action, its owner and its dependency;
- any uncertainty that could change the order.
Executives do not need a softened version of every technical finding. They need the shape of the problem and the trade-off.
3. Prioritised findings
Each finding should answer the same questions:
| Field | What belongs there |
|---|---|
| Observation | What you measured, without a cause attached |
| Evidence | URLs, counts, screenshots, exports or response samples |
| Interpretation | The likely cause, clearly labelled as interpretation |
| Impact | The user or search outcome this can affect |
| Action | One implementable change |
| Reach | Which templates and how many valuable pages |
| Confidence | How sure you are that the diagnosis and fix are right |
| Effort | A range agreed with the likely owner, not guessed in isolation |
| Owner | Team or role responsible for the next move |
| Verification | The test that will prove the change shipped correctly |
This format prevents a familiar slide from appearing: “Missing meta descriptions — high priority.” Missing where? How many pages? Are they indexed? Does Google already rewrite the affected snippets? Is the fix a template rule or 6,000 manual edits? Without those answers, “high” is a colour.
4. Roadmap
Group findings by dependency, not by the order your crawler reports them. A clean sequence might be:
- restore crawling and indexability;
- resolve canonical and duplicate URL patterns;
- fix the shared template;
- improve the priority page set;
- measure the result before expanding the work.
When two recommendations touch the same template, ship them together. When a migration will replace that template next month, decide whether the interim fix is worth doing at all. The roadmap is where an audit becomes operational.
5. Appendix
Put definitions, full URL samples, crawl settings and raw exports here. The evidence remains available without forcing every reader through it. Link each finding to its relevant appendix row so an implementer can move from summary to detail without searching.
How to prioritise without pretending the numbers are precise
A practical priority model uses four inputs:
Impact. What could improve: eligibility to index, discoverability, snippet quality, page experience or conversion? “SEO impact” is too vague.
Reach. Does the pattern affect one article, the product template or the whole domain? Count affected pages, then identify how many of those pages are valuable or intended for search.
Confidence. Did you reproduce the problem and isolate the cause, or do you merely see a correlation? A lower-confidence finding may deserve investigation rather than implementation.
Effort. Ask the owner. Changing a title rule may be a five-minute configuration change on one platform and a release across four services on another.
Do not multiply made-up scores to create an impressive decimal. “High impact, high confidence, one shared template, small engineering change” communicates more than 8.7.
Write observations before causes
Consider these two lines:
Google cannot render the product pages because JavaScript is broken.
In a fresh browser and in the rendered-HTML test, product descriptions remain empty until a consent choice is made. The raw HTML contains no description.
The first line jumps from symptom to actor to cause. The second records something another person can reproduce. The cause may be consent configuration, hydration, an API failure or geo-specific delivery. Investigation can now test those possibilities instead of inheriting a guess as fact.
This writing habit makes reports feel more human because it removes theatrical certainty. A credible consultant is allowed to say what is known, what is likely and what needs one more test.
What to leave out
Remove findings that are technically true but unactionable, irrelevant to the site’s goals or unsupported by the data. In particular:
- do not treat every crawler warning as a defect;
- do not recommend schema types the page does not qualify for;
- do not prescribe a character count as though search snippets were fixed boxes;
- do not call an issue “duplicate content penalty” without evidence of one;
- do not turn every page into a target page;
- do not forecast traffic from a health score.
A report earns trust partly through what it refuses to overstate.
The one-page finding template
Use this sentence pattern before expanding a finding:
We observed [measured pattern] across [affected valuable pages]. This can affect [specific outcome] because [mechanism]. We recommend [one action], owned by [team]. Confidence is [level] because [evidence or uncertainty]. Verify it by [test].
If you cannot fill a bracket, the finding is not ready for the report. Go back to the audit, ask for the business context or downgrade the claim.
Start with a real crawl rather than a blank document. The Visibility100x audit gives you the evidence layer; the report is the judgment you add on top.
Questions people ask
What should an SEO audit report include?
It should include scope, evidence, findings, affected URLs, business impact, recommended action, priority, owner and a way to verify the fix. A tool export can support the report but is not the report itself.
How long should an SEO audit report be?
Long enough to make the decisions, and no longer. A small site may need ten well-supported findings; a large platform may need an executive summary plus separate workstreams. Page count is a poor measure because appendices and crawl exports inflate it without adding decisions.
How do you prioritise SEO audit findings?
Prioritise by likely impact, confidence in the diagnosis, reach across valuable pages and implementation effort. Severity alone is not enough: a dramatic error on one irrelevant URL can matter less than a modest template issue affecting every product page.
What is the difference between an SEO audit and an SEO audit report?
The audit is the investigation: crawling, testing and comparing evidence. The report is the decision document produced from that work. It explains what was found, why it matters, what to do and how to know the change worked.
Can an SEO tool create a complete audit report?
A tool can collect evidence and flag patterns. It usually cannot know which pages make money, who owns a template, whether a redirect is intentional or what engineering effort a fix requires. Those facts determine priority, so a useful report needs human context.
Related guides
- SEO tips ranked by how often the thing is actually brokenMost SEO tips are opinions in no order. These are ordered by measured failure rates across our own audits of professional marketing sites.
- FAQ schema: when it helps, when it does nothing, and the markup that validatesA practical FAQ schema guide with valid JSON-LD, eligibility rules, common errors and a plain answer on whether FAQ markup still helps SEO.
- WordPress SEO: the plugin finishes its list, and its list is the small halfWe audited 395 WordPress sites and 287 of their posts. Canonicals and indexability are solved. Heading order, page weight and delivery are not.