Skip to content
seostack

Technical & Auditing

New in V3

Audit your whole site, one section of it, or a single URL

Crawl your website and get an SEO health score with every issue behind it, indexing analysis joined to Google's own URL Inspection data, schema validation, Core Web Vitals, AI crawler access and an AI generated action plan telling you what to work on first.

  • 100% data privacy
  • 99.99% uptime
  • Nothing to configure
  • Export anytime, no limits

Trusted by leading companies

The problem

Most site audits hand you a spreadsheet of four hundred issues with no sense of which ones Google actually cares about, so it gets opened once, nobody prioritises it and nobody finishes it.

The tool

Crawl the site, score it, then work down the list

The SEO Site Audit crawls your website, runs every page through the same technical, indexability, schema and content detectors, then gives you a single health score with all of the evidence behind it, so what you get out of it is a prioritised list of work rather than four hundred rows nobody reads.

Run SEO audit

Internal links from the homepage, then the sitemap

Crawling

29 / 29 pages

  • /200
  • /about/200
  • /blog/200
  • /case-studies/200
  • /clients/200
  • /local-seo-services/200
  • /seo-results/200
  • /locations.kml200
81Excellent
Issues
15
Indexed
26 / 29
Duration
20s

Illustrative. Choose an audit type to run it again, the SEO health score out of 100 is the same score you get in the product.

  • Crawl as much or as little as you need

    You can crawl a whole website, cap it at a page limit, or point it at a single URL, so whether you have just taken on a 40,000 page ecommerce site or you are checking one landing page before it goes live, it is the same set of checks either way.

  • One score, and the reasons behind it

    Every audit produces an SEO health score out of 100 with a rating, and because each run is stored you get the trend as well, which is usually how you demonstrate that the technical work you have done actually changed something.

  • A list you can hand to a developer

    Issues are grouped by family and severity with the number of pages affected against each one, and the AI generated action plan tells you which to work on first & why, so nobody has to interpret a spreadsheet before anything gets fixed.

How you run it

Three ways to audit, depending on what you are actually asking

Most audit tools give you one mode and expect you to work around it, whereas the question you have is usually either how healthy is this site overall, what is wrong with this section, or why is this one page underperforming.

01

Quick Health Check

A homepage probe that still runs every detector, so it takes seconds rather than minutes. Typically what you want when you are pitching for a site, taking one on, or you just need a read on whether something obvious is broken.

02

Full Website

Follows internal links out from the homepage and then fills the remaining pages from your sitemap up to whatever crawl limit you set, which gives you proper coverage of the site instead of a sample of it.

03

Page-Level Audit

One URL inspected properly, with optional JavaScript rendering for React, Vue and Angular pages where the raw HTML is an empty shell. Useful before a page goes live and useful again when a page is not performing.

  • Crawl limit

    Set how many pages the audit is allowed to fetch, so a large site can be audited in sections rather than all at once.

  • Device

    Audit as desktop or as mobile, because plenty of issues only exist on one of them.

  • What to include

    Core Web Vitals, technical SEO, indexability, schema, security and content are all individually switchable.

  • Which crawler

    Run it with our crawler, DataForSEO or Firecrawl, and because every run is stamped with the crawler and the time, you can compare coverage and score between them.

The Run SEO Audit panel in SEO Stack with audit type, page URL, JavaScript rendering, crawl limit, device and the detectors to include
Everything an audit run needs is on one panel, and the crawler you pick is recorded against the result so two runs are always comparable.

Inside the tool

From the overview down to a single line of source

Coverage, score and priorities on one screen

  • Audit coverage summary with pages crawled, crawl vs indexed, sitemap URLs and crawl errors
  • SEO health score with its rating, plus the trend since your earlier audits
  • CrUX field data, Google indexing, GA4 organic traffic, schema validity and AI readiness side by side
  • Top issues by priority, filterable by technical, indexability, schema or content
  • Weekly full audits on a schedule, and an alert when a new critical issue appears
The SEO Site Audit overview page in SEO Stack showing audit coverage, an 81 out of 100 health score, the score trend and the top issues by priority

What the score covers

Six readings, not one number in isolation

A health score on its own is not much use to anybody, so the audit shows you the readings that make it up, and each one links through to the detail behind it.

The score strip in SEO Stack showing an 81 out of 100 SEO health score alongside CrUX, Google inspection, GA4, schema and AI readiness readings
The strip that sits above every audit, taken from a real run.

SEO health score

Your overall score out of 100 with a rating against it, calculated from the full site audit rather than from the homepage alone.

CrUX

Core Web Vitals from Chrome field data, so LCP, INP and CLS are what real visitors experienced rather than a lab test. Low traffic origins will not have enough data yet, and we say so instead of inventing a number.

Inspect

How many of your crawled URLs have been checked against Google URL Inspection, and when that data was last updated.

