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. 1

      Enter the page you want ChatGPT to be able to read. GPTBot is preselected on this page.

    2. 2

      Click 'Simulate crawl' to fetch it with GPTBot's user-agent.

    3. 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. 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. 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

    Related free tools

    Make 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.

    We use cookies. Privacy Policy