Every check we run.
All 27 checks, grouped by pillar, each with its severity and what passing actually means — including the graded ones, where a partial fix earns partial credit. Search visibility is the fifth pillar: it isn't crawled, it's scored from your Search Console data.
Every check we run, grouped by pillar, with what “passing” actually means and how much it counts. This is the reference page — the one to come back to when a fix card tells you something you want to argue with.
How to read this page
There are 27 checks we can measure from your pages, across four pillars. A twenty-eighth — Search visibility — comes from Google Search Console, and only exists once you've connected it.
- Severity is the multiplier on how much a check moves its pillar: High counts triple, Medium double, Low single. In the report, High appears as an Error, Medium as a Warning, Low as a Notice.
- Site checks are answered once for your whole domain. Page checks run on every page we audit, and the check's score is the average across them.
- Graded checks score between 0 and 1 on each page instead of pass/fail — so a partial fix earns partial credit. They're marked below.
- A check has to average 90% or better to show as passed. Anything under that becomes a fix card with a point value attached.
Checks only apply where they make sense. We don't ding a page that returned a 404 for having no meta description, and we don't ask a 60-word contact page to cite a source. Where that matters, it's noted under the check name.
Crawlability & indexing (25%)
Can search engines reach your pages, and are you accidentally telling them not to? If this pillar is broken, nothing else on the page matters.
| Check | Passing means | Severity |
|---|---|---|
| Stop blocking search crawlers Site | Your robots.txt has no site-wide Disallow: / for * or Googlebot. The most damaging single thing on this page — it hides your whole site. | High |
| Fix pages that don't return 200 Page | Every audited page answers with a 200 OK, not an error or a redirect. | High |
| Remove stray noindex tags Page · live pages only | No noindex in the robots meta tag or the X-Robots-Tag header. A noindexed page cannot appear in search at all. | High |
| Add a reachable robots.txt Site | yoursite.com/robots.txt exists and returns 200. An allow-all file counts. | Medium |
| Publish an XML sitemap Site | We found a sitemap — either from a Sitemap: line in robots.txt, or at one of the conventional paths. | Medium |
On-page essentials (25%)
The basics, on every page. Where most sites lose most of their points — and the cheapest pillar to win back.
| Check | Passing means | Severity |
|---|---|---|
| Add a page title Page · live pages only | The page has a <title>. It's the clickable headline in the result — a page without one is competing using its own URL. | High |
| Keep titles the right length Page · graded · pages with a title | 45–60 characters scores full marks. 30–70 scores partial credit; outside that you score badly. The ideal band is narrower than the check's own name suggests — aim for 45–60. | Medium |
| Make every title unique Site | No two audited pages share a title. Duplicates split your ranking signals between pages. | Medium |
| Add meta descriptions Page · live pages only | The page has a meta description. It doesn't affect your ranking — it affects whether anyone clicks. | Medium |
| Use exactly one H1 per page Page · live pages only | Exactly one <h1>. Zero is as bad as five — both blur what the page is about. | Medium |
| Add canonical tags Page · live pages only | A <link rel="canonical"> naming the page's preferred URL. | Medium |
| Keep descriptions the right length Page · graded · pages with one | 70–155 characters scores full marks, 50–180 partial. | Low |
| Fix heading hierarchy Page · pages with headings | Heading levels don't skip — no H1 straight to H3. Sequential headings are how a machine reads the shape of your page. | Low |
| Use descriptive URL slugs Page · live pages only | The URL contains real words. /boiler-repair passes; /?p=123 doesn't. | Low |
| Declare the page language Page · live pages only | The <html> tag carries a lang attribute. | Low |
Technical & performance (20%)
| Check | Passing means | Severity |
|---|---|---|
| Serve every page over HTTPS Page | Every audited page is served over https://. A confirmed ranking signal and a browser trust requirement. | High |
| Improve Core Web Vitals Site · needs performance data | Your LCP, INP and CLS clear Google's “good” thresholds. If we can't get performance data for your site, this check is removed from the maths rather than failed. More → | High |
| Add a mobile viewport tag Page · live pages only | The <head> has a viewport meta tag. Without it, phones render your desktop layout shrunk down. | Medium |
| Speed up server response Page · graded | Your server starts responding in under about 800ms for full marks. Up to ~1.8s earns partial credit, and it falls away from there. | Low |
Structured data & richness (15%)
The pillar that decides whether you get rich results, share well — and get quoted by AI assistants.
| Check | Passing means | Severity |
|---|---|---|
| Add structured data (JSON-LD) Page · live pages only | The page carries a JSON-LD block. Organization on the homepage, Article or FAQ on posts. Also how AI engines confirm you're a real business → | Medium |
| Add alt text to images Page · graded · live pages only | You score the proportion of images carrying an alt attribute — half your images covered scores a half. A page with no images at all scores full marks; there's nothing to miss. | Medium |
| Add more internal links Page · graded · live pages only | Three or more internal links scores full marks; one link scores a third. Pages nothing links to are pages nothing ranks. | Medium |
| Expand thin pages Page · graded · live pages only | 300+ words scores full marks, 150–299 partial, and under 50 words scores almost nothing. | Medium |
| Add Open Graph titles Page · live pages only | An og:title tag — what people see when your link gets shared. | Low |
| Add Open Graph images Page · live pages only | An og:image tag, ideally 1200×630. | Low |
| Cite an authoritative source Page · substantial pages only | At least one outbound link to a credible external source. Only applies to pages over roughly 250 words — short pages are exempt. | Low |
| Add a favicon Site | At least one audited page links to an icon file. | Low |
Search visibility (15%)
Not one of the 27 checks — the only pillar that isn't about your HTML. It's scored straight from Google Search Console, so it exists only when you've connected it. Without Search Console, this pillar drops out and the other four are reweighted to fill the gap.
| Check | Passing means | Severity |
|---|---|---|
| Improve your search rankings Site · needs Search Console | Your tracked queries actually rank. We score the share of them sitting in the top 10, with half credit for positions 11–50. Past 50 counts for nothing. | Medium |
It isn't scored zero — it is removed from the calculation, and the other four pillars are rescaled to fill the gap. Which is exactly why connecting Search Console changes your score in a real way, in either direction. The maths →
Every failed check becomes a fix card with numbered steps, copy-paste code and every URL it affects. How fix cards work →