GA4

Organic sessions pulled through from your connected GA4 property, so technical health and actual traffic are in the same view.

Schema

The percentage of your crawled pages with valid structured data, along with the pages where a required field is missing.

AI readiness

How many of the AI crawlers we check for are allowed to reach your site, which matters a great deal more now than it did two years ago.

The issues

Four families, every one with the pages behind it

Issues are only useful if you can tell which are serious, which are cosmetic and which pages carry them, so everything the audit finds is filed by family, rated by severity and counted by pages affected.

Issues by priority

High
2
Medium
6
Low
3
Pages affected
81
  • Page is set to noindex but is linked from navigation

    NOINDEX

    3High
  • Page is missing a <title> tag

    MISSING_TITLE

    1High
  • Title is too long (78 chars; recommended 60 or fewer)

    TITLE_TOO_LONG

    19Medium
  • Meta description is too long (175 chars; recommended 160)

    META_DESCRIPTION_TOO_LONG

    15Medium
  • WebPage JSON-LD is missing required field(s): name or headline

    INVALID_SCHEMA

    6Medium
  • Duplicate meta description shared by 2 crawled pages

    DUPLICATE_META_DESCRIPTION

    5Medium
  • Canonical points at a different URL to the one crawled

    CANONICAL_MISMATCH

    4Medium
  • Page has no internal links pointing at it

    ORPHAN_PAGE

    2Medium
  • 23 image(s) missing alt text

    MISSING_IMAGE_ALT

    11Low
  • Page has no JSON-LD @type structured data

    MISSING_SCHEMA

    8Low
  • Server responded in over 1,200ms

    SLOW_RESPONSE

    7Low

Illustrative. Filter by family, sort by severity or pages affected, then open any issue to see every URL it applies to.

  • Technical

    Response codes, redirect chains, slow server responses, orphan pages, broken internal links and the things that stop a crawler getting round your site properly.

  • Indexability

    Noindex directives, canonical mismatches, robots.txt blocks and pages Google is being told to ignore, whether you meant it or not.

  • Schema

    Missing JSON-LD, invalid structured data and required fields left empty, checked per page rather than as a single sitewide pass or fail.

  • Content

    Missing or duplicated titles and meta descriptions, titles beyond the length Google will show, thin pages and images with no alt text.

The pages carrying the most problems are usually the fastest win

Most affected pages ranks your URLs by how many issues each one has, and when a single page is carrying nine of them it is very often one template or one plugin causing all nine, so you fix it once and the count drops across everything built the same way. Analysing any URL from that list opens its own page audit, so you go from a sitewide number to the specific line of source in two clicks.

The most affected pages panel in SEO Stack ranking five URLs by the number of issues each one carries

Indexing analysis

Which of your pages Google has actually indexed

Crawling a page yourself only tells you the page exists, it tells you nothing about whether Google has it, so the audit joins your crawl to Google's own URL Inspection data and shows you both together.

  • Every URL from your latest full audit, joined to Google URL Inspection results for the same URL
  • Indexing allowed or blocked, the page fetch result, the date Google last crawled it and where the inspection came from
  • Filter to indexed, not indexed, or not checked yet, then analyse any URL to see the reason Google gave
  • Results are stored as they are collected, so coverage builds up across runs instead of resetting each time

Worth being clear about

This is a sample joined to URL Inspection, it is not Google's full Coverage report, and Google limits how many inspections any property can run in a day. So when a URL shows as not checked yet, it means we do not have an inspection result for it yet rather than that anything is wrong with the page, and the tool says exactly that instead of guessing.

The crawl and Google indexing summary in SEO Stack showing 29 crawl URLs, 26 indexed, none not indexed and three not checked yet
The sample summary, with the filters underneath it.
The Google index status panel for a single URL in SEO Stack showing indexing allowed, a successful page fetch and the date Google last crawled it
The same data for one URL, on its page audit.

AI readiness

Whether AI crawlers can reach your content at all

Before you worry about how often you are cited in ChatGPT or Gemini, it is worth checking that the crawlers behind them are allowed to fetch your pages, because a robots.txt rule written years ago will happily block the lot.

  • The bots we check

    GPTBot, OAI-SearchBot, ChatGPT-User, Google-Extended, ClaudeBot, Claude-SearchBot, anthropic-ai, PerplexityBot, cohere-ai and YouBot, each shown as allowed or blocked against your live robots.txt.

  • llms.txt, robots.txt and your sitemap

    All three are detected and reported, so you can see at a glance what is in place and what is missing.

  • This is access, not citations

    Technical readiness tells you whether a model can fetch you, it does not tell you whether it mentions you, and those are two genuinely different problems. AI Visibility covers the second one.

The AI crawler access panel in SEO Stack listing ten AI bots with an allowed or blocked status against each one
Ten of ten allowed here, and llms.txt flagged as missing.

