279 checks · 240 we measure for you

The free SEO audit tool that shows the numbers, not opinions.

Analyze any page: every issue comes with the value we measured and the threshold it failed. No vague scores, no “improve your SEO” — a ranked fix list you can hand to a developer today. Need one check, not the whole audit? The free SEO checker lists every test by name.

Audit options
Depth
  • 5 free scans
  • no account
  • no card
  • single page in about a minute

Your account

Why it matters

Found, trusted, contacted.

Every new customer takes the same three steps before they call you. The audit checks what can stop them at each one.

01 Found

Google can crawl and index the page, and it loads fast enough on a phone that people wait for it.

Indexing · speed · mobile · local

02 Trusted

A visitor, or an AI answer, can tell who runs the site: a secure connection, a real business name, reviews and contact details.

Trust · security · AI search

03 Contacted

One tap to call, a button that says what it does, and a form short enough to finish.

Conversion · accessibility

01 / Evidence

Other tools give you an opinion.
We give you the reading.

Every check publishes its threshold. Open any issue and you get the measured value, where we found it, and the exact change. The rows below are from an example report.

What we read

largest-contentful-paint
  element: img.hero__bg (1920×1080, 812 KB)
  render-delay: 2.9 s
  format: JPEG, unoptimised

measured on / · Moto G4 profile · 4× CPU throttle

The fix

Serve the hero as AVIF at 2× the rendered box (960px), preload it, and drop the render-blocking font stylesheet above it. Modelled LCP after the change: 2.2 s.

effort medium·impact high

02 / Coverage

One score. 279 checks. 11 groups.

The groups every report is built from. The counts here are an example report's — the SEO checker page names every test by group, and the full check list includes the ones no crawler can measure.

Content & AI answer format

1 failed2 warnings

example report

Trust & E-E-A-T

0 failed1 warning

example report

Conversion & contact paths

0 failed1 warning

example report

On-page SEO

3 failed2 warnings

example report

Site setup: robots, sitemap & tracking

1 failed1 warning

example report

Speed optimisations

1 failed3 warnings

example report

Server & security

0 failed2 warnings

example report

Mobile usability

0 failed1 warning

example report

Advanced SEO

2 failed3 warnings

example report

Accessibility

2 failed2 warnings

example report

Local & multi-region SEO

1 failed1 warning

example report

02.1 / What is measured

The checks behind the score, with the thresholds we hold you to.

Each threshold is the one freecheck enforces, linked to the body that published it rather than asserted here.

Core Web Vitals, measured not estimated

Three numbers decide whether a page feels fast, and Google publishes the threshold for each: LCP 2.5 s or better (how long until the biggest thing on screen appears), CLS 0.1 or lower (how much the layout jumps while loading), and INP 200 ms or better (how quickly the page answers a tap). We read them from PageSpeed Insights for both mobile and desktop, so the value in your report is the one Google recorded — not a score our own machine invented. The thresholds are web.dev’s, quoted as published.

The things that stop a page being indexed at all

Speed only matters once a page can be found. A crawl follows your internal links the way a search engine does and reports what blocks them: a robots.txt rule that disallows the page, a noindex left in a template after launch, a canonical tag pointing somewhere else, redirect chains, links that 404, and pages that exist but appear in no sitemap. Each is reported with the URL it was found on and the response we got, so there is nothing to reproduce before you can act on it.

Structured data, parsed and checked against the type

JSON-LD is read from every crawled page and validated against Google’s own list of supported types — required properties that are missing, @id references that point at nothing, and effort spent on rich results Google has since retired (the sitelinks searchbox, for one). Markup that is merely present is not the same as markup that earns a result, and the report says which one you have.

What a number cannot decide

Some of what matters is judgement, not arithmetic: whether a title matches what the page is really about, whether headings describe the content, whether a page answers the question it ranks for. Those checks are read rather than counted, and they are the part of the report a threshold could never produce. Why we built it this way covers the reasoning, and the FAQ answers what a scan does and does not touch on your server.

03 / Pipeline

Six stages, one pass over your site.

A single page comes back in about a minute. A full crawl is roughly twenty, almost all of it the writing of the report — we email you when it lands. Performance is measured, not modelled: field Core Web Vitals plus a Lighthouse lab run.

01 Fetch

We request your pages exactly the way a search engine crawler does — same headers, same patience.

02 Render

Headless Chrome with JavaScript on, so we see the page a visitor actually gets.

03 Extract

Metadata, resources, headings, links, schema and every on-page element worth checking.

04 Measure

279 checks across content, SEO, speed, security, mobile, accessibility and more.

