Technical SEO Audit Service: Scope, Deliverables, Pricing

A technical SEO audit service costs between $500 and $15,000, covers 12 to 20 distinct surfaces, and ends in a prioritized fix list your development team can ship inside 30 to 90 days. That is the entire product. Everything above that price is either scale or implementation support, and everything below it is a tool export somebody else ran for you.
Buyers get this wrong in two directions. Some pay $300 for a crawl, receive 2,000 rows of CSV, and believe they bought an audit. Others spend $12,000 on an enterprise engagement for a 40-page brochure site whose only real problem was a canonical tag pointing at the wrong URL.
The gap between them is not price. It is whether you can name the scope before you pay.
What a Technical SEO Audit Service Covers
A technical SEO audit examines everything that can stop a search engine from crawling, rendering, indexing, and ranking your pages. It does not judge whether your articles are any good. It judges whether Googlebot can read them at all.
A thorough pass on a mid-sized site surfaces 20 to 80 issues.
A good one then throws most of them away and tells you which 5 to 10 are worth a sprint.
Anything short of the table below is a partial audit. The last column is what typically ships at the cheapest tier, based on what those packages advertise, not a guarantee from any specific provider. For the wider version that folds in content and off-page work, see our 9-step website audit process.
| Surface | What it checks | Primary tool | In a sub-$1,500 audit |
|---|---|---|---|
| Crawlability | robots.txt rules, response codes, crawl depth, internal link graph | Screaming Frog, Search Console | Usually |
| Indexation | index and noindex directives, canonicals, soft 404s, duplicate clusters | Screaming Frog, Search Console | Usually |
| Core Web Vitals | LCP, INP, and CLS at the 75th percentile, broken out by template | PageSpeed Insights, CrUX | Site average only |
| Schema markup | validity, missing recommended properties, types worth adding | Rich Results Test | Rarely |
| XML sitemaps | completeness, honest lastmod dates, no non-indexable URLs | Screaming Frog | Usually |
| Robots and meta directives | blocked CSS or JS, staging leaks, conflicts with canonicals | Search Console, manual | Usually |
| Canonical tags | self-referencing canonicals, pagination, faceted and parameter URLs | Screaming Frog | Sometimes |
| Hreflang | language and region pairs, bidirectional links, x-default fallback | Screaming Frog | Rarely |
| JavaScript rendering | rendered DOM against raw HTML, server-side versus client-side | URL Inspection, DevTools | Rarely |
| Log file analysis | what Googlebot actually crawled and where budget is wasted | Log File Analyser, BigQuery | No |
| Speed and resources | image formats, font loading, bundle sizes, compression, CDN behavior | WebPageTest, Lighthouse | Partly |
| HTTPS and security | TLS setup, mixed content, HSTS, www and protocol consolidation | SSL Labs, manual | Usually |
| Byte budget | whether critical HTML lands inside Googlebot’s 2MB fetch ceiling | Screaming Frog, curl | No |
| AI crawler access | which training and search crawlers your robots.txt actually allows | robots.txt, server logs | No |
| Render statelessness | content that only appears after a stored-session or local-storage check | URL Inspection | No |
| Measurement baseline | whether your before and after window crosses the September 2025 reset | Search Console | No |
Read the last column before you read the price. That is where the tiers actually differ, and it is the part a proposal will describe as “comprehensive” rather than list.
A cheap audit is not a small audit. It is a narrow one.
The Surfaces Most Audit Scopes Miss
The checklists in circulation were mostly written before 2024. They remain broadly correct and they are now incomplete in 4 specific places, each of which is checkable in an afternoon.
The 2MB Byte Budget
Google published the number on March 31, 2026. Googlebot fetches up to 2MB per URL, and that ceiling includes the HTTP response headers. PDFs get 64MB. Crawlers that set no limit of their own default to 15MB.
Cross the line and Google does not reject the page. It stops reading at the cutoff and hands the first 2MB to indexing and the Web Rendering Service as though that were the whole file. Bytes after the cutoff are never fetched, never rendered, never indexed.
It behaves like a fuel tank rather than a gate. Nobody turns you away at the 2MB mark. You simply coast to a stop wherever the fuel ends, and whatever was still ahead of you never gets seen.

