Write an SEO audit report the client will actually act on
Most audit reports get read once and filed. A structure that connects each finding to a page, a cost, and a business number, plus what to leave out and why the summary belongs at the front.
What should an SEO audit report contain?
Six things, in this order: what you checked, what is broken now, what it costs, what you propose, who does it, and how you will know it worked. Everything else in a typical audit deck is evidence, and evidence belongs in an appendix.
The reason most audit reports fail is not that they are wrong. They are usually correct and unusable. A 40-page document listing a thousand findings across dozens of issue types is a faithful description of a crawl, and it gives the person paying for it no way to decide anything.
Reporting is the weak point of most agency and consultant work, and the usual gap is the same: efforts and outcomes are not tied back to the business's own KPIs. That is the test to apply to your own audit report. Point at any row in it and ask which business number moves if the row gets fixed. If you cannot answer for most rows, you have written a crawl summary.
The structure
1. Scope, in two sentences
What was crawled, how many pages, on what date, and what was excluded. Then the one line most audits omit: whether the crawl succeeded. If the site's bot protection blocked part of the crawl, that belongs in the first paragraph, not a footnote, because it bounds every number that follows.
2. The critical tier, with named owners
Only the issues that stop a page being reached, rendered, or understood. On a healthy site this is a short list, sometimes empty. Each row gets a URL, the specific detail, and the fix. Do not summarise this section. The client should be able to forward it to a developer without editing it.

3. Warnings, grouped by cause and not by URL
This is the section that decides whether the report gets used. A few hundred pages missing a meta description is one line, one owner, and one template change. Written out as a few hundred rows it becomes a document nobody opens twice.
Name the cause for each group. "The post template does not output a meta description" is a sentence a developer can act on. "Hundreds of pages are missing meta descriptions" is a number a client can only feel bad about.
4. What it costs, in the client's units
Convert each group into the unit the reader already tracks: revenue on the affected pages for ecommerce, form fills for lead generation, sessions for a publisher. Pull the figure from Search Console or analytics rather than from the audit, because the audit does not know which pages matter.
Put a confidence level on each estimate rather than hiding the uncertainty. An estimate with a stated confidence survives being challenged in a meeting. An estimate presented as a fact does not survive the first person who asks how you got it.
5. The proposal, ordered by pages fixed per hour of work
Order by return, which means severity is an input rather than the sort key. A template change that repairs hundreds of pages outranks four broken links even though the broken links score higher on severity. Severity is a property of the issue. Return is a property of the fix.
6. The measurement plan
Two or three specific numbers, with the date you will read them and the date you expect movement: indexed page count, clicks on the affected URL set, crawl errors in Search Console. Write down what would count as the change not working, before you start.
What to leave out
The informational tier does not belong in the body of the report. Long titles and heading-order skips are real, and putting them in front of a decision-maker costs you the attention you need for the four things that matter. Export them, attach the file, and reference it in one line.
The same goes for a composite score. Any tool that emits one number out of 100 creates a conversation about that number: the client asks why it is 62 rather than 80, you explain the weighting, and nobody discusses the broken links. SEO Scaler does not compute a site health score at all. The only scores it stores are Lighthouse's own performance, SEO, accessibility, and best-practice numbers for the sampled pages, and those are worth reporting as what they are, a page-level measurement of a sample, rather than promoting into a headline.
Report hygiene is not cosmetic. A wrong number in an audit report pollutes the data behind later decisions. It gets copied into a deck, the deck sets a budget, and the budget outlives everyone's memory of where the number came from.
Run this with the SEO Scaler MCP
The report structure above is a prompt. Because get_audit_issues returns a how_to_fix string on every issue, an agent can write section 2 verbatim rather than paraphrasing remediation advice it half-remembers.
Using the SEO Scaler MCP on project [name], write me an SEO audit
report for [client] from the most recent site audit.
Structure it exactly like this:
1. SCOPE: pages crawled, date, and whether any pages came back with
fetchClass other than "ok". If any did, say so in the first
paragraph and state how many findings are therefore unverified.
2. CRITICAL: every issue at severity "critical". URL, the detail
from the issue row, and the how_to_fix text unedited. No
summarising.
3. WARNINGS BY CAUSE: pull severity "warning", group by issueType,
and for each group write one sentence naming the likely cause
(template, migration, editorial). Sort groups by page count.
4. COST: for the top three groups, list the affected URLs and tell
me which of them appear in Search Console with clicks or
impressions. Flag any group where none of the pages get traffic.
5. PROPOSAL: order the groups by pages fixed per unit of effort,
not by severity. Say which team owns each one.
6. MEASUREMENT: three numbers to re-check in 30 days.
Put the informational tier in an appendix as counts only. Do not
invent a score.Step 4 is what turns a crawl into a report. The audit knows which pages are broken; Search Console knows which broken pages anybody was ever going to visit. Programmatic discovery with Search Console covers pulling that side.
An audit report is a proposal for work
An audit report has a job that is easy to lose sight of: getting someone to authorise work. It is a sales document for a set of tasks, and it succeeds when the tasks get scheduled.
That reframes every editorial choice in it. The full export is honest and it does not persuade anybody. Four named fixes with owners, costs, and a re-check date do. Keep the export, attach it, and write the four.
When the proposed fix is deletion rather than repair, the report needs a different shape again, because you are asking permission to remove pages someone paid to create. Index bloat covers how to make that case with evidence.
SEO audit report FAQ
What should be in an SEO audit report?
Scope and crawl reliability, the critical issues with named owners and exact fixes, warnings grouped by underlying cause rather than by URL, an estimate of what each group costs in the client's own metric, a prioritised proposal, and a short measurement plan with dates. Raw findings go in an appendix.
How long should an SEO audit report be?
The body should be short enough to read in a meeting, which in practice means four to eight pages. Length lives in the appendix. A long body signals that the findings were not triaged, which is the work the client is paying for.
Should an SEO audit report include a score?
Not a composite one. A single number out of 100 invites an argument about the weighting and displaces the conversation about which fixes get scheduled. Report counts by severity, which are checkable, and let the proposal carry the judgement. Lighthouse category scores are fine to include as long as you say how many pages they cover.
How do you present SEO audit findings to a client?
Lead with the decision you want, not the evidence you gathered. Open with the proposal and the cost, keep the critical issues as a forwardable list, group everything else by cause, and put the full export behind a link. Say plainly which numbers are estimates.
Is there a free SEO audit report template?
The structure on this page is the template, and it is more useful than a formatted document because it tells you what goes in each section and what to leave out. SEO Scaler can produce every section from a real crawl using the prompt above; the agent shows the credit cost before it runs, and nothing spends until you approve.
Run this strategy in SEO Scaler
Run the MCP prompt in this guide with SEO Scaler. SEO Scaler is free to try, and asks before every paid call.