Local LLM stacks · Original data
AI crawler access test: can answer engines read these vendors?
Updated 2026-09-20 · markdown mirror
Verdict
4 of 4 tool sites reachable from our build machine on 2026-09-20. 0 of 4 restrict any checked AI crawler in robots.txt (policy undetermined for 1 — robots.txt served a non-robots page). 3 of 4 ship an /llms.txt (ollama, lm-studio, open-webui). Median homepage TTFB: jan fastest at 124ms, lm-studio slowest at 301ms.
| Tool | TTFB ms (median) | HTML KB | /llms.txt | AI crawler policy | Blocked bots |
|---|---|---|---|---|---|
| ollama | 262 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | 41.8 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | yes Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | unknown Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | none Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page |
| lm-studio | 301 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | 83.7 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | yes Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | open Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | none Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page |
| open-webui | 201 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | 40.1 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | yes Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | open Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | none Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page |
| jan | 124 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | 2417.8 Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | no Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | open Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page | none Tested by us Checked 2026-09-20 /local-llm/benchmarks/local-llm-ai-crawler-access/ Our benchmark (n=4 tools × 3 runs) — methodology on the benchmark page |
● tested by us · ● documented at the source · ● unconfirmed, queued in /confirm.txt — hover or tap a dot for the source and date
Methodology
- Fetch https://<domain>/robots.txt with a plain HTTP GET and a desktop user agent.
- Parse User-agent groups line by line; a bot is blocked only if a group naming it (or the * wildcard) contains a 'Disallow: /' rule.
- Bots checked: GPTBot, ClaudeBot, CCBot, PerplexityBot, Google-Extended, Applebot-Extended, Bytespider.
- Policy: blocked = GPTBot, ClaudeBot, and CCBot all disallowed from /; partial = at least one checked bot disallowed; open = no restrictions; unknown = robots.txt unreachable.
- Fetch https://<domain>/llms.txt; llmsTxt = HTTP 200.
- Fetch the homepage 3 times; TTFB is time to response headers; report the median. HTML size is the decoded body length of the last successful fetch.
Limitations
- Single machine, single network location — TTFB is directional, not global CDN truth.
- n=3 runs per tool; we report the median, not a distribution.
- Simplified robots.txt parsing: bot names matched case-insensitively, only Disallow rules read, path wildcards beyond 'Disallow: /' not modeled.
- Homepage only; vendor pricing pages may have different crawler policies.
- Snapshot of 2026-09-20; vendors change crawler policies without notice.
Script: scripts/crawler-test.mjs · Run 2026-09-20 · Reproduce with npm run bench