Article · Technical audits

What to put in an SEO audit for a client, and what to leave out

A crawl export is raw material, not a deliverable. Turn crawl and Search Console data into a few pages the client can act on: a summary, ranked fixes, the evidence for each, who owns it, and what looks wrong but is fine. Includes a findings table you can copy.

Google details checked on 29 October 2026. Semrush details as listed on 29 October 2026.

The short answer: a three-line summary, five to ten fixes ranked by impact and effort, the evidence and a named owner for each, and a short "not a problem" list. Leave out raw issue counts, unexplained tool scores, crawler warnings you have not confirmed, and anything that reads like a ranking forecast.

What the client is actually buying

A client cannot act on hundreds of rows of crawler output. They can act on a short list: what is wrong, why it matters to the business, how much work it is, and who does it. That list is the audit; the crawl is how you found it. For selling it as a fixed-price product, see how to sell a fixed-price SEO audit online.

Google's page on hiring an SEO says an audit should include "an estimate of the work involved," and tells site owners to check a third-party tool's audit recommendations against Google's official guidance before making significant changes. So deliver findings you have confirmed, not everything a tool flagged. Open findings feed question 1 of the five-question report structure and the site health section of the outline.

The five parts of the deliverable

  1. Summary in three lines

    The main problem, what is in good shape, and what you need from the client. Written for the owner.

  2. Top fixes, ranked

    Five to ten findings, sorted by impact, then effort, so quick fixes to important pages come first.

  3. Evidence

    The report behind each finding, the date you looked, and two or three example URLs the developer can check.

  4. Owner and next step

    One person or role per finding and one concrete action. A finding without an owner has no one to fix it.

  5. Not a problem

    What you checked and found fine, including statuses that look alarming but are expected.

Before you start: access and scope

Request Search Console access during onboarding. For an audit, Google advises site owners to grant only read access, not write access at that stage. A Restricted user is enough: it views most data, but URL Inspection is fetch-only and it cannot submit sitemaps or verify fixes. Ask for Full user, which can verify fixes, when implementation starts. Only an owner can add users, so the client sends the invite.

Agree in writing on the property, the sections in scope, and the money pages: the ones that bring in leads, calls or sales. They decide what counts as high impact. See setting up Search Console for client reporting.

The free route: what to check in Search Console

Google Search Essentials has three parts: technical requirements, spam policies, and key best practices. The technical requirements are short: Googlebot is not blocked, the page returns HTTP 200, and it has indexable content. Meeting them, Google adds, does not mean a page will be crawled, indexed or served. So check what is happening to the pages that matter, in this order:

  1. Manual actions and Security issues. A green check mark means nothing to report. Anything listed goes first; both reports offer Request Review once every listed issue is fixed.
  2. Page indexing. Only reasons that touch important pages. The All submitted pages filter shows how your sitemap URLs fare.
  3. URL Inspection on each money page, as below.
  4. Sitemaps. Success, Has errors, or Couldn't fetch. Only sitemaps submitted through the report or the API are listed.
  5. Core Web Vitals. Poor and Need improvement groups, mobile and desktop separately.

Reading the Page indexing report

Google's stated goal is the canonical version of every important page indexed, not every URL. "Not indexed" is not necessarily bad; the reason tells you. Reasons that usually need a fix: Server error (5xx), Soft 404 (a "not found" page without a 404 code), Redirect error, and 401 or 403 on pages that should be public. Most others go on the not-a-problem list. For each reason in detail, see Page indexing statuses explained.

Two limits: the example list stops at 1,000 rows and may not show every affected URL, and validation typically takes up to about two weeks, sometimes much longer.

URL Inspection on the pages that matter

Inspect each money page, not a random sample. The indexed result comes from Google's last crawl: discovery, last crawl date, Crawl allowed?, Page fetch, Indexing allowed?, and the user-declared and Google-selected canonicals. Canonicals that differ on a money page are a finding.

Test live URL checks the page as it is now, but no test guarantees indexing, and it cannot predict canonical selection. Request indexing has a daily limit and no guarantee; for many changed URLs, Google points to a sitemap with updated <lastmod> dates. URL Inspection does not check manual actions or security issues, which is why those reports come first.

Core Web Vitals: field data, with gaps

Google recommends aiming for good Core Web Vitals. The Search Console report uses real-world data from the CrUX report, groups URLs with a similar experience, and gives each group the slowest status assigned to it, per device.

MetricGoodNeed improvementPoor
LCP (loading)2.5 s or lessUp to 4 sOver 4 s
INP (responsiveness)200 ms or lessUp to 500 msOver 500 ms
CLS (visual stability)0.1 or lessUp to 0.25Over 0.25

"No data available" means a new property or not enough CrUX data for that device: a gap, not a defect. For page-level tests the report points to PageSpeed Insights and Lighthouse. Name the tool behind each number. For a monthly status table and a developer ticket, see Core Web Vitals in a client report.

