# SEO audit report template (the client-facing write-up)

An SEO audit report template for the document the client reads, not the crawler export: three priority findings, a scorecard, evidence, and a 90-day fix plan.

> **How to use it:** run your crawl and checks however you normally do, then write the findings into this structure. Clients act on three priorities. They do not act on 400 warnings, so the crawler's full output belongs in an appendix or a linked CSV, not in the report.

---

**Example audit: harborpine.com, September 2026.** *Prepared for Harbor & Pine Outfitters, a fictional Shopify store selling outdoor gear. Sources: site crawl (4,812 URLs), Google Search Console, PageSpeed Insights, manual review of 40 templates.*

## The three things that matter

1. **About 1,900 filtered collection URLs are indexable.** Colour, size and price filters create a new URL for every combination, and Google has indexed 1,140 of them. They compete with the real collection pages and dilute crawl budget. Fix: canonical to the parent collection and block the filter parameters from crawling.
2. **Product pages have no reviews in structured data.** The reviews show on the page but not in Product schema, so they don't appear as stars in search. Competitors in every product category checked show stars. Fix: add aggregateRating to the Product schema in the theme.
3. **Mobile product pages load in 4.8 seconds (LCP).** The hero image is a 1.6 MB PNG with no size hints. Fix: serve WebP at the rendered size and preload it. Expected LCP under 2.5 seconds.

Together these three are roughly two weeks of developer time.

## Scorecard

| Area | Status | Impact | Effort |
|---|---|---|---|
| Indexing and crawl | Needs work | High | Medium |
| Structured data | Needs work | High | Low |
| Page speed (mobile) | Poor | High | Low |
| Site architecture | Good | — | — |
| On-page titles and descriptions | Fair | Medium | Low |
| Internal linking | Fair | Medium | Medium |
| Content depth on collection pages | Needs work | Medium | High |
| Backlink profile | Good | — | — |

## Findings in detail

### Indexing: filtered collection URLs

- Evidence: 1,902 crawlable URLs contain `?filter.`; Search Console reports 1,140 indexed. Example: `/collections/tents?filter.v.option.color=green&filter.v.price.gte=100`.
- Why it matters: each filtered page is a thin copy of its parent. Google splits signals across them and crawls them instead of new products.
- Fix: canonical tags on filtered URLs pointing to the unfiltered collection; `Disallow: /*?filter.` in robots.txt once the canonicals have been picked up (about four weeks).

### Structured data: missing review stars

- Evidence: Product schema on all 612 product pages lacks `aggregateRating`. The Rich Results Test shows no review snippet eligibility.
- Fix: add `aggregateRating` from the reviews app's data to the theme's product JSON-LD. Validate on five products before rolling out.

### Page speed: mobile LCP

- Evidence: PageSpeed Insights, mobile, median of five runs on the top 10 product pages: LCP 4.8 s, CLS 0.02, INP 180 ms.
- Fix: convert hero images to WebP, add width and height, preload the first image.

### Titles on collection pages

- 38 of 54 collection titles are just the collection name ("Tents | Harbor & Pine"). Rewrite them around what people search for, for example "Backpacking Tents, 1–4 Person | Harbor & Pine".

## 90-day plan

| Weeks | Work | Owner |
|---|---|---|
| 1–2 | Schema fix, image fix, filtered-URL canonicals | Developer |
| 3–4 | Rewrite 38 collection titles and descriptions | Agency |
| 5–8 | Add 150–250 words of buying guidance to the top 12 collections | Agency + client review |
| 9–12 | robots.txt filter block; re-crawl and re-measure | Agency |

## How we'll measure it

- Indexed filtered URLs: from 1,140 to under 100.
- Product pages showing review stars in search: from 0 to the full catalogue.
- Mobile LCP on product pages: under 2.5 seconds.
- Organic revenue from collection pages, compared month on month and against last September.

## Appendix

The full crawl export (4,812 URLs, all warnings) is attached as a CSV. Nothing in it outside the findings above needs action this quarter.