Referenced files carry their own separate 2MB counters, so external stylesheets and scripts do not eat the parent page’s budget. Inline ones do. So do base64 images, and so does a mega-menu that ships 300KB of markup before the article starts.
Google’s own guidance is to keep the HTML lean and push the load-bearing elements high in the document: meta tags, the title, link elements, the canonical, and structured data. The renderer is also stateless, clearing local storage and session data between requests, so anything your page reveals only to a returning visitor is invisible to it.
An audit that never measures your heaviest template against this ceiling has not checked whether Google can see your content.
It has checked whether your content exists.
AI Crawler Access
Blocking a company’s training crawler does not block its search crawler. They are separate tokens with separate jobs, and most robots.txt files get this wrong in one direction or the other.
| Token | Operator | What it does | Blocking it costs you |
|---|---|---|---|
| GPTBot | OpenAI | Collects content for model training | Nothing in ChatGPT search |
| OAI-SearchBot | OpenAI | Surfaces sites in ChatGPT search results | Visibility inside ChatGPT search |
| OAI-AdsBot | OpenAI | Validates ad landing pages | Ad landing page checks |
| ChatGPT-User | OpenAI | Fetches a page a user asked about | User-requested fetches, though OpenAI notes robots.txt may not apply here |
| ClaudeBot | Anthropic | Collects content for model training | Nothing in Claude’s search |
| Claude-SearchBot | Anthropic | Improves Claude search result quality | Visibility inside Claude search |
| Claude-User | Anthropic | Fetches a page a user asked about | User-requested fetches |
If the goal is to stay out of training corpora while staying citable in AI answers, that needs both rows handled separately, not one blanket rule. Anthropic also honors Crawl-delay, so rate limiting is available where a full block is too blunt. Our guide to AI crawlers and how to control them covers the full token list and the directives each one respects.
The llms.txt Line Item
If a proposal includes setting up llms.txt, that line is worth nothing and you can say so out loud.
Google’s documentation on AI features in Search is unambiguous: “You don’t need to create new machine readable files, AI text files, or markup to appear in these features.” The same page adds that no special schema.org structured data is required either.
The adoption data agrees. Ahrefs examined 137,210 domains in May 2026. About 28% published a valid llms.txt file, and 97% of those files received zero requests that month. Most of the traffic that did arrive came from SEO auditing tools checking whether the file existed, not from AI systems reading it.
A file that only the tools looking for it ever request is not a ranking factor. It is a mirror.
The longer argument, including what the standard was designed to solve, sits in our breakdown of whether llms.txt does anything.
The Search Console Baseline Reset
Google switched off the &num=100 search parameter in mid-September 2025. Rank trackers had been using it to pull 100 results per request, and every one of those requests logged an impression against each site sitting between positions 11 and 100.
When it stopped, those phantom impressions went with it. Across an analysis of 319 properties, 87.7% lost impressions and 77.6% lost unique ranking terms. Clicks barely moved, because bots never clicked. Average position appeared to improve on many sites purely because the low-ranking noise had left the dataset.
Nothing about those sites changed. The instrument did.
That matters for one reason: if an audit compares a window from early 2025 against a window from this year, part of the difference is the reporting change rather than the fix. Ask which dates the comparison uses before you accept the result. Our Search Console audit workflow walks through the reports that survived the change and the ones that need a fresh baseline.
Technical SEO Audit Pricing
Prices cluster into 4 bands. The useful way to read them is by what each one excludes, because the inclusions all sound identical in a proposal.
| Tier | Price | Site size | What you get | What you should not expect |
|---|---|---|---|---|
| Quick audit | $500 to $1,500 | Under 500 URLs | Automated crawl review across 8 to 10 surfaces, a PDF report, a basic fix list | Log file analysis, rendering tests, or anyone answering questions afterward |
| Mid-tier audit | $2,000 to $5,000 | 500 to 10,000 URLs | All 12 classic surfaces, partial log analysis, a fix list ranked by a human, around 30 days of questions | A team that ships the fixes for you |
| Enterprise audit | $8,000 to $25,000 | 10,000+ URLs, multilingual, or ecommerce | Full log analysis, custom crawling, a phased roadmap, developer workshops, 90-day support | Speed. 4 to 8 weeks is the normal delivery window |
| Specialized audit | $10,000 to $50,000+ | Migrations, replatforming, hreflang rebuilds | A scope built for one project and one risk | Anything reusable. The deliverable expires with the project |