The findings table template

Copy this into a spreadsheet or the audit document. One row per confirmed finding.

FindingEvidencePagesImpactEffortOwnerNext step
1. Two service pages tell Google not to index themPage indexing: URL marked 'noindex'; URL Inspection, [date]/implants/, /emergency-dentist/HighSWeb developerRemove the noindex rule, Test live URL, Request indexing
2. Google cannot read the sitemapSitemaps: Couldn't fetch, [date]All URLs in itMediumSWeb developerFix the file or server response, resubmit, confirm Success
3. Old location pages say "not found" without a 404 codePage indexing: Soft 404, three example URLs/locations/old-town/ and two othersMediumSWeb developerReturn a 404, or a 301 where a replacement exists
4. Google chose a different canonical for the services pagePage indexing: Duplicate, Google chose different canonical than user; URL Inspection/services/MediumMConsultantCompare both pages; merge, or make the declared canonical the clear main version
5. Slow loading on mobile, service pagesCore Web Vitals, mobile: LCP group PoorService page groupMediumLDeveloper and hostTest examples in PageSpeed Insights, fix, Start Tracking
6. Blog posts link to a removed pageCrawler export, confirmed on each pageFour postsLowSClientPoint the links to the current page

Example only: a hypothetical dental practice in a fictional Springfield, with made-up URLs. Replace every row with findings confirmed on your own client's site.

Impact and effort scales

Define these once, above the table, so the client reads every row the same way.

Impact means risk to important pages, not a forecast. Do not translate it into traffic, leads or rankings; Google's hiring page says no one can guarantee a #1 ranking.

The "not a problem" list

A client who opens Search Console alone will see statuses that look alarming. Answer them in the audit.

What the client seesWhy it is usually fineLook again when
Many "Not indexed" pagesOnly canonical pages are expected to be indexedA money page is on the list
Alternate page with proper canonical tag; Duplicate without user-selected canonicalAnother page is the canonical. Google says the first needs no action and calls the second working as intendedGoogle picked the wrong page
Page with redirectA redirecting URL is not indexed; its target can beThe target is not indexed
Not found (404)Fine for a page removed with no replacementThe page moved: use a 301
URL marked 'noindex'Fine for pages meant to stay out, such as a thank-you pageThe client wants that page found
URL blocked by robots.txtFine when the block is deliberateThe page must stay out of Search: Google says robots.txt does not guarantee that
Crawled, or Discovered, currently not indexedCrawled pages may be indexed later; no need to resubmit. For Discovered, Google typically postponed the crawl to avoid overloading the siteIt is a money page: inspect it
No sitemapGoogle says one may not be needed with about 500 pages or fewer, or thorough internal linkingThe site grows, or is new with few links from other sites
Core Web Vitals: No data availableNew property, or too little real-user dataYou need numbers for a key page: use PageSpeed Insights

What to leave out

When a crawler earns its place

Search Console shows what Google found, on Google's schedule, with capped example lists. A crawler runs when you choose and follows the internal links it can reach. On a small site where the examples show every affected URL, Search Console is enough. Add a crawler when any of these is true:

A crawler's bot is not Googlebot. A page it can reach is not proof that Google can, so confirm money pages with URL Inspection.

Semrush Site Audit, as listed on 29 October 2026

A weekly crawl on a fixed day keeps the site health section of the monthly report current. For the wider costs, see the guide's cost section.

See Semrush plans and current prices Official site · not a paid link

For the Site Audit setup step by step, see step 2 of the walkthrough. With one or two small sites, the free route may be enough.

A summary page you can copy

The first page of the deliverable. Edit the brackets and attach the findings table.

SEO audit: [business name], [month and year]

In three lines: [The most important problem, in plain words.] [What is in good shape.] [What we need from you, and by when.]

Fix first:

  1. [Finding]: [why it matters to the business]. Owner: [name or role]. Effort: [S, M or L].
  2. [Finding]: [why it matters]. Owner: [name or role]. Effort: [S, M or L].

Checked and fine: [for example: no manual actions or security issues listed; the pages shown as not indexed are duplicates and redirects, which is expected.]

Based on: Search Console reports [list], viewed on [date][, plus a crawl of [number] pages on [date]].

What this audit does not promise: these fixes address known problems. They are not a forecast of rankings, traffic or leads.

[Your name]

After delivery

  1. To validate fixes yourself, ask the client to make you a Full user.
  2. When a fix is live, run Test live URL on a few affected pages, then click Validate fix in the Page indexing report. Do not click it again until validation has passed or failed.
  3. For Core Web Vitals, click Start Tracking. The issue counts as fixed only if it appears on no URL during the 28-day window.
  4. Carry open findings, with status, into the "Visibility and site health" line of the monthly report email.

If a client links a later traffic drop to a fix, use how to explain a ranking drop and return to the agreed KPIs.


Sources

checked on 29 October 2026