Knock Score: how many of your pages AI fetched in the current version
Knock Score is a number from 0 to 100. It answers one question: for how many of your pages has each AI platform fetched the current version? It measures what the search bots of the platforms downloaded from your server. A fetch does not guarantee that the page gets used, and a model can have data from other sources, so the score says nothing about what a model knows or will answer.
The panel shows the score as a gauge in the Visits view and as a card with a line over the days and a table of the platforms (how many points each one costs the score) at the top of the Freshness view. The button "How it is calculated" opens the explanation.
What is counted
The unit is a pair: one page of your sitemap and one AI platform. The search bot of the platform judges each pair. Only confirmed reads count, which means the bot's IP address is on the list of its company.
| Platform | Bot whose reads count | Weight |
|---|---|---|
| ChatGPT | OAI-SearchBot | 59.5 |
| Gemini | Googlebot | 27.6 |
| Claude | Claude-SearchBot | 10.2 |
| Copilot | Bingbot | 1.7 |
| Perplexity | PerplexityBot | 1.0 |
The weights are market shares of the platforms: the share of visits to gen AI websites, from Similarweb, the average of July to September 2026, normalised to these five platforms (together 100). Gemini in Google results (AI Overviews) is not in the Similarweb numbers, and Googlebot stands in as the bot of Gemini.
Groups of pages
The pages of your sitemap fall into four groups. Each group has a fixed share of the score: home 20, important 30, hubs 20, the rest 30. Inside a group every page weighs the same.
- Home: the address
/and the language roots such as/pl/. - Important: the pages on the list you set yourself.
- Hubs: pages of the sitemap type page or category, and pages that have subpages in the sitemap.
- Rest: every other page.
A page belongs to the first group that fits, in the order home, important, hubs, rest. A page on your excluded list is in no group and drops out of everything. A group without any counted pair gives its share to the other groups in proportion. You set the lists of important and excluded pages by hand in a settings file of the app, with no screen for it.
States of a pair
- Fresh: the newest confirmed read of the bot is the version of the page in force. It counts as fresh.
- Stale: the bot holds an older version, or its last read got an error answer (4xx or 5xx). It counts as not fresh, with two exceptions below.
- Never: the bot has no confirmed read of this page. It counts as not fresh.
- Excluded: an unstable page, a page without a known version yet, or a read older than the first known version. It is not counted at all, because no data is not zero.
Two exceptions make a stale pair count as fresh:
- Grace. The page changed less than 3 days before the moment of judgement. A bot needs a moment to come back.
- Small change. The change since the bot's version is under 20 words, added plus removed.
When the text of the versions was not saved, the size of the change is unknown and the app does not forgive it. An error answer is never forgiven.
Coverage
Coverage is a second number: the share of counted pairs that are not "never", so the share of pairs that some bot has fetched at least once.
History
For every day of your data the app judges every pair as of the end of that day, so the score has a history. The app keeps at most the last 400 days.
Limits
- A new version of a page becomes known only at the first response to it, so a very fresh change shows up a little late.
- Only the search bot of each platform counts. A fetch by another bot of the same company, a user fetch or a training bot, is not freshness for this number.
- The size of a change needs the stored page texts. Without them every stale pair has an unknown size, and only the grace can forgive it.