AI crawlers in WordPress logs: GPTBot shows up, Google-Extended never does A developer has published a WordPress mu-plugin that logs visits from nine documented AI crawler user agents, after finding that Google-Extended and Applebot-Extended never appear in access logs because neither sends HTTP requests. The writeup maps OpenAI's GPTBot, OAI-SearchBot, ChatGPT-User and OAI-AdsBot, Anthropic's ClaudeBot, Claude-User and Claude-SearchBot, and Perplexity's PerplexityBot and Perplexity-User to their vendor-documented purposes and robots.txt behavior, noting that user-initiated fetchers such as ChatGPT-User and Perplexity-User may ignore robots.txt rules. The author discloses developing Prime SEO, a WordPress plugin that includes a similar log. Google-Extended and Applebot-Extended, two of the names that robots.txt guides list most often for AI, cannot appear in a WordPress access log. Neither one sends a request. Google's crawler documentation https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers states that Google-Extended "doesn't have a separate HTTP request user agent string." The second name gets even less: "Applebot-Extended does not crawl webpages," Apple's support page for Applebot https://support.apple.com/en-us/119829 reads, which leaves both names as robots.txt tokens rather than visitors and means that a log of AI crawlers in WordPress has to be built from the agents that send requests. Disclosure: the author develops Prime SEO, a WordPress plugin that includes such a log. Every user agent below was checked against vendor documentation on September 21, 2026, and the code runs without any plugin. OpenAI lists four agents on its crawler page https://developers.openai.com/api/docs/bots . GPTBot gathers training material the page says it exists "to make our generative AI foundation models more useful and safe" , while OAI-SearchBot builds the index behind ChatGPT search. ChatGPT-User fetches a page when a person asks for it. OAI-AdsBot checks pages submitted as ads. Anthropic documents three https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler , split the same way: ClaudeBot collects training data, while Claude-User and Claude-SearchBot serve live questions and search. Perplexity runs two. | User agent substring | Operator | Purpose, per the vendor | robots.txt | |---|---|---|---| | GPTBot | OpenAI | Model training | Honored | | OAI-SearchBot | OpenAI | ChatGPT search index | Honored | | ChatGPT-User | OpenAI | Fetch started by a user | "may not apply" | | OAI-AdsBot | OpenAI | Safety check of pages submitted as ads | Not stated | | ClaudeBot | Anthropic | Model training | Honored | | Claude-User | Anthropic | Fetch started by a user | Honored | | Claude-SearchBot | Anthropic | Search quality | Honored | | PerplexityBot | Perplexity | Perplexity search results | Honored | | Perplexity-User | Perplexity | Fetch started by a user | "generally ignores" | Missing from Anthropic's page are anthropic-ai and Claude-Web, two names that still circulate in robots.txt templates. A rule aimed at them blocks nothing the vendor admits to sending. Crawlers that build an index obey robots.txt, by the vendors' own account. Anthropic's help page says its bots "respect 'do not crawl' signals by honoring industry standard directives in robots.txt." Fetchers started by a person are a different matter. OpenAI describes ChatGPT-User as an agent that "is not used for crawling the web in an automatic fashion," and adds that "robots.txt rules may not apply" because a user starts the action. Perplexity's bot guide https://docs.perplexity.ai/guides/bots is blunter about Perplexity-User: "Since a user requested the fetch, this fetcher generally ignores robots.txt rules." For a site owner, the split has a practical side. A Disallow line can keep a page out of a training set, yet the same page may still be fetched for a ChatGPT user five minutes later. Only a log shows that second kind of visit. WordPress needs no plugin for a basic log. The file below goes into wp-content/mu-plugins/ , hooks into template redirect at priority 1, and compares the user agent of each request with the nine documented names.