// Method
How we calculate the AI score
The AI score measures how ready a site is to be read and cited by AI assistants and AI search. It runs from 0 to 100 and is the weighted mean of ten checks, computed for every working site we audited.
| Check | A site passes when | |
|---|---|---|
| Content in the HTMLpartial credit | 20 | its analyzed pages are not rendered by the browser alone. The score is the share of non client-side pages among those whose rendering is known. |
| llms.txt | 15 | the file /llms.txt exists. |
| robots.txt allows AI | 15 | robots.txt exists and does not disallow the whole site to every bot or to a known AI crawler. An Allow that re-opens part of the site is not taken into account. |
| Structured data | 15 | the main page carries JSON-LD structured data. |
| Sitemap | 10 | a sitemap.xml was found. |
| Title | 5 | the main page has a title. |
| Meta description | 5 | the main page has a meta description. |
| Canonical | 5 | the main page declares a canonical URL. |
| HTTPS | 5 | the site is served over HTTPS. |
| Lighthouse SEOpartial credit | 5 | the score is the main page's Lighthouse SEO score, divided by 100. |
| Total | 100 |
The AI crawlers we check for
For the robots.txt check we look at whether the site is closed to every bot, or to any of these:
- GPTBot
- OAI-SearchBot
- ChatGPT-User
- ClaudeBot
- Claude-Web
- anthropic-ai
- PerplexityBot
- Google-Extended
- CCBot
- Applebot-Extended
When a figure is missing
A check the audit cannot answer is left out for that site, and the remaining weights are rescaled. A site whose page rendering is unknown, for instance, is scored out of 80 rather than given zero: missing data never counts as a failure.
Back to the observatory