# openai.com scores 20/100 on AI visibility. Here's the wall it hit.

> Our hourly GEO Pulse probe scored openai.com 20/100 on July 12, 2026: robots.txt allows every AI crawler, but the homepage answers HTTP 403. The robots-vs-WAF gap, explained.

Source: https://geoplaybooks.com/blog/2026-07-12-openai-com-scores-20/

# openai.com scores 20/100 on AI visibility. Here's the wall it hit.

Our hourly [GEO Pulse](/) probe scored openai.com **20/100 — "largely invisible"** on July 12, 2026. Not because of robots.txt: that file politely allows GPTBot, ClaudeBot and PerplexityBot. Because the homepage answered our fetch with **HTTP 403** — a wall at the WAF layer that robots.txt never mentions.

This is the first note in our lab notebook: short, dated, built on our own probes. Every claim below comes from a logged run you can reproduce with the [free checker](/check/).

## What the probe actually saw

> 20/100 openai.com Pulse score 403 homepage response to our fetch 4 of 5 signals failed or unreadable

The five-signal breakdown, verbatim from the run:

- **AI-crawler reachability — FAIL.** "Homepage returned HTTP 403 — a block or server error, not readable content."

- **GPTBot / ClaudeBot access — PASS.** "No blanket Disallow for the major AI crawlers."

- **llms.txt — FAIL.** No /llms.txt on the root domain.

- **JSON-LD schema and answer-first structure — FAIL**, because a page you can't read is a page you can't parse.

## Why does robots.txt pass while the site blocks bots?

Because they are enforced in different places. robots.txt is a promise; the WAF is a bouncer. openai.com promises entry and then the bouncer turns automated user-agents away at the door. A review of a few thousand business sites found about **27% blocking at least one major LLM crawler** — usually by accident, at the CDN or WAF layer, invisible in robots.txt. The pattern is common enough that it's the first thing our [AI crawler playbook](/ai-crawlers/) tells you to verify.

Does this hurt OpenAI? Barely — ChatGPT reaches OpenAI's content through its own pipelines, and every engine knows who they are. That's exactly the point: **they can afford a 403. You can't.** If your homepage answers 403 to a retrieval bot, you're simply absent from the answer pool, and no amount of schema or content work scores a single point behind that wall.

## The rest of the board

Elsewhere on the July 12 sweep: cloudflare.com and stripe.com hold **100/100**, vercel.com sits at 93, and anthropic.com lands at 65 — its root domain ships no llms.txt either, even though docs.anthropic.com carries one of the biggest llms.txt files [we've torn down](/llms-txt/examples/). The full board updates hourly on the [homepage](/).

Want your own number? The [checker](/check/) runs the same five probes in about 20 seconds — and if it surprises you, the [audit ladder starts at $49](/audit/).