05 Score

Each value is held against a published threshold. Pass, warn or fail — never a vibe.

06 Prioritise

Sorted by modelled impact over effort, so the top of the list is worth doing first.

04 / The report

What the audit tool hands you.

Sections of a real site-crawl report, unedited — delivered as a web page and a PDF — next to what those problems do to a visitor. Every card names the page it was read on, the value, the threshold, and the fix.

Score 82 of 100 over 199 measured checks: 22 failed, 26 warnings, 151 passed
The score: measured checks, failed, warned, passed — arithmetic, not a vibe
Check results donut and Core Web Vitals bars: LCP 3.27 s mobile, CLS 0.28 desktop, INP 163 ms, TTFB 1676 ms
Check results and real-user Core Web Vitals at a glance
Illustration: a visitor on a phone waiting on a blank loading page, thumb on the back button
What a 3.3 s LCP feels like: a blank screen, and a thumb on Back
Illustration: page content jumps as a visitor clicks, so the click lands on the wrong button
What a 0.28 layout shift does: the page moves, the click lands on the wrong button
Section verdicts table: each report group with PASS, WARN or FAIL and a one-line reason
One verdict per section, with the reason in a line
Prioritized action plan: quick wins and projects, each linked to its card
The action plan: quick wins first, each linked to its card
Illustration: a searcher scrolling past a jumbled search result to a clear one
No meta description on 25 of 25 pages: Google writes the snippet, searchers scroll past
Image delivery card: 1,606 KiB of estimated image savings, and the LiteSpeed Cache setting that recovers it
A speed card: the measured saving, and the setting already installed that fixes it
Content card: job categories and benefits built as separate blocks with zero lists, and the Elementor widget to use
A content card: what we read, where, and what to change
Security card: WordPress usernames exposed via the REST API, with the snippet that closes it
A security card: the leak, and the exact snippet that closes it
Illustration: user accounts spilling out of a site to someone trying keys on a padlock
Exposed usernames: an attacker only has to guess the password
Illustration: a visitor squinting at a pale navigation menu in bright sunlight
Low-contrast menu (12 items failed): unreadable in sunlight or with low vision
Illustration: a screen-reader user hearing “link” repeated with no destination
Seven unnamed links: a screen reader just says “link”
What already works: passed checks grouped by section, to keep as is
What already works — so nobody “fixes” what is load-bearing
Pages crawled table: each URL with status, section and word count
Every page the crawl fetched, with status, section and words
1 / 15

05 / Questions

Before you run it.

The short answers. The full FAQ covers what we store, what a crawl does to your server, and pricing.

Is the SEO audit tool really free?

Yes. 5 single-page scans a month with no account and no card. The free scan runs 50 threshold checks — title, indexability, structured data, Core Web Vitals, HTTPS, mobile — and shows the measured value for each. A paid report crawls the whole site and adds the checks a threshold cannot decide.

What does the checker analyze?

The served HTML, the response headers, robots.txt, the sitemap, the page rendered in headless Chrome, structured data, real-user Core Web Vitals from the Chrome UX Report, Lighthouse lab performance, TLS, Safe Browsing, AI-crawler access and llms.txt, and accessibility with axe-core. 279 checks in all; every one is listed with its threshold.

How is this different from other SEO checkers?

Every finding shows the number we measured and the published threshold it was held against, not a score with no explanation. The check total is fixed per tier and the score is arithmetic, so two runs of the same page score the same. Each issue comes with the fix and a ready-to-paste prompt for a developer or a coding agent.

How long does an audit take?

A single page comes back in about a minute. A site crawl of up to 25 pages takes roughly twenty minutes, most of it writing the report — we email you when it is ready.

Does the scan affect my website?

It fetches your pages the way a search-engine crawler does — a few dozen requests for a single page, one page at a time on a crawl. It changes nothing, logs in nowhere and submits no forms. The scanner IP is published so you can allow it through a firewall.

06 / Compare

€19 once, not €199 a month.

What the price difference actually buys, and what it doesn't. An agency does the fixes for you on a retainer; the audit gives you, or them, the exact list. Pricing.

CapabilityAuditSuiteEnterprise suiteSEO agencyFree checkers
Time to first result about a minute hours after a sales call instant
Shows the measured value always sometimes sometimes no
Published thresholds all 279 hidden hidden hidden
Rendered-DOM crawl yes yes varies no
Fix list ranked by impact yes add-on they do the fixes no
Entry price €0 €199/mo monthly retainer €0
Sales call required never usually always never

Find out what's holding your rankings back.

5 free single-page scans. No account, no card, no sales call.