SEO Audit

What we check

Every check the audit runs, in plain English, and every check it doesn't.

The audit walks 184 checks in eight phases. 135 of them we measure ourselves from your live site; the rest need your Search Console data, a backlink export, or a judgement no crawler gets to make. They are all listed below either way, because a check nobody ran is not a check you passed, and a scoring system that quietly drops them is one that flatters every site it touches.

None of it is our own invention. Every group below says where it comes from and links the page it is grounded in. That is Google's own documentation in almost every case, and where a check isn't Google's (Open Graph, for one) we say so rather than lending it authority it doesn't have.

Our score never does that. A check we couldn't measure comes out of both sides of the fraction, so it can neither help you nor hurt you, and the report says how many of those there were.

Every audit
Measured on every audit, including the free single-page scan.
Partial
We measure part of this. The report says which part, and never implies more.
Site crawl
Needs more than one page, so it runs on a paid crawl.
Not automated
No collector can measure it: it needs your Search Console or backlink data, or a human call. The report asks for what would unlock it.

The free scan returns 27 of these: the ones whose verdict is arithmetic, where a threshold decides it and no reading of the page is required. Everything that needs the page read rather than measured is in the paid report.

1. Crawlability & Indexability

67 checks · 52 on every audit · 7 on a site crawl · 8 needing your data

Before anything else can matter, Google has to be able to reach the page, read it, and decide it is the version worth keeping. Most of the damage we find in real audits lives here. A stray directive, a redirect chain, a canonical pointing at the wrong URL: none of it is visible from the front end.

robots.txt

A single line in this file can hide a whole section of a site, and nothing on the page will look wrong. We fetch it, parse the groups that apply to Google, and test them against the URL you gave us instead of assuming.

Source: How Google reads robots.txt · robots.txt syntax

XML Sitemaps

A sitemap is how you tell Google which URLs you consider worth having. It helps most when it is honest, listing canonical, indexable URLs with real modification dates, and hurts when it lists redirects, 404s and a lastmod of "today" on every row.

Source: Sitemaps overview · Building a sitemap

Indexability

Whether the page is allowed into the index at all. A noindex left over from a staging deploy, or a "missing" page that answers 200 instead of 404, costs more traffic than any amount of keyword work will win back.

Source: Blocking indexing · robots meta tag and X-Robots-Tag · HTTP status codes and soft 404s

Canonicalization & duplicates

The same page is usually reachable at several URLs: with and without www, with a trailing slash, with tracking parameters. Google picks one to index. These checks are about making sure it picks the one you meant.

Source: Canonicalization · Consolidating duplicate URLs

Redirects & migrations

Redirects pass ranking on, but only if they are permanent, short and pointed at a real equivalent. Chains, loops and long-lived temporary redirects are the usual reason traffic never comes back after a site move.

Source: Redirects and Google Search · Site moves with URL changes

Rendering & JavaScript SEO

Google renders JavaScript, but what it ends up with is not always what you see. We fetch the raw HTML and the rendered page separately and compare them, so "the content is there" is a measurement rather than a hope.

Source: JavaScript SEO basics · Fixing JavaScript problems

Site architecture & internal linking

How pages are linked decides which of them Google treats as important. A page the navigation carries but no article ever cites is a page you have told Google not to care about.

Source: SEO starter guide: site structure · Breadcrumb structured data

Crawl budget & server logs

Only large sites need to think about this: if Google spends its visits on filter combinations and session URLs, the pages you actually sell from get crawled less often. Most of it can only be answered from your own logs and Search Console.

Source: Managing crawl budget · Googlebot

HTTP responses & headers

The part of the site no visitor sees. Wrong content types, missing compression, a stale cache policy or an open directory listing all cost something, and all are usually a one-line fix in the server config.

Source: HTTP status codes, network and DNS errors · Googlebot

2. On-Page & Metadata

20 checks · 19 on every audit · 0 on a site crawl · 1 needing your data

What the page tells a search engine about itself, and what the result looks like in the search listing. Cheap to fix, easy to get quietly wrong, and directly visible to anyone deciding whether to click.

Titles & descriptions

The title and description are the advert for the page. Google rewrites them when they are missing, duplicated, or describe something the page does not actually contain, which is why we also measure whether the title's words appear in the body at all.

Source: How Google generates title links · Control your snippets · Valid page metadata

Social & sharing metadata

Open Graph and Twitter cards decide what a shared link looks like in a message or a feed. Worth saying plainly: this is not a Google specification and not a ranking factor. It is in the audit because a link that renders as a bare grey box gets clicked less.

Source: The Open Graph protocol · Google Images best practices

URLs & images

Readable URLs and described images. Alt text is an accessibility requirement first and an SEO one second, and image weight is usually the single biggest thing standing between a page and a good LCP score.

Source: URL structure · Google Images best practices

23 checks · 10 on every audit · 0 on a site crawl · 13 needing your data

Whether the page is actually worth ranking. Very little of this is measurable, and we say so rather than dressing up a word count as a quality score. What we can do is put the rendered text, the structure and the topic coverage in front of a model and have it read the page the way an editor would.

Source: Creating helpful, reliable, people-first content · Google Search Essentials · AI-generated content and Search

4. Structured Data & Rich Results

11 checks · 9 on every audit · 0 on a site crawl · 2 needing your data

Structured data is what turns a plain blue link into a rich result. We check that it parses, that it carries the properties its type requires, that it survives JavaScript rendering, and that it agrees with the dates and entities on the page.

Source: Introduction to structured data · Search gallery: every supported type

5. Page Experience, Core Web Vitals & Mobile

15 checks · 15 on every audit · 0 on a site crawl · 0 needing your data

Core Web Vitals as Google measures them: field data from real Chrome users first, lab diagnostics only to explain it. Where the field data exists we also pull six months of trend and the four parts LCP breaks into, which is the only evidence that says why a page is slow rather than that it is.

Source: Page experience · Web Vitals, and the thresholds we use

7 checks · 0 on every audit · 0 on a site crawl · 7 needing your data

Backlinks. We do not buy a link-index API, so we measure none of this and never pretend otherwise. The report tells you exactly which export to drop in and what it would answer.

Source: Link spam policies

7. Specialty

30 checks · 22 on every audit · 1 on a site crawl · 7 needing your data

The checks that only apply to some sites: a local business, a multi-language site, a storefront. Irrelevant sections are skipped rather than padded with passes.

Local SEO

Most local ranking is decided outside your website, in your Business Profile and in how consistently your name, address and phone number appear elsewhere. We can read the schema on the page; the rest needs your account.

Source: LocalBusiness structured data · Google Business Profile help

International / Multilingual

hreflang tells Google which language version to show which visitor. It only works when the references point both ways and at indexable URLs, which is exactly where most implementations break.

Source: Localized versions and hreflang · Multi-regional sites

E-commerce

Product markup, clean category URLs, and filters that do not generate an endless supply of near-identical pages for Google to crawl instead of your products.

Source: Ecommerce on Google Search · Product structured data

8. Analytics, Search Console & Monitoring

11 checks · 0 on every audit · 0 on a site crawl · 11 needing your data

Search Console, analytics and monitoring. All of it needs your account, so all of it is listed as needing data, with the specific export and the specific finding it would unlock.

Source: Search Console: getting started · Debugging a drop in search traffic

Run it on your own site

One page, no account, no card. You'll get the 27 measured checks above with the real values from your site.