The jump that matters is not the price. It is the vertical gap in support days between the second and third tier, because that is the part that decides whether the fixes ever ship.
You are buying weeks of somebody’s attention, not a document.
Those bands are not arbitrary. Ahrefs surveyed 439 SEO service providers and published what they charge.
| Pricing model | Agencies | Consultants | Freelancers |
|---|---|---|---|
| Monthly retainer | $3,209 | $3,250 | $1,348 |
| Hourly rate | $98.90 | $171.18 | $71.59 |
| Average per project | $9,507 | $8,685 | $2,348 |
Across every respondent, the average retainer came to $2,917, the average hourly rate to $111, and the most common per-project fee landed between $2,501 and $5,000. Which reframes the mid tier completely: a $5,000 audit is not a premium purchase. It is the middle of the market, and roughly half of what an agency charges for an average project.
For a working reference point, our own technical SEO engagements run $2,000 for an audit sprint with a 30-day action plan, $3,800 for the audit plus implementation support and validation across 6 to 8 weeks, and $5,500 per quarter for ongoing technical leadership. Price moves with site size, stack complexity, and how many page templates are in play. If you are comparing that against broader retainer work, our notes on SEO service pricing and scope cover the rest of the ladder.
What a Technical SEO Audit Report Contains
A deliverable worth paying for arrives as 3 artifacts, and the second one is where the money is.
- The findings report. Usually 30 to 80 pages explaining each issue: what it is, where it happens, why it matters, how severe it is, and the evidence behind that judgment.
- The prioritized fix list. Typically 10 to 30 items ranked by impact against effort, each with a description, acceptance criteria, an effort estimate, and the expected result.
- Implementation support. 30 to 90 days of answering developer questions, reviewing pull requests, and retesting after deploys. This is the line that separates a $2,000 audit from a $10,000 one.
A fix list item should be specific enough to become a ticket without translation. Something like this:
Add self-referencing canonical tags to every URL on the /product/ template.
Acceptance criteria: all URLs matching /product/* return a canonical pointing to themselves, confirmed on 20 sampled URLs through URL Inspection.
Effort: 2 developer hours. Expected result: consolidates duplicate signals across 340 URLs.
If your fix list does not read like that, your developers will spend their first sprint turning it into tickets. You are paying for that sprint either way, so it is cheaper to buy the tickets.
SEO Audit Statement of Work Template (PDF and Word)
Scope disputes on audits almost always come from the same gap: the client expected fixes and bought findings. This statement of work draws that line before the work starts.
- A tick-box list of every check included, grouped by crawl, performance, on-page, and off-site
- Deliverable definitions with formats, plus how findings get prioritised
- An explicit out-of-scope list, including implementation of quick fixes
- Access requirements, timeline, fee bands by site size, and the three implementation paths
Free to use for your own client work, whether you run audits or are buying one.
Tools a Technical SEO Auditor Uses
No single tool covers the full surface list. A serious audit combines 4 or 5, and the totals below are worth knowing before you evaluate a quote.
| Tool | What it is for | Price | Where it stops |
|---|---|---|---|
| Screaming Frog SEO Spider | Desktop crawling, the industry default | £199 per year | The free tier stops at 500 URLs |
| Screaming Frog Log File Analyser | What Googlebot actually crawled | £99 per year | Free tier caps at 1,000 log lines and 1 project |
| Sitebulb Lite | Visual crawl audits for small sites | $18 per month | 10,000 URLs per audit |
| Sitebulb Pro | Full audits with comparisons and scheduling | $42 per month, plus $11 per extra user | 500,000 URLs per audit |
| Sitebulb Cloud | Team crawling without desktop limits | From $125 per month | Plan-dependent crawl volume |
| Google Search Console | Real index coverage and query data | Free | Only properties you can verify |
| PageSpeed Insights and CrUX | Field and lab Core Web Vitals | Free | Field data needs enough real traffic |
| Ahrefs | Historical trend context and issue cross-checks | From $29 per month, $129 for the Lite plan | Third-party estimates, not your own data |
Add it up. Both Screaming Frog licences come to £298 a year, Sitebulb Pro adds about $504, and Search Console, PageSpeed Insights, CrUX, and the Rich Results Test cost nothing at all. The full paid stack lands under $1,000 a year.
So a $5,000 audit is not buying software. It is buying the 20 to 40 hours of analyst time that turn 4 tool outputs into 1 ordered list, which is also why the cheap tier has to be automated.
Nobody can sell you 30 hours for $300.
If you want to run the free layer yourself first, our roundup of SEO tools worth paying for separates the ones that earn a licence from the ones that duplicate Search Console.
How Long a Technical SEO Audit Takes
Delivery time tracks analyst hours, not calendar promises.
- Quick audit, small site: 4 to 8 hours of analyst time, delivered in 3 to 7 business days
- Mid-tier audit: 16 to 40 hours, delivered in 10 to 20 business days
- Enterprise audit: 60 to 200 hours, delivered in 4 to 8 weeks
- Log file analysis alone: 15 to 30 hours of that total on a high-traffic site
Anyone promising a complete technical audit in 24 hours is selling a template with your domain pasted into it.
The findings that pay for the engagement almost never come from the first tool pass. They come from the third or fourth cross-reference, when the crawl data disagrees with the log data, or the rendered DOM disagrees with the raw HTML, and somebody has to work out which one is lying.
Red Flags in Cheap Audits
Not every inexpensive audit is bad. Most are, and they share a recognizable set of tells.
- The scope names no surfaces. A proposal that says “comprehensive technical review” without listing what it covers is hiding what it skips.
- The deliverable is a CSV export. Crawlers produce useful data. They do not produce an audit. 2,000 unranked rows is homework, not analysis.
- No access to Search Console or analytics is requested. Without your actual performance data, they are auditing a stranger’s view of your public URLs.
- Log file analysis is missing entirely. On any site with real scale, skipping logs means guessing at Googlebot’s behavior instead of reading it.
- Nothing is prioritized. 80 issues without a ranking is unusable. A real audit says fix these 8 first, these 15 next, and ignore the other 40.
- Schema validation is absent. Structured data carries weight in rich results and in how answer engines parse a page. An audit that skips it is working from an old checklist.
- llms.txt appears as a deliverable. It is billable work that does nothing, which tells you how current the rest of the methodology is.
- The report reads like a template. Ask for a 10-minute call before you buy. Someone who crawled your site can talk about your site. A template seller can only talk about audits.
What Happens After the Audit
Buying the audit is the easy half.
Shipping the fixes is where the return is won or quietly lost.
The failure pattern barely varies. The report lands with 30 items, the development team says they will get to it next sprint, and 6 months later 3 items are done. Nothing was wrong with the report. It just never became code.
On a recent service-led WordPress site, 71 indexed URLs were cannibalizing 12 priority service pages. Pruning them, cleaning up the canonicals, and restructuring internal links lifted qualified traffic to those service pages by 43% in 9 weeks.
Finding that problem took a day.
The 43% came from somebody actually deleting the 71 URLs.
So the structural fix is to buy the implementation with the diagnosis. Either the provider has a team that can ship the changes, or they commit to a defined window of pair work with yours: pull request reviews, a shared channel, weekly check-ins, and retesting after each deploy.
When an Audit Is Worth It
The decision comes down to scale, risk, and whether you can act on the findings.
A technical audit earns its price when:
- The site has 500 or more URLs and organic traffic worth protecting
- Rankings moved and no algorithm update explains it
- You are migrating, replatforming, or consolidating domains
- You suspect indexation, rendering, or Core Web Vitals problems but cannot isolate them
- You need a technical case to win development priority internally
- Your stack is JavaScript-heavy, headless, or spread across multiple domains
It is usually the wrong purchase when:
- The site is under 100 URLs and mostly static
- Your real constraint is content quality or link authority
- No development capacity exists to act on the findings this quarter
- You were audited inside the last 12 months with no platform changes since
Audit fatigue is real. Two full audits in 12 months on an unchanged site is one audit and one invoice. For a lighter cadence between engagements, our monthly SEO checklist covers what to watch without commissioning anything.
The Limits
An audit cannot tell you whether your content deserves to rank. It measures reachability and comprehension, which is a different question, so a page that is flawlessly crawlable and genuinely unhelpful stays exactly where it is. You still need someone to judge the writing.
It cannot close an authority gap. If 3 competitors hold a decade of links and you hold 8 months, clean canonicals will not bridge that, and the fix is a link and content programme measured in quarters rather than sprints.
It cannot survive your next release. An audit is a photograph of one day, so shipping a new template 6 weeks later expires a good share of the findings. That is why the validation window matters more than the page count of the report.
And it cannot manufacture development capacity. This is the constraint that actually decides the return, and it is the one buyers skip while comparing quotes, so book the sprint before you book the audit.
What Quietly Ruins an Audit
None of these look like mistakes while they are happening.
Commissioning the audit before booking the development time. The report arrives, the sprint is already full, and by the time capacity opens up the findings are 2 releases out of date.
Handing the fix list to a developer with no acceptance criteria. They will build what they think you meant, and you will find out at the next audit, which you will also pay for.
Measuring the result in total organic traffic. Technical fixes usually move one template or section first, so a sitewide number can hide a 40% lift on the 12 pages that actually close deals.
Treating the auditor’s severity ranking as your priority order. Their ranking is technical and yours should be revenue-weighted. Only you know which pages carry the pipeline.
Fixing the easy items first because they are easy. Redirect chains and alt text clear the list quickly and change nothing, while the render-blocking template that costs you the category page sits at item 14.
Letting the engagement end at the report. A diagnosis without treatment is an expensive way to learn what is wrong with you.
Final Remarks
A technical SEO audit is the highest-leverage thing most businesses can buy from an SEO provider, and it is also the easiest to waste. The audit that gets implemented can pay for itself on a single template fix. The one that sits in a shared drive returns nothing at all.
Not a small return. Zero.
Which means the question worth asking is not who finds the most issues. Anyone with a crawler finds issues. Ask which surfaces they cover, ask whether their scope has been updated since 2024, and ask who will be answering your developer’s questions in week 7.
If a provider cannot answer all 3, you are not buying an audit.
You are buying a document.
FAQs on Technical SEO Audits
How much does a technical SEO audit service cost?
Quick audits run $500 to $1,500 for sites under 500 URLs. Mid-tier audits cost $2,000 to $5,000 for sites between 500 and 10,000 URLs. Enterprise audits for multilingual or ecommerce sites above 10,000 URLs run $8,000 to $25,000. Specialized work such as migrations or hreflang rebuilds can exceed $50,000. For context, Ahrefs surveyed 439 providers and found the most common per-project fee sits between $2,501 and $5,000.
What does a technical SEO audit include?
A current audit covers 16 surfaces: crawlability, indexation, Core Web Vitals, schema markup, XML sitemaps, robots and meta directives, canonical tags, hreflang, JavaScript rendering, log file analysis, page speed and resources, HTTPS and security, Googlebot’s 2MB byte budget, AI crawler access, render statelessness, and your measurement baseline. Deliverables should include a findings report, a fix list ranked by impact, and 30 to 90 days of implementation support.
How long does a technical SEO audit take?
Quick audits take 4 to 8 hours of analyst time and arrive in 3 to 7 business days. Mid-tier audits take 16 to 40 hours across 10 to 20 business days. Enterprise audits take 60 to 200 hours across 4 to 8 weeks, with log file analysis alone consuming 15 to 30 of those hours on a high-traffic site.
What separates a cheap audit from an expensive one?
Cheap audits export a crawl and call it a report. Expensive audits add log file analysis, rendering tests, schema validation, and a fix list a human ranked against your revenue pages. The largest single difference is implementation support: the cheap tier delivers a PDF, while the higher tiers stay on for 30 to 90 days of developer collaboration.
Do I need log file analysis in my audit?
Yes, if your site exceeds roughly 1,000 URLs or carries meaningful traffic. Log files show what Googlebot actually crawled rather than what you assume it crawled. They expose wasted crawl budget, ignored sitemap URLs, and template-level indexation problems that crawl tools cannot detect on their own.
What tools do technical SEO auditors use?
Screaming Frog SEO Spider at £199 per year is the default crawler, with its Log File Analyser at £99 per year. Sitebulb runs $18 per month for Lite and $42 for Pro. Search Console, PageSpeed Insights, CrUX, and the Rich Results Test are free. The full paid stack costs under $1,000 a year, which is why audit pricing reflects analyst hours rather than software.
How often should I get a technical SEO audit?
Every 12 to 18 months for most sites, or immediately after a migration, replatform, or redesign. High-growth and enterprise sites benefit from lighter quarterly checks. Running two full audits inside 12 months on an unchanged site rarely surfaces anything new.
Does my site need an llms.txt file?
No. Google’s documentation on AI features states that you don’t need to create new machine readable files, AI text files, or markup to appear in AI Overviews or AI Mode. An Ahrefs study of 137,210 domains in May 2026 found that 97% of published llms.txt files received zero requests that month, and most of the traffic they did get came from SEO tools checking whether the file existed.
Should I block AI crawlers in robots.txt?
Only with the specific token in mind. Training crawlers and search crawlers are separate: blocking GPTBot or ClaudeBot stops training collection but leaves OAI-SearchBot and Claude-SearchBot free to index you, and blocking the search tokens removes you from those assistants’ results. Decide the two questions separately rather than applying one blanket rule.
Why did my Search Console impressions drop in September 2025?
Google disabled the &num=100 search parameter in mid-September 2025, which removed the phantom impressions that rank-tracking bots had been generating for positions 11 to 100. An analysis of 319 properties found 87.7% lost impressions and 77.6% lost unique ranking terms, while clicks stayed flat. Your performance did not change, only its measurement, so any audit comparing a window before that date against one after it is partly measuring the reporting change.
Tell Google you want more of this.
Add Gatilab as a preferred sourceOne tap, and this site shows up more often in your own Top Stories, AI Overviews and AI Mode. Remove it any time.