Skip to content

How Flowproof measures: method, scores and the limits of the scan

Flowproof checks whether a web page is technically and substantively easy for search engines and AI systems to read and understand. The scan does not measure mentions in AI answers and does not predict rankings. This page sets out exactly what we check, how the score is calculated and where the limits are.

Scoring method version 2, since 18 October 2026

What the scan examines

A scan examines one page: the URL you enter, usually your homepage. Flowproof fetches that page the way a crawler does, without running JavaScript, and assesses the HTML the server returns.

The scan also checks a few things at domain level:

  • robots.txt, with the rules for 12 AI and search bots.
  • A firewall test: one request with the user agent of OAI-SearchBot, the bot ChatGPT uses to fetch search results, compared with an ordinary browser request.
  • llms.txt and llms-full.txt in the root of the domain.
  • The sitemap.

The scan does not click through the rest of your website. If you want to assess another page, enter that URL separately.

What we check directly

Many of the checks are direct, technical findings. You can verify them yourself:

  • The status code, HTTPS, the server response time and the size of the HTML.
  • Whether the main content is in the server response, or only appears after JavaScript.
  • The lang attribute, the canonical, the meta robots and any noindex.
  • Whether robots.txt allows, partly allows or blocks a bot, according to the rules of RFC 9309.
  • Whether the server refuses a request as OAI-SearchBot while a browser does get through.
  • Which schema markup (JSON-LD or microdata) is present, whether it is valid, and whether there are sameAs links.
  • Whether llms.txt exists and follows the structure from llmstxt.org.
  • Accessibility (in Pro and Business): automated checks against WCAG 2.2 level A and AA with axe-core.

What is an indication or recommendation

Other checks are signals: they point to something that often helps, but do not prove an effect. These include the checks on content and E-E-A-T (such as a visible author, a date, cited sources and question-based headings), SEO elements such as the length of titles and descriptions, and the checks on conversion, UX and SEA opportunities.

For these signals we give advice, not a judgement on the quality of your business or your text. A page can deviate from a recommendation for good reasons.

Search bots and training bots

AI companies use different bots for different purposes. Search and retrieval bots fetch pages to show or cite them in answers. Training bots collect text to train models.

In its documentation on crawlers, OpenAI explains that OAI-SearchBot shows websites in ChatGPT's search features, that GPTBot is for training, and that these settings are independent of each other. So you don't need to allow GPTBot to appear in ChatGPT search results.

Flowproof therefore only counts the search and retrieval bots in the score: OAI-SearchBot, ChatGPT-User, Googlebot, Bingbot, PerplexityBot and Claude-SearchBot. Training bots (GPTBot, Google-Extended, ClaudeBot, Applebot-Extended, meta-externalagent and CCBot) are shown as information. Blocking them is a deliberate choice and costs no points.

llms.txt: optional, with an uncertain effect

llms.txt is a proposal from llmstxt.org for a short reading guide in Markdown. It is not an official standard, and it has not been confirmed which AI search systems use the file when choosing sources.

That is why we treat llms.txt differently from a technical block. A missing file is a point of attention, not an error, and the section counts towards the overall score with a small weight.

How scores are calculated

Every check gets a status: in order, point of attention, problem or information. Within a section, a check that is in order counts in full, a point of attention counts for half and a problem counts for nothing. Information checks do not count. Some checks weigh more than others, for example a firewall that refuses a search bot.

The score of a section is the weighted share of the points you achieve, from 0 to 100. The overall score is the weighted average of the sections, with the weights in the table below. Accessibility has its own score and does not count towards the overall score.

How priorities are set

At the top of every report are the first steps. That order follows from the calculation behind the score: a problem or point of attention ranks higher the more points fixing it adds to the overall score. That depends on the weight of the check within the section and on the weight of the section itself.

So the order says something about the score, not about the effort an improvement takes. A quick fix can rank lower than a big one, and vice versa.

What falls outside the scan

  • Mentions in AI answers. The scan does not measure whether ChatGPT, Perplexity, Gemini or Google AI Overviews mention or cite you.
  • Rankings and traffic. The scan has no access to Search Console, analytics or search volumes.
  • The rest of your website. Only the page you entered is assessed, plus the domain-level files above.
  • Content that only appears with JavaScript. The scan does not see it, just like many AI crawlers.
  • Colour contrast. This requires actual rendering in a browser, and we report it as something to check manually.
  • Full accessibility. Automated checks find some of the problems. Conformance with WCAG requires manual testing.
  • Backlinks, brand awareness and competition. We do not measure these.

What a higher score does and doesn't prove

A higher score means that the examined page is technically more accessible and easier to interpret according to the checks on this page. That removes barriers that can stand in the way of visibility in search engines and AI answers.

A higher score does not prove that AI systems mention you more often, that you rank higher or that your website is fully accessible. Whether that happens also depends on factors outside the scan: the content and reputation of your site, competition and how each AI system chooses sources. For background, see how AI search engines choose sources.

Changes to the method

When we change the way we score, the method gets a new version number. We do not show scores from different versions as direct progress: your report then states that the method has changed.

Version 2 (18 October 2026) introduced three changes:

  • The firewall test uses the user agent of OAI-SearchBot instead of GPTBot, because OAI-SearchBot determines whether you can appear in ChatGPT search results.
  • Blocked training bots no longer cost points and are shown as information.
  • A missing llms.txt is a point of attention instead of an error, and the weight of llms.txt in the overall score went from 8 to 4.

Because of these changes, a score can turn out higher or lower than in a scan with version 1, without anything having changed on the website.

Flowproof's method: what the scan does and doesn't measure