What a paid SEO audit should contain, and how to tell a real one from a tool export
What a paid SEO audit should contain: indexing, what crawlers receive, query data, fixes in order. How to spot a tool export before you pay for one.
By Daniel Stoychev, Webso Digital · 3 November 2026 · 7 min read

A paid SEO audit should contain findings that need a person and your data to make: which of your pages Google has and why the rest are missing, what Google and the AI crawlers receive from your server, which searches you already appear for and the page Google picked for each, your Business Profile against the businesses above you, and a short list of fixes in order, each with its evidence and a note of what to leave alone. A tool export lists every warning a crawler can raise about any site, sorted by colour. The quickest test is to cover the domain on the front page: if nothing inside would need to change for a different business, it is an export.
The difference, in one test
Crawl tools are useful, and our own audit includes a crawl. The problem is selling the output as the audit. An export reports what is countable: images without alt text, titles over a length, pages with one internal link, a speed score. Every site produces dozens of those rows, most of them change nothing, and the export cannot tell which few matter, because it has not seen your Search Console, does not know which pages earn money, and has no idea what the business sells.
A real audit reads the same crawl and then does the part that needs judgement. Each finding names the URLs, shows the evidence (a Search Console screen, a server response, a line of source), says what it is costing you, and gives the fix in words a developer can act on. Google's page on hiring an SEO sets the standard in one line: an SEO audit should be about giving you realistic estimates of improvement, and an estimate of the work involved. An export gives you neither.
What a paid audit should contain
| Section | The question it answers | Where the evidence comes from | What an export puts there instead |
|---|---|---|---|
| Indexing | Which pages Google has, which it dropped, and the reason given for each | Search Console's Pages report, read against the sitemap | A count of pages crawled, which is a different number |
| What crawlers receive | The words Google renders, and the words a crawler that runs no JavaScript can read | The page source, the rendered page and Search Console's URL Inspection | A word count from whichever version the tool fetched |
| Server answers | What moved and removed URLs return: a 301, a 404 or 410, or a page pretending to be one | Fetching the old URLs and reading the status codes | A redirect warning among hundreds of rows |
| Query data | The searches you appear for at positions 5 to 20, and the page Google picked for each | Search Console, queries against pages | Nothing; the tool has no access |
| The Business Profile | Category, services, hours and reviews against the three businesses in the map | The profiles themselves, checked from the area | Nothing, or a listings score |
| Competitors | What the pages above yours do that yours do not | Those pages, read one by one | A third-party authority number |
| Speed on a phone | The few fixes that change the largest paint, not every suggestion | PageSpeed Insights, with field data where it exists | Every lab suggestion, unranked |
| The fix list | What to do this month, what next, and what to leave alone | Everything above, in order of what it costs you | Issues sorted by severity colour |
The finding no export makes: words hidden from the crawlers
On 2 October 2026 we found a fault on a client's site, a mobile remapper in North Wales, that the usual checks passed. Its raw HTML held 633 words, a comfortable pass on any word count, and a crawler that renders JavaScript saw the whole page once the script had run. Neither check showed where the words sat. The framework sent every page inside a hidden container, with "Preparing your page" and "Loading" as the visible text, and only 90 of the 633 words sat outside hidden containers.
Google renders JavaScript, so the rankings held. GPTBot, ClaudeBot and PerplexityBot do not run scripts, and they received a page that said almost nothing; Google's own JavaScript documentation says in as many words that not all bots can run JavaScript. The fix was one loading file removed, the same day. The lesson for anyone buying an audit is the measurement: count the words a non-rendering crawler can read outside anything hidden, not the words in the raw HTML. A related fault on a transport firm's site left its home page with eleven words of HTML; the case study on this site shows the 1,123 words that went in afterwards and why we do not credit the click rise to that change alone.
Why the order matters more than the count
An audit with three hundred findings and no order is harder to use than one with eight in the right order. Indexing comes first, because a page Google does not hold cannot rank in Google at all, and nothing else on it is worth fixing until it is back. Server answers come next, because they decide which URLs Google keeps. Then the pages Google already half-likes, at positions 5 to 20, because they move fastest. Speed and tidiness come after, unless they are bad enough to hold up everything else.
A fault that looks minor in a list can outweigh everything else in it. On an air-conditioning retailer's catalogue in Bulgaria in September 2026, our own build answered a removed product URL with an ordinary page carrying a meta refresh and a canonical tag, because we did not control the server's redirects; Google indexed the stub, ignored its canonical and began treating it as the canonical for unrelated products until real server rules replaced it. In an export, that page is one row among hundreds.
The other half of order is restraint. A good audit names the pages already earning clicks and says to leave them alone, because rewriting a page that works resets its clock. An audit that recommends changing everything has not looked at which pages pay.
How to tell before you pay
- Ask for a sample with the client's details removed. Read one finding and ask whether it could be about any other site.
- Ask what access they need. An audit that never asks for Search Console is a crawl. Search Console lets you add someone as a restricted user with view rights, so there is no reason to refuse it.
- Ask who writes it. A named person who will talk you through the findings is a different product from a document generated overnight.
- Ask how the fix list is ordered. The answer should be by what each fault costs you, not by severity colour.
- Ask whether it can conclude that you should not buy SEO yet. If it cannot, it is a sales document with an appendix.
What to do with the audit once you have it
Fix in the order given and date each fix, because Search Console's numbers can only be read against dates. Indexing fixes should show in the Pages report within weeks; validate them in Search Console and watch the count. New and rewritten pages need months, as the timeline guide on this site sets out. A good audit already says what you should see, where and by when, which turns the document into something you can check rather than something you have to trust.
The crawler finding is one you can re-check yourself. The live test in Search Console's URL Inspection tool shows a screenshot of the page as Google rendered it, and the page source shows what a crawler that runs no scripts receives. If the two tell different stories, the audit was right to flag it.
Our full audit is described on the SEO audit page, with the ten areas it covers; the free audit that comes with a quote is the shorter version. The quote form takes the site address and says which of the two you want.
Questions people ask about this
Is a long SEO audit better than a short one?
No. Length usually means the tool's rows were kept. A useful audit can be a handful of pages if each finding has its evidence, its fix and its place in the order; the full crawl can sit in an appendix.
Can I trust a free SEO audit?
Trust it for what it checked. A free audit that reads your Search Console and names the page Google picked for your main search is worth more than a paid export that did neither. Ask what it read.
Do I need to give access to Search Console for an audit?
For a real one, yes. Indexing reasons and the searches you appear for exist only there. Add the auditor as a restricted user, which gives view rights without control, and remove them afterwards if you wish.
How often should a website be audited?
A full audit when something changes structurally: a rebuild, a platform move, a migration or a sudden drop. Between those, working through the checklist on this site twice a year catches the faults that break silently.
What should an audit say about AI search?
First, whether the AI crawlers can read the words at all, because that is a pass or a fail. Count the words outside hidden containers in the page source. Advice on writing for AI answers comes after that test, never before it.