How to Run an SEO Audit for a Client, From Scope to Presentation
A step-by-step process for client SEO audits that end in fixes, not filing cabinets. It covers scoping, data collection, prioritization, a report outline you can reuse and how to present the results.
A client SEO audit is worth paying for when it ends in a short, prioritized list of fixes the client can actually act on, not a dump of every warning a crawler produced. The work breaks into five steps: agree the scope, crawl and collect data, prioritize by impact, write the report and present it so the fixes get approved. Below is how to do each step, plus a report outline you can reuse.
Key takeaways
- Agree goals, page count, markets and who implements fixes before you run a single tool. Scope creep starts with a vague brief.
- Combine a crawl with the client’s Search Console data. A crawl shows what’s wrong; Search Console shows what it costs.
- Rank findings by impact and effort, and group them by template so one fix covers many pages.
- Lead the report with the three to five changes that matter most. Put the full issue list in an appendix.
- Never promise rankings. Promise a clear diagnosis, a plan and a re-check date.
1. Agree the scope before you crawl
Most audit disappointments trace back to a mismatch between what the client expected and what you delivered. Settle these questions in a short kickoff call and confirm them in writing.
- Goal. More leads, more online sales, recovery from a traffic drop, a migration check? The goal decides which findings matter.
- Size. Roughly how many pages, and which sections count: the whole domain, the shop, the blog, subdomains?
- Markets and languages. Multiple countries or languages add hreflang and duplicate-content checks.
- Platform. WordPress, Shopify, a headless framework? It changes what’s easy to fix and who can fix it.
- History. Recent redesigns, domain changes, CMS migrations or traffic drops, with dates.
- Who implements. An in-house developer, an agency, the owner? Write recommendations for that person’s skill level.
- Out of scope. Be explicit. A technical and on-page audit usually excludes link building, a full content strategy and paid search.
Then ask for access: Search Console (at least restricted user), analytics, the CMS (read access is often enough), and server logs if crawl problems are suspected. For local businesses, add their Business Profile.
Google’s own page on hiring an SEO is worth sending to new clients. It sets realistic expectations and warns against anyone who guarantees rankings, which protects you as much as them.
2. Crawl the site and collect the data
An audit rests on two data sets: what a crawler finds on the site today, and what Google has recorded about it over time.
The crawl
Crawl every page in scope. Our website SEO audit crawls up to 100 pages on Pro and 250 on Agency, and flags broken internal links, duplicate titles and descriptions, thin pages and site-wide issues, ranked by impact. For larger sites, use a desktop crawler and export the results. Whatever tool you use, note the crawl date in the report, because sites change.
Then spot-check one URL of each template by hand: home, category, product or service, article, location page. Template problems repeat on every page that uses them, so these checks find most of the high-impact issues.
Search Console
- Performance report. Export queries and pages for the last 16 months and compare year over year to separate seasonality from real declines. Google’s Performance report documentation explains each metric.
- Page indexing. Count pages not indexed and note the main reasons.
- Core Web Vitals. Real-user data by URL group.
- Manual actions and security issues. Usually empty, but disastrous to miss.
AI search access
Clients increasingly ask about ChatGPT, Perplexity and Google’s AI features. Check robots.txt and firewall rules for AI crawlers with the AI crawler checker. It’s quick, and it often surfaces a blanket block nobody on the client side knew about.
Competitors
Pick two or three competitors that outrank the client for important queries. Comparing a client page with a competitor’s page in the SEO comparison tool turns abstract advice into a visible gap: their page answers the question, has reviews and loads fast, while ours doesn’t.
3. Prioritize by impact and effort
A crawler can return hundreds of warnings. Clients can act on maybe ten at a time. Your main job is choosing which ten.
| Priority | What qualifies | Typical examples |
|---|---|---|
| Critical | Blocks indexing or breaks revenue pages | Sitewide noindex, robots.txt blocking key sections, canonicals to the wrong domain, checkout or service pages returning errors |
| High | Affects many pages or the most valuable ones | Duplicate titles on a whole template, broken navigation links, very slow LCP on product pages, redirect chains after a migration |
| Medium | Clear improvement, moderate reach | Thin category pages, missing structured data, weak internal linking to important pages |
| Low | Nice to have | Missing alt text on decorative images, minor heading order issues, long URLs |
Within each priority, sort by effort. A change to one template that fixes 400 pages is worth more than 40 hand edits. Mark each finding with an estimated effort (hours or a simple S/M/L) so the client can plan.
Be honest about uncertainty. “This blocks indexing” is a fact. “Improving this content should help rankings” is a judgment. Label the difference and clients will trust the rest of your report more.
4. Structure the report
Most clients read the first two pages carefully and skim the rest. Put the decisions at the front and the evidence at the back. Here’s an outline that works for small and mid-sized sites:
- Executive summary (one page)
- The goal you audited against, in the client’s words.
- Overall health in one paragraph, with no jargon.
- The three to five changes that matter most, each with its expected benefit.
- Scorecard
- Indexing, content, links, speed, mobile, security and AI-search access, each marked good, needs work or critical.
- Key numbers from Search Console: clicks, impressions, indexed pages, Core Web Vitals status.
- Priority fixes
- One section per finding: what’s wrong, where (URLs or template), why it matters, how to fix it, effort, owner.
- A screenshot or code snippet as evidence.
- Opportunities
- Content gaps against competitors, internal linking improvements, structured data to add.
- Roadmap
- What to do in the first two weeks, the first month and the first quarter.
- Appendix
- Full issue list with affected URLs, crawl settings and date, data sources and a glossary of terms used.
For each fix, write the instruction for the person who will implement it. A developer needs the exact header or template file. A business owner needs the CMS menu path. Our SEO audit checklist has test-and-fix wording for 25 common checks that you can adapt.
What a well-written finding looks like
Every finding in the priority section should answer the same six questions, in the same order, so the client can scan them quickly. Here’s an example for an invented online shop:
Finding 2 of 5 — Product pages share one meta description (High)
What: All 312 product pages use the same description,
"Shop quality outdoor gear at great prices."
Where: Product template (theme file: product.liquid)
Why: Results look identical in Google, so shoppers can't tell
products apart, and Google is more likely to ignore the text.
Fix: Build the description from product data:
"{name} in {colors}. {key feature}. Free returns within 60 days."
Effort: S (about 2 hours for the developer, one template change)
Owner: Dev team. Re-check in the follow-up crawl on 15 January.
Notice what’s missing: no scare words, no vague “optimize your meta tags”, and no list of 312 URLs in the body. The full URL list goes to the appendix. The reader gets the problem, the reason and the exact change in under a minute.
Keep the same format for opportunities, but swap “Why” for the expected benefit and be clear that it’s an estimate.
5. Present the results
Send the report, then walk through it on a 30- to 45-minute call. A few habits make the difference between a report that’s filed and one that’s acted on:
- Start with the goal and the top findings. Don’t open with the score.
- Translate every issue into a consequence. “Search engines can’t see 120 product pages” lands better than “X-Robots-Tag noindex on /products/”.
- Show evidence live. Open URL Inspection or the page itself. Seeing a noindex tag is more convincing than reading about it.
- Assign owners and dates before the call ends, and write them into the roadmap.
- Book the re-check. A follow-up crawl four to eight weeks later shows what was fixed and keeps momentum.
Scores help as a progress indicator, but don’t make them the goal. Our article on what a good SEO score is explains why a score is a summary of checks, not a ranking prediction.
Mistakes that make client audits fail
- Exporting the crawler’s raw issue list as the report. Volume isn’t value.
- Treating every warning as urgent. If everything is critical, nothing is.
- Ignoring the business. A perfect blog audit is useless if the revenue comes from service pages.
- Recommending fixes the platform can’t do without explaining the workaround or the cost.
- No baseline. Without the original numbers and crawl date, you can’t show results later.
- Promising rankings or traffic numbers. Nobody controls Google’s results.
Generate the client report
Our SEO report generator turns an audit into something you can send. Every report has a shareable link, and you can export it to Markdown or JSON or print it to PDF for free. On the Pro and Agency plans, you can produce white-label PDF reports with your own logo and colors, and set up weekly monitoring so you catch regressions between audits. The pricing page compares the plans.