Run a scan
Method

What we measure, and what we do not.

Two different measurements sit behind this product, and they answer different questions. This page says what each one does, where its numbers come from, and where it stops.

1 · The scan

One request to your page, followed by 30 checks in five passes. It answers one question: can a machine that has never seen your site read it correctly? Every check is deterministic — the same page returns the same result — and no check involves a language model.

  1. 01 Connection and speed
  2. 02 Content structure
  3. 03 Can AI understand you
  4. 04 Agent files
  5. 05 Security headers

All 30 checks

Published in full, because a score built from a hidden list is a score you have to take on faith.

Server responds status
The page did not return a normal response. Nothing else can be measured until it does.
HTTPS with a valid certificate https
Browsers and AI crawlers distrust pages served without a working certificate.
Response time ttfb
A slow first byte costs you crawl budget and visitors before they see anything.
HTML weight size
A heavy page is slower to fetch and slower to parse for everything that reads it.
DNS A record dns_a
Without a resolvable address the domain is unreachable for part of the internet.
Certificate validity ssl_expiry
A certificate close to expiry turns into a full outage on the day it lapses.
Domain validity domain_expiry
An expiring domain is the one failure that takes everything down at once.
Indexing allowed noindex
This page tells search engines not to index it. Usually a staging setting that shipped by accident.
Page title title
The title is the single strongest signal of what this page is about.
Meta description desc
Without it, search engines and AI write your summary for you, from whatever they find.
Language attribute lang
Models use it to decide which language to answer in when they cite you.
Mobile viewport viewport
Without it the page renders at desktop width on a phone.
Single H1 heading h1
Zero or several top-level headings leave the main subject of the page ambiguous.
Section headings h2
Headings are how a model finds the passage worth quoting. A wall of text has no handles.
Amount of content words
There is little here to cite. Models quote specifics, not slogans.
Images with alt text alt
An image without alt text is invisible to anything that cannot see.
Structured data schema
Schema.org is how you state facts about yourself in a form machines read without guessing.
Link preview card og
Without Open Graph tags, every share of your page looks broken.
Canonical URL canonical
Without it, the same page under several addresses competes with itself.
Questions and answers faq
A question with an answer is the format models quote most directly. Few pages have one.
Contact details and location kontaktai
If your phone, email and city are not on the page, an AI answering "how do I reach them" has to invent it.
robots.txt robots
This file decides what every crawler may read. A mistake in it is silent and total.
AI crawlers allowed robots_ai
Your robots.txt blocks AI crawlers. They will not read the page, so they cannot cite it.
AI agents actually let in agentu_durys
We requested this page as an AI agent. Something between us and the page turned us away.
sitemap.xml sitemap
A sitemap is how new pages get found without waiting to be stumbled upon.
Sitemap freshness sitemap_fresh
A sitemap that stopped updating means new pages are not being announced.
llms.txt llms
A short file describing your site for language models. Optional, still rare, cheap to add.
Strict-Transport-Security hsts
Forces every future visit onto HTTPS instead of trusting the first request.
X-Content-Type-Options nosniff
Stops browsers guessing a file type and executing something they should not.
Content-Security-Policy csp
Limits what may run on your page. The single most effective header against injected scripts.

2 · The score

Checks are weighted by how much they actually cost you, not counted evenly. A missing canonical tag and a missing viewport are not the same size of problem, and averaging them would hide both.

ScoreWhat it means
85–100 Nothing material is blocking a machine from reading the page.
65–84 Readable, with gaps that cost you on some engines.
40–64 Several checks fail in ways a reader would not notice but a parser does.
0–39 Basic machine-readability is missing.

The score describes machine-readability. It is not a prediction about traffic, and it is not a statement about whether any assistant will quote you.

3 · AI visibility

A separate measurement, and the one the scan cannot do. We ask real assistants the questions your buyers ask, on a schedule, across up to 4 engines, and record what came back: whether the engine searched at all, whether your domain was cited, and which other domains were.

Every share is reported with a confidence interval, not as a bare percentage. Cited in 2 of 30 runs is not "7%" — it is a number with enough uncertainty around it that next week's 1 of 30 would mean nothing. Reporting the interval is the difference between a measurement and a chart.

Assistants are not deterministic. The same question can return different answers minutes apart, which is exactly why a single check is worthless and a schedule is not.

4 · Verifying a change

This is the part nothing else in the category does. You mark the day you changed something. We then compare the 14 days before against the 14 days after, and say whether the difference is larger than the noise.

  1. The quarantine

    The first 24 hours after your change belong to neither window. An engine answers from what it has already read, so the first measurements after an edit are usually still measuring the old page. Counting them would drag every result toward "nothing happened".

  2. The control group

    Questions whose content you did not touch are measured too. If the untouched ones moved as much as the touched ones, the engine changed — not your page — and the verdict is lowered to say so. This is the step that separates a measurement from a coincidence, and it is the one that requires being willing to tell a customer their win was not theirs.

  3. The test

    Each question–engine pair is its own stratum, and the strata are combined with a Cochran–Mantel–Haenszel test. Pooling the runs instead would let one heavily-sampled question decide the answer for all of them.

VerdictWhen
Not enough data fewer than 5 informative strata
Likely p < 0.2
Significant p < 0.05
Worse significant, in the other direction

"Not enough data" is a real answer and it is returned often. A system that always finds something is a system that has stopped testing.

5 · What this does not do

What is real

  • This engine has run in production since 2026, every day, for customers who pay for it. The scan on the front page is that engine — the same 30 checks, the same code, no separate demo version.
  • All 30 checks run against a site you choose before you give us an address, an email or a card. That is the product's entire measurement layer, working in the open.
  • The live panel on the front page shows competitors cited ahead of us, on our own domain, unfiltered. A feed that always looks good is not a measurement.

What is not here yet

  • No customer logos and no testimonials. We have not earned them in this market yet, and a wall of invented ones is exactly how you would know to distrust every other sentence here.
  • No promise about a ranking or a citation. The scan measures whether a machine can read you. Whether it then quotes you depends on what you have written and who else has written it.
  • No demo call to see your own result. It is already on the front page, the price is a few lines below it, and nobody is going to phone you about either.

Run it against your own page.

Thirty seconds, no account, and the full result either way.

Run the check