Render analysis

What the server sent, against what the crawler ended up with

Rendering problems are some of the most expensive issues in SEO because everything looks correct in a browser, so every crawled page keeps its raw HTML, its rendered HTML and a full page screenshot as evidence.

Crawled page

1<!DOCTYPE html>2<html lang="en-GB">3  <head>4    <title>Commercial Roofing Contractors | Northwest</title>5    <meta name="robots" content="index, follow">6  </head>7  <body>8    <h1>Commercial roofing contractors</h1>9    <p>We install and maintain flat roofing…</p>10    <a href="/services/">Our services</a>11  </body>
Word count
1,240
H1 count
1
Internal links
24
Schema types
Organization, Service

Illustrative, based on a client rendered site. Every on page signal an auditor reads only exists once the page has been rendered.

  • Raw HTML

    Exactly what the server returned, before any JavaScript has run. On a client rendered site this is often an empty shell with no headings, no body copy and no internal links in it at all.

  • Rendered HTML

    The same page after JavaScript has executed, which is what the on page signals are read from. Comparing the two is the quickest way to prove that your content only exists after rendering.

  • Full page screenshot

    A capture of the page as the crawler saw it, so when a client tells you the page looks fine you have the version the crawler got rather than the version their browser shows them.

The rendered HTML view of a crawled page in SEO Stack with the line containing the title tag highlighted
The source, with the lines behind each issue highlighted, so you are not searching for them by hand.
The full page screenshot of a crawled page captured by SEO Stack at crawl time
The screenshot captured at crawl time, kept with the audit as evidence.

What to do about it

An action plan, and the evidence underneath every line of it

Knowing what is wrong is the easy half. The AI generated action plan reads your audit and puts the work in an order, and every recommendation links back into the crawled source so whoever picks it up can verify it before changing anything.

Two AI generated action plan cards in SEO Stack, each with an impact rating, the number of pages affected and sample URLs
Each action explains the problem, tells you what to change and shows you which pages it applies to.
Fix guidance cards for a single URL in SEO Stack, each with a priority, an impact rating and a link into the crawled source at a specific line

Every fix points at the line it came from

On a page audit each recommendation carries a priority and an impact rating, and the button next to it opens the crawled source at the exact line, i.e. L14 for a title that is too long or L40 for a JSON-LD block missing a required field. Naturally that makes the handover to a developer a lot shorter, because you are giving them the problem, the page and the line rather than a description of something they then have to go and find.

More on recommendations
The SEO health score trend chart in SEO Stack with the current score of 81 out of 100
Every audit is kept, so the score becomes a line rather than a one off reading.

Proving it worked

A score you can watch move, and a competitor to measure it against

Technical SEO is difficult to report on because the work is invisible to everybody outside the team doing it, so keeping every audit and charting the score gives you something concrete to show for a month of fixes. You can also schedule a weekly full audit and have it alert you when a new critical issue appears, which is usually how you catch a deployment that has added a noindex or broken a template without anybody noticing.

The competitor benchmark sits alongside it and puts your Core Web Vitals against a competitor domain of your choosing, because a score in isolation does not tell you whether you are ahead or behind in the market you are actually competing in.

How SEOs use it

What the SEO Site Audit is actually good for

01

Onboard a new client properly

Run a quick health check while you are still on the call, then a full crawl afterwards, and you have a scoped list of technical work and an idea of the state of the site before you have committed to anything.

02

Catch a bad deployment

Schedule a weekly full audit with alerting on new critical issues, and a template change that adds a noindex or drops your canonical gets found in days rather than when the traffic falls off.

03

Work out why one page will not rank

A page level audit gives you the score, the issues with line numbers, the on page signals and Google's own index status for that URL, which between them usually answer it.

04

Check you are visible to AI crawlers

If GPTBot or ClaudeBot are blocked then nothing you do about prompts or content is going to help, so the AI crawler access check is worth running before any of that work starts.

05

Prove technical work paid off

Audit before, do the work, audit after, and you have the score, the issue counts and the trend line to put in front of whoever signed off the time.

06

Turn an audit into a plan people follow

The AI action plan converts the issue list into a prioritised set of tasks with impact ratings and affected pages, which is the difference between an audit that gets implemented and one that gets filed.

What you get out of it

The outcome, not the feature list

01

Hand developers a prioritised list with line numbers, not a data dump

02

Prove which of your pages Google has indexed, and which it has skipped entirely

03

See whether AI crawlers can reach your content before you worry about citations

Connect a property. Watch the data start stacking.

Warehousing begins the moment you connect your Search Console property, there is no Google Cloud project to set up, no BigQuery and no schema to design. You simply connect your property and SEO Stack starts storing every row of your data from that day onwards.

  • Credit card required
  • Cancel within the trial and you won't be billed
  • No contracts