OpenAI documents separate crawler identities for different purposes. A Shopify store should make a deliberate policy decision for each one rather than writing one vague “allow AI” rule.
This page reports real public-response tests performed July 27, 2026. It does not claim that the sampled stores were recommended by ChatGPT.
Separate the OpenAI user agents
Consult OpenAI’s current crawler documentation before changing production rules.
| User agent | Operational question for a merchant |
|---|---|
OAI-SearchBot |
Can OpenAI search systems retrieve public pages intended for discovery? |
ChatGPT-User |
Can a user-triggered ChatGPT request access a linked public page? |
GPTBot |
Does the merchant permit this separately documented use? |
Access by one does not guarantee access or use by another. It also does not guarantee a citation or recommendation.
Five-store product response test
SkuWatch AI Visibility requested the same canonical product from SkuWatch AI Visibility infrastructure with a browser-like header and a substituted OAI-SearchBot User-Agent string:
| Store | Browser | OAI-SearchBot string | Final-path behavior |
|---|---|---|---|
| The Woobles | 200 | 200 | both redirected to an en-ca product path |
| Rhode | 200 | 200 | remained on canonical product path |
| Ring Australia | 200 | 200 | remained on Australian product path |
| HexClad UK | 200 | 200 | remained on UK product path |
| MyFonts | 200 | 200 | remained on the font-family path |
This table records synthetic request behavior, not traffic from OpenAI. Status 200 must be followed by a returned-body check; legitimate crawler identification requires provider documentation plus infrastructure evidence such as verified request logs. Neither result establishes indexing, a ChatGPT citation, or a recommendation.
Robots case: explicit Ring rules
Ring’s observed robots file grouped GPTBot, ChatGPT-User, Google-Extended, PerplexityBot, and several other agents. The group allowed / while disallowing account, admin, checkout, cart, sign-in, and sharing paths.
That is a useful policy shape for a commerce site: public evidence remains reachable while transactional and private paths are excluded. It is not a template to copy blindly; Shopify’s generated defaults and each provider’s current user agents must be considered.
Shopify test commands
url='https://example.com/products/example-product'
curl -sSIL "$url"
curl -sSIL -A 'OAI-SearchBot/1.0; +https://openai.com/searchbot' "$url"
curl -sSIL -A 'ChatGPT-User/1.0' "$url"
curl -sS https://example.com/robots.txt
Record status, redirects, final URL, content type, response size, and any CDN challenge. Repeat from an external network if a WAF applies regional or ASN rules.
A 200 response is not enough
The Woobles case returned 200 for the tested user agents, but its visible sold-out state conflicted with structured InStock offers. ChatGPT can only form a reliable answer when retrieval and evidence quality both succeed.
Inspect the body:
curl -sSL "$url" -o product.html
rg -n 'rel="canonical"|application/ld\+json|price|priceCurrency|availability|sku' product.html
For product recommendations, verify:
- product category and intended use
- selected variant identity
- current price and currency
- current availability
- compatibility and exclusions
- shipping, returns, and subscription conditions
How to run a real ChatGPT observation
Use a clean session and preserve the exact state visible in the interface:
- ask an unbranded discovery question
- ask a constrained product question
- ask a brand-specific verification question
- request sources where the interface supports them
- save answer, links, timestamp, locale, and displayed mode
- classify the result using the evidence levels reference
Example prompt for the public Woobles case:
Which beginner crochet kits include video instruction and support left-handed learners?
For each recommendation, cite the product page and report current availability.
Do not record “ChatGPT can see the store” merely because the product URL returned 200. A successful answer with a canonical storefront citation is a different observation.
Failure diagnosis
| Observation | Likely next check |
|---|---|
| request challenged | CDN/WAF rule and verified crawler traffic |
| wrong market | geo redirect, cookies, canonical and currency |
| correct brand, wrong stock | duplicate or stale Offer data |
| third-party citation only | canonical product evidence and internal authority |
| provider timeout | exclude from mention denominator |
Acceptance criteria
- intentional robots policy exists for each relevant user agent
- public product pages return usable HTML without a challenge
- canonical, variant, price, currency, and stock agree
- legitimate traffic can be distinguished from spoofed headers in logs
- ChatGPT observations retain prompt, time, source URL, and provider state
- no statement promises that crawler access forces a recommendation