People are counted by an in-page beacon that crawlers rarely run; every other client is sorted from the web server's access log. Numbers are UTC days.
| Client | Type | Page loads | Requests | Share |
|---|---|---|---|---|
| Meta AI | AI crawler | 52K | 272K | 37.8% |
| OpenAI | AI crawler | 66K | 121K | 16.9% |
| Ahrefs | SEO tool | 46K | 62K | 8.6% |
| Desktop browsers | Browsers | 48K | 61K | 8.5% |
| Mobile browsers | Browsers | 56K | 58K | 8.1% |
| Apple | Search engine | 31K | 32K | 4.4% |
| Amazon | AI crawler | 25K | 27K | 3.8% |
| Search engine | 13K | 25K | 3.5% | |
| DataForSEO | SEO tool | 22K | 22K | 3.1% |
Why the numbers differ from Cloudflare or hosting dashboards: those count every request, and most requests to a news site come from machines — AI crawlers (OpenAI, Meta, Amazon, Perplexity…), search engines and SEO tools. They are useful for visibility but are not readers. A reader here is a browser that actually ran the page. Nothing identifying is stored: the beacon uses session storage, and addresses are only hashed in memory for half an hour to avoid double counting.
| Other SEO | SEO tool | 13K | 13K | 1.9% |
| Perplexity | AI crawler | 4.3K | 7.6K | 1.1% |
| Other bots | Other bot | 4.8K | 7.3K | 1.0% |
| Scripts & headless | Script / headless | 2.3K | 7.1K | 1.0% |
| Yandex | Search engine | 977 | 1.9K | 0.3% |
| Other search | Search engine | 1.6K | 1.6K | 0.2% |
| DuckDuckGo | Search engine | 16 | 45 | 0.0% |
| Link previews | Link preview | 3 | 42 | 0.0% |
| Other AI | AI crawler | 3 | 33 | 0.0% |
| Anthropic | AI crawler | 6 | 30 | 0.0% |
| Bing | Search engine | 17 | 18 | 0.0% |
| Common Crawl | AI crawler | 0 | 7 | 0.0% |
| ByteDance | AI crawler | 0 | 6 | 0.0% |
| Baidu | Search engine | 1 | 4 | 0.0% |