ChatGPT SEO: test whether GPTBot can actually read your site
ChatGPT draws on content that OpenAI's crawlers have successfully read - for training, for search and for real-time browsing. If GPTBot hits your site and receives an empty JavaScript shell, ChatGPT will never reference your business, your products, or your expertise no matter how well you rank on Google.
This free ChatGPT SEO checker sends a request with GPTBot's exact user-agent and shows you the raw HTML OpenAI receives. GPTBot does not execute JavaScript at all, so any content rendered client-side by React, Vue, or Angular is completely invisible to ChatGPT.
Paste a URL below to check whether ChatGPT can actually see what you have built.
How to use this tool
- 1
Enter the page you want ChatGPT to be able to read. GPTBot is preselected on this page.
- 2
Click 'Simulate crawl' to fetch it with GPTBot's user-agent.
- 3
Look at the status code. A 403 often means a bot-management rule on your CDN or host is turning OpenAI's crawlers away.
- 4
Open 'Raw HTML response' and check that your main copy is in the HTML. OpenAI's crawlers do not run JavaScript, so this response is all they get.
- 5
Check your robots.txt for GPTBot, OAI-SearchBot and ChatGPT-User. They are listed separately, so you can allow search while disallowing training, or the reverse.
How it works
We send one request with the header 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)' and return the status, the headers and the HTML exactly as received.
OpenAI runs three separate agents. GPTBot collects pages that may be used to train its models. OAI-SearchBot builds the index behind ChatGPT's search results. ChatGPT-User fetches a page when a person asks ChatGPT to open or check a link. This test uses the GPTBot identity, but all three read raw HTML without executing JavaScript, so a page that is empty here is empty for each of them.
The result tells you two different things. The HTML shows whether there is anything to read. The status code shows whether you are letting OpenAI in at all: many CDNs now offer a one-click setting that blocks AI crawlers, and it is easy to have it switched on without knowing. Our request does not come from OpenAI's published IP ranges, so a site that verifies those ranges may refuse us while still admitting the real crawler.
Understanding ChatGPT (GPTBot)
GPTBot is the best known of OpenAI's three web agents. It collects pages that may be used to train OpenAI's models, while OAI-SearchBot builds the index behind ChatGPT's search results and ChatGPT-User fetches pages on demand during a conversation. When users ask ChatGPT questions, it draws on content those agents have managed to read. If your pages return empty HTML shells, ChatGPT simply cannot reference your content.
GPTBot does not execute JavaScript. It reads the raw HTML response from your server, which means any content rendered client-side by React, Vue, Angular, or similar frameworks is completely invisible to it. This includes page titles, descriptions, headings, body text, and structured data.
The rise of AI-powered search is shifting how users discover information. ChatGPT, with hundreds of millions of users, increasingly serves as a discovery channel alongside traditional search engines. Being invisible to GPTBot means missing out on AI-driven referrals and recommendations.
GPTBot respects robots.txt and can be selectively blocked. Blocking GPTBot alone opts you out of model training; blocking OAI-SearchBot as well removes you from ChatGPT's search results. If the aim is to be cited, pre-rendering is the better approach: it makes your content accessible to OpenAI's agents while keeping your normal JavaScript application for human visitors.
Frequently asked questions
Can I block GPTBot from crawling my site?▾
Yes. Add 'User-agent: GPTBot' followed by 'Disallow: /' to your robots.txt. That stops your pages being collected for model training. To stay out of ChatGPT's search results as well, you would also need to disallow OAI-SearchBot. If you want to be cited instead of hidden, pre-rendering is the better fix - it makes your content readable without code changes.
Does ChatGPT use GPTBot for real-time browsing?▾
No. Real-time browsing uses a separate agent called ChatGPT-User, and ChatGPT's search results are built by OAI-SearchBot. GPTBot collects content for model training. None of the three executes JavaScript, so a page that returns an empty shell to GPTBot is empty for the others too, and ChatGPT will report that it could not find relevant content on your page.
How often does GPTBot crawl my site?▾
GPTBot's crawl frequency varies based on site authority and content freshness. It respects crawl-delay directives in robots.txt. Pre-rendering does not affect crawl frequency - it only ensures GPTBot sees your content when it does visit.
Related crawler tests
ClaudeBot checker
Test visibility for Anthropic's Claude AI. ClaudeBot indexes web content so Claude can provide accurate, up-to-date answers. JavaScript-only pages often return empty content to this crawler.
AI crawlerPerplexity SEO
Verify your content is accessible to Perplexity AI's search engine. PerplexityBot powers real-time web search answers - if it cannot parse your JavaScript, your site will not appear in Perplexity results.
AI crawlerGooglebot simulator
See your page exactly as Google's primary web crawler renders it. Googlebot processes JavaScript using a headless Chromium engine, but may still miss dynamically-loaded content that depends on user interaction or delayed API calls.
Search engineRelated free tools
What bots see
Enter any URL and see the raw HTML that search engine bots, AI crawlers, and social platforms receive - before and after JavaScript rendering.
Try it freeOG image checker and Open Graph debugger
Test your Open Graph and Twitter Card meta tags. Preview exactly how your links appear when shared on Facebook, LinkedIn, Twitter/X, and WhatsApp.
Try it freeSEO audit
Run a free SEO audit on any website. Check meta tags, headings, structured data, alt text, canonical URLs, and crawler accessibility.
Try it freeLLMs.txt generator
Build a valid llms.txt for your site - the proposed standard that helps AI assistants navigate your content. Spec-compliant, copy or download.
Try it freeMeta tag checker
Test every SEO and social meta tag on any page. Title, description, canonical, robots, viewport, Open Graph, Twitter - with bot-eye-view validation.
Try it freeLovable SEO audit
Audit any Lovable site for the JavaScript SEO problem. Lovable apps render in the browser - bots see an empty shell. This tool shows you what's missing.
Try it freeMake every crawler see your content
PageGlass automatically serves rendered HTML to all bots. No per-crawler configuration needed - one simple change covers Googlebot, AI crawlers, and social platforms.