SEO Audit Report Template (With a Filled Example)
A practical SEO audit report template: what an SEO audit is, the sections to include, a prioritization model, and a filled example with real-looking findings.
Auditite Team
Table of Contents
Most SEO audit reports fail in the same way: they are exports. Two hundred rows of “missing alt text”, “title too long” and “H1 missing”, sorted by tool severity, handed to a developer who has no idea which three things actually matter. The report gets skimmed, a few easy items are fixed, and the big problems stay.
A good SEO audit report is a decision document. It tells the reader what is wrong, why it matters for this specific site, what to do first, and who owns it. This article gives you a template built around that idea, plus a filled example you can copy.
What Is an SEO Audit?
An SEO audit is a structured review of a website to find what limits its visibility in search, and to decide what to fix first. It usually covers four layers:
- Crawling and indexing: can search engines find, crawl and index the pages that matter?
- Technical health: status codes, redirects, canonicals, site speed, mobile rendering, structured data.
- On-page and content: titles, headings, internal links, thin or duplicate content, search intent match.
- Authority and off-page: backlink profile, brand signals, toxic or lost links.
The output is a report, and the report is where audits succeed or fail.
The Principle: Findings, Not Checks
Audit tools work in checks (“Is the title longer than 60 characters?”). People act on findings (“Category pages share one templated title, so Google rewrites them and they compete with each other”). One finding often bundles dozens of check failures that share a root cause and a single fix.
What most people get wrong is reporting checks. Every row in your report should be a finding with a root cause. If you cannot say what single change would fix it, you have not finished the analysis.
The SEO Audit Report Template
Use these sections, in this order. Keep the whole report readable in 15 minutes; put raw exports in an appendix.
1. Executive summary (half a page)
- Overall assessment in two or three sentences.
- Top three findings with their expected impact.
- What we recommend doing in the next 30 days.
Write this last, and write it for someone who will read nothing else.
2. Scope and method
- Domains, subdomains and sections covered.
- Date of crawl, tools used, crawl settings (JavaScript rendering on or off, user agent, URL limit).
- Data sources: crawl, Google Search Console, analytics, backlink tool, server logs if available.
- What was out of scope.
This section protects you later, when someone asks why an issue on a subdomain was not reported.
3. Key metrics snapshot
A small table with the baseline you will measure against:
| Metric | Value | Source |
|---|---|---|
| Indexable URLs found in crawl | Crawl | |
| Pages indexed (GSC Page indexing report) | Search Console | |
| Organic clicks, last 3 months | Search Console | |
| Pages with organic clicks, last 3 months | Search Console | |
| Core Web Vitals: URLs passing (mobile) | Search Console / CrUX | |
| Referring domains | Backlink tool |
The gap between “indexable URLs in crawl” and “pages indexed” is often the most revealing number in the whole audit.
4. Findings table
This is the heart of the report. One row per finding:
| ID | Finding | Evidence | Impact | Effort | Priority | Owner | Fix |
|---|
Column definitions:
- Finding: one sentence, root cause included.
- Evidence: count of affected URLs, example URLs, screenshot or GSC report.
- Impact: High / Medium / Low, judged on how many important pages are affected and how directly it limits crawling, indexing or ranking.
- Effort: Small (hours), Medium (days), Large (a sprint or more).
- Priority: derived from impact and effort (see below).
- Owner: a role or a name. “Dev team” is acceptable; “TBD” is not.
- Fix: the specific change, precise enough to become a ticket.
5. Prioritization
Use a simple matrix:
| Small effort | Medium effort | Large effort | |
|---|---|---|---|
| High impact | P1 | P1 | P2 |
| Medium impact | P2 | P2 | P3 |
| Low impact | P3 | P3 | Backlog |
Then apply one override: anything that blocks crawling or indexing of important pages is P1 regardless of effort. A stray noindex on product templates beats every other item in the report.
6. Roadmap
Group P1 and P2 findings into a 30/60/90-day plan. Each item links back to its finding ID.
7. Appendix
Raw exports, full URL lists, crawl configuration. Link to files rather than pasting thousands of rows into the document.
SEO Audit Example: A Filled Findings Table
Below is an illustrative example for a mid-size ecommerce site. The site and numbers are invented for demonstration, but every finding is a pattern that shows up in real audits.
| ID | Finding | Evidence | Impact | Effort | Priority | Owner | Fix |
|---|---|---|---|---|---|---|---|
| F1 | Filter parameters create crawlable duplicate category URLs | Crawl found ~18,000 parameter URLs vs ~600 real categories; GSC shows many as “Duplicate without user-selected canonical” | High | Medium | P1 | Dev | Canonical filter URLs to the clean category; stop linking low-value filter combinations; block the worst sort parameters |
| F2 | Product template outputs noindex when stock = 0 | 240 products affected, including seasonal bestsellers | High | Small | P1 | Dev | Keep out-of-stock products indexable; show availability and alternatives |
| F3 | Old blog URLs redirect via 302 after a 2024 restructure | 310 redirects return 302; old URLs still appear as Google-selected canonical | High | Small | P1 | Dev | Change rules to 301 and point directly at final URLs (see 301 vs 302) |
| F4 | Category pages share one templated title | 600 titles follow “Shop {Category} Online - Brand” with no qualifiers; Google rewrites many | Medium | Medium | P2 | SEO + Content | Write unique titles for the top 50 categories by impressions; template the rest with a qualifier |
| F5 | LCP image on product pages is lazy-loaded | Mobile LCP in field data is in “needs improvement” for product templates | Medium | Small | P2 | Dev | Remove loading="lazy" from the main product image and add fetchpriority="high" |
| F6 | XML sitemap lists redirected and noindex URLs | ~9% of sitemap URLs are not 200 + indexable | Medium | Small | P2 | Dev | Generate sitemap from indexable canonical URLs only |
| F7 | Orphaned buying guides | 22 guides with no internal links from categories; low impressions | Medium | Small | P2 | Content | Link each guide from its relevant category intro and related products |
| F8 | Missing alt text on decorative icons | 1,900 images, mostly icons | Low | Small | P3 | Dev | Use empty alt="" for decorative images; write alt text for product images only |
Notice what F8 does. A raw tool export would put “1,900 images missing alt text” near the top, because the count is large. In context it is low impact, and the correct fix is partly to leave alt text empty on purpose.
And the executive summary for this example might read:
The site’s main constraint is crawl and index waste, not content. Filter URLs (F1) and redirect handling (F3) dilute signals across thousands of duplicate URLs, and a stock-based noindex rule (F2) is removing seasonal bestsellers from search. Fixing F1 to F3 is mostly small development work and should come before any new content investment.
How to Present the Audit
- Lead with the summary, not the method. Stakeholders read the first page.
- Show one example URL per finding. A screenshot of the problem in the browser or in Search Console is more convincing than a count.
- Turn every P1 and P2 into a ticket in the client’s or team’s own tracker, with the finding ID in the title. Audits that live only in a PDF do not get implemented.
- Agree a re-audit date. Re-crawl after fixes ship and compare against the metrics snapshot.
For agency-specific reporting cadence and formats, see our guide on SEO agency client reporting. If you want a scoring view across categories rather than a findings list, the SEO audit scorecard complements this template. And for the checks that feed the findings, use the technical SEO audit checklist.
Common Mistakes in SEO Audit Reports
- Sorting by tool severity. Tool severity does not know which pages make money.
- No owner per finding. Unowned findings are not fixed.
- Mixing symptoms and causes. “Duplicate titles” is a symptom; “category template has no unique title field” is the cause.
- Ignoring Search Console. A crawl shows what exists; Search Console shows what Google did with it. You need both.
- One-off audits. Sites regress with every deploy. A lighter monthly crawl that compares against the last baseline catches regressions before they cost traffic.
Frequently asked questions
What should an SEO audit report include?
An executive summary, scope and method, a baseline metrics snapshot, a findings table with evidence, impact, effort, priority, owner and fix for each finding, a prioritized roadmap, and an appendix with raw data.
What is an SEO audit?
An SEO audit is a structured review of a website’s crawlability, indexing, technical health, on-page content and backlinks, with the goal of finding what limits search visibility and deciding what to fix first.
How long should an SEO audit report be?
Short enough to read in about 15 minutes, plus an appendix. Most of the value sits in the executive summary and the top ten findings; raw exports belong in linked files.
How do you prioritize SEO audit findings?
Score each finding on impact and effort, map them to priority levels, and always treat anything that blocks crawling or indexing of important pages as top priority regardless of effort.
How often should you run an SEO audit?
A full audit once or twice a year, or before and after major changes such as migrations and redesigns, plus a lighter recurring crawl every month to catch regressions.
Stay in the loop
Get insights, strategies, and product updates delivered to your inbox.
No spam. Unsubscribe anytime.
Ready to see Auditite in action?
Get started and see how Auditite can transform your SEO auditing workflow.
Get started