Free technical SEO audit

See your site the way a crawler does

A 24-factor technical and LLM-visibility audit of any site. It fetches your pages twice — once as raw HTML, once after JavaScript runs — and scores what it finds against a published specification, citing a source for every finding.

Free · No sign-up · ~8 minutes · Respects robots.txt

A domain is enough. The audit works out the rest.

Options

One URL per line, up to 10. Leave empty and the audit picks a spread of page types itself.

Free. Takes about 8 minutes — you can close this tab and come back to this page. A work email unlocks the full report.

What it checks

24 scored factors, across six sections

Each section carries a fixed weight in the overall score. The percentages below are those weights — not a guess at what matters.

  • 30%

    Crawl & Indexing

    robots.txt, XML sitemaps, HTTP status codes, redirect chains, canonical tags, meta robots, and whether each sampled page is technically eligible to be indexed at all.

  • 20%

    Structured & International

    Structured data against a fixed schema set, and hreflang — including whether the language alternates you declare actually resolve.

  • 15%

    On-Page SEO

    Title tags, meta descriptions, the H1 and heading order, and internal linking — checked per page, then reconciled across pages for duplicates.

  • 15%

    LLM Content Readiness

    Raw content availability, entity clarity, content structure, answer extractability and freshness: whether a model can lift an answer out of the page.

  • 10%

    LLM / AI Access

    Whether GPTBot, ClaudeBot, PerplexityBot and the rest are allowed in robots.txt, whether your content survives with JavaScript disabled, and llms.txt.

  • 10%

    Performance

    Core Web Vitals from real-user field data where Google has it, falling back to a lab pass — reported per page, never as one site-wide number.

Two further factors are reported as advisory and never scored, because the evidence behind them cannot carry a score.

How it works

A sequential pipeline, gated at the front

About eight minutes end to end. Nothing is sampled before the gate clears.

  1. 1

    It reads robots.txt first

    Execution starts at the entry gate. If robots.txt cannot be read, the audit stops and says so rather than reporting the rest as healthy. A 404 passes the gate — Google treats it as no restrictions, and the opposite reading is the most common false positive in audit tooling.

  2. 2

    It picks a spread of pages

    It harvests the links on your homepage, drops anything robots.txt disallows, groups by URL pattern, and takes one page per group before any group gets a second. Target slate: homepage, service pages, product, pricing, category, two blog templates, author, about.

  3. 3

    It fetches each page twice

    Once as raw HTML, once after JavaScript has run. The difference between the two is the finding: it is how the audit knows whether your content exists for a crawler that does not execute scripts.

  4. 4

    It scores, then reconciles

    Page-level checks run, then cross-page ones — duplicate titles and H1s, canonical clusters, schema @id stability. An unfilled slot in the sample is reported with its reason, never padded with an unrelated page.

Why trust it

Most free checkers guess. This one declines to.

The difference between a tool you can send to a client and one you cannot is what it does when it does not know.

Every finding cites a source

Each factor and each child finding carries a reference: the publisher, the document, and what that source establishes for that specific finding. A finding whose only support is industry commentary is automatically capped from FAIL to WARN, with the reason stated.

It refuses to score what it cannot test

A missing API key, a page it was not allowed to fetch, a browser-only observation it could not make — each is recorded as NOT_TESTABLE with a reason code, never as a defect in your site. A thin report says why it is thin.

It will not invent a rule

Where the checklist names a factor the specification gives no rules for, the audit displays it and declines to score it. No threshold on any finding is made up to fill a gap.

It tells you what it could not see

Audits run without a browser cannot observe what is visible without interaction — a collapsed accordion, an off-screen tab. Those checks report NOT_TESTABLE rather than guessing from the markup.

Questions

What people ask before they run it

What it looks at, what it will not claim, and why a report sometimes says it could not tell.

How long does it take?

About eight minutes for a ten-page audit. The audit fetches each page, runs a performance pass against it, and scores 24 factors, so it is doing real work for that whole time rather than waiting. Keep the tab open.

How many pages does it look at?

Up to ten, chosen to cover different page types rather than the ten most linked. You can name specific pages instead if you would rather audit a particular set — up to ten of those too.

Do I need to add anything to my site?

No. The audit reads what is publicly available, the same way a search crawler would. There is no tag to install and no access to grant.

Does it respect robots.txt?

Yes, and it is strict about it. robots.txt is the entry gate: pages it disallows for Googlebot are excluded from the sample before anything is fetched. Being able to reach a page is not the same as being allowed to.

What happens if my robots.txt is broken?

By default the audit stops and reports BLOCKED rather than scoring the rest of the site as if it were fine. You can choose to carry on with the control-file checks instead — a robots rule cannot conceal the file being audited.

Why does part of my report say NOT_TESTABLE?

Because something the audit needed was not available — a key, a page it was not allowed to fetch, or an observation it could not make. That is recorded as a missing input with a reason code, never as a fault in your site. It is the difference between "this is wrong" and "I could not tell".

Is this the same as the AI visibility report?

No, and they answer different questions. The AI visibility report asks what ChatGPT and Perplexity say about a brand. This one asks whether your site is technically fit to be crawled, indexed and quoted in the first place. Run this one when the answer to the other is disappointing.