All posts

GEO

ChatGPT can't see your website. Here's how to fix it.

AI search engines read the web differently to Google. If ChatGPT, Perplexity and Claude can't see your site, you're invisible to a fast-growing slice of search traffic.

·8 min read

The new problem nobody told you about

Test it. Open ChatGPT and ask: "What is your-site.com about?" If you get "I can't access that website" or a hallucinated description that's wrong, your site is invisible to AI search.

This matters more every month. ChatGPT, Perplexity, Claude, Gemini and the new wave of AI browsers (Arc Search, Brave Leo, Comet) collectively now handle a meaningful share of "search-like" queries. Being invisible to them is the 2026 equivalent of not being on Google in 2010.

Why AI engines can't read your site

There are three common reasons, in order of frequency:

1. The bot is blocked. Many sites' default robots.txt blocks GPTBot, ClaudeBot, PerplexityBot, and others. Sometimes intentionally; usually by accident.

2. The site is JavaScript-only. AI crawlers fetch HTML and read it. They don't run your React app. If your homepage's HTML is <div id="root"></div>, there's nothing to read.

3. There's no signal of who you are. No Organization schema, no llms.txt, no FAQ schema. Even if the bot can read your HTML, it can't confidently summarise you.

Fix 1: Allow the AI bots in robots.txt

Open your-site.com/robots.txt. It should look like this:

User-agent: *
Allow: /

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

Sitemap: https://your-site.com/sitemap.xml

Google-Extended is the bot that decides whether to use your content in Gemini and Google's AI Overviews. Worth allowing.

Fix 2: Ship server-rendered HTML

Same fix as for Google. Pre-render or SSR every page. After deploying, view source on your homepage. If you can read your headline in the raw HTML, AI crawlers can too.

Fix 3: Add an llms.txt

/llms.txt is the new standard for telling LLMs what your site is. It's a markdown file at the root:

# Acme — invoicing for freelancers

> Acme is a invoicing app built for solo freelancers in the UK and EU.
> One-click invoicing, automatic VAT calculation, and Stripe payouts.

## Key pages
- [Pricing](https://acme.com/pricing)
- [How it works](https://acme.com/how-it-works)
- [API docs](https://acme.com/docs)

ChatGPT, Perplexity and Claude are starting to read this file when they encounter a domain. It's cheap insurance.

Fix 4: Add Organization and FAQ schema

JSON-LD structured data is the only way to tell AI engines, in machine- readable form, exactly who you are and what you answer. Drop this in your <head>:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Acme",
  "url": "https://acme.com",
  "logo": "https://acme.com/logo.png",
  "sameAs": [
    "https://x.com/acme",
    "https://linkedin.com/company/acme"
  ]
}
</script>

For your FAQ section, wrap it in FAQPage schema and your answers become eligible to be cited by Perplexity and quoted in Google's AI Overviews.

How to test it actually worked

Wait 48 hours, then re-ask ChatGPT, Perplexity and Claude what your site is about. If you get a coherent description that quotes your homepage copy, you're in. If not, the most likely issue is still client-rendered HTML — re-check view source.

Don't want to fix it yourself?

Get the free 14-point audit.

We scan your site for the same issues this article describes — plus 13 more — and send you the full report. No signup needed.

Run free audit