You can allow AI search while blocking training for providers that document separate controls, but there is no single universal robots.txt switch for every AI system. For OpenAI, OAI-SearchBot and GPTBot represent separate search and training decisions. Configure the documented agents deliberately, preserve existing crawl restrictions and verify the deployed policy.
This guide covers the documented OpenAI and Perplexity agents, a safe WordPress change process and the limits of the approach. It does not promise citations, prevent every automated fetch or establish a legal restriction on all uses of content.

Separate four decisions before editing anything
Website owners often combine four different questions: may a search crawler fetch a public page; may a provider collect material for model training; may a user-triggered tool visit a URL; and who may access private information? One bot rule cannot reliably answer all four.
Use a policy table before writing code:
| Decision | Example preference | Separate evidence needed |
|---|---|---|
| Public search discovery | Permit selected documented search crawlers | Correct agent policy and accessible public destination |
| Training collection | Disallow a documented training crawler | Provider-specific rule in the served robots file |
| User-requested retrieval | Review the provider’s stated behaviour | Current fetcher documentation, not an assumption about search bots |
| Private data access | Require real authorisation | Authentication and server-side access controls |
The final row is not optional. A private client report must not become public just because a crawler is asked not to read it.
The research method for this article was to compare current first-party bot descriptions and the robots protocol, reviewed on October 16, 2026. The deployment checklist and worked example are editorial tools, not results from a live crawler experiment. Recheck the official pages before implementing because provider agents and policies can change.
What the documented agent names mean
OpenAI: search, training and user actions
The official OpenAI crawler documentation states that OAI-SearchBot supports ChatGPT search, while GPTBot crawls material that may be used for foundation-model training. Their settings are independent, so permitting search does not require permitting GPTBot.
OpenAI describes ChatGPT-User separately: it supports certain user-initiated actions, is not the automatic search crawler, and robots rules may not apply to those requests. Use the documented search agent—not the user fetcher—as the relevant search-crawl control.
Perplexity: read its own definitions
The Perplexity crawler documentation describes PerplexityBot as a search-discovery agent, not a foundation-model-training crawler. It describes Perplexity-User as supporting user-requested visits and generally ignoring robots rules for those requests.
Therefore, do not label PerplexityBot a training bot merely because its name appears on an “AI bot” blocklist. Decide on each documented purpose rather than copying a list that groups all AI-related traffic together.
This is not an exhaustive provider directory. If your requirements cover other organisations, add each one only after reviewing its current primary documentation. Similar-looking agent names do not establish equivalent behaviour.
What robots.txt can and cannot do
The Robots Exclusion Protocol standard defines a way for cooperating crawlers to interpret rules. It explicitly distinguishes those rules from access authorisation. A malicious client can request a public URL regardless of what your robots file says.
Use authentication for private resources, and appropriate server controls for unauthorised or abusive traffic. Do not publish customer records under an obscure path and call a Disallow rule protection.
A crawler policy is also not a guarantee about historical copies, prior model training, third-party datasets or a provider’s legal obligations. Do not interpret a newly added line as proof that old material has been deleted or a trained system has unlearned it. Those are different questions requiring different evidence.
Google’s robots.txt introduction also distinguishes crawl control from other search controls. Do not repurpose a provider-specific training decision into a sitewide Googlebot block or a blanket noindex instruction.
Step 1: inventory the policy that is actually served
Visit the robots.txt URL on the exact production host. Record the response, body, date and which system owns it. In WordPress, the visible file may be generated by application settings, supplied as a physical file or modified by a hosting or edge layer.
Compare the public result with the dashboard configuration. Editing a plugin screen is not a successful deployment if a physical file or CDN still serves something else.
List every existing named-agent group, the wildcard group, sitemap references and intentional exclusions. Save a copy for rollback. Include other relevant hosts or subdomains in the inventory instead of assuming one host’s file controls the whole organisation.
Use the technical SEO audit checklist to identify adjacent crawl problems, but keep this change narrowly scoped. Do not combine it with permalink changes, canonical rewrites or a plugin replacement.
Step 2: write the business policy in plain language
A useful statement might be: “Our public educational pages should remain available to the selected search crawlers. We want to disallow the documented GPTBot training crawler. Private client material must remain authenticated regardless of crawler identity.”
Have the owner approve that statement before implementation. It makes disagreement visible: a marketing team may want search discovery while a rights team has separate restrictions. The person editing the file should not silently decide content licensing for the business.
Record exclusions, too. For example, you may permit crawling public service pages but not want a public technical archive fetched. Document the reason for each restriction; unexplained old lines tend to survive long after their purpose has disappeared.
Step 3: merge a minimal rule, not a replacement file
For a decision specifically to disallow GPTBot, this is the relevant group to review and merge:
User-agent: GPTBot
Disallow: /
This is a group, not a complete robots.txt file. If the file already has a GPTBot group, reconcile it rather than blindly appending conflicting instructions. Preserve unrelated crawler policy and sitemap references.
Allowing search may require no new group if your existing effective policy already permits that agent on the intended public paths. Conversely, a blanket wildcard restriction or an existing search-agent block needs deliberate review. There is no safe universal instruction to paste “Allow everything” into an unknown production policy.
Why a broad search-agent allow can be a mistake
Under the protocol’s group-selection model, a matching named-agent group matters separately from a wildcard fallback. Creating a new permissive named group can therefore fail to carry over exclusions you expected from the wildcard group. Review the full effective rules for each relevant agent and path.
For example, suppose the wildcard policy excludes a public technical archive. Adding a search-specific group that allows the entire site without preserving that exclusion may contradict the owner’s stated policy. Authentication must still protect genuinely private material, but you should not accidentally broaden crawl permission for other paths either.
Have the administrator translate the approved policy into the final merged file and test it with a standards-aware parser. Do not use a chatbot-generated snippet as proof of correct deployment.
Step 4: check the firewall separately
Robots permission and network access are different layers. An allowed public path can still return a challenge, rate-limit response or block page to a legitimate crawler.
Both providers publish bot-verification information through their official documentation. Consult the current endpoints rather than copying fixed IP ranges from this article. Perplexity specifically recommends combining the claimed agent with IP verification when configuring firewall rules.
Do not disable your web application firewall sitewide. If a narrow exception is justified, have the administrator scope it to verified legitimate traffic and the required behaviour. A User-Agent header alone is easy to imitate.
Keep two test results separate: a request made with an altered User-Agent can reveal how your server responds to that header, but it does not prove the request came from the provider or that the provider has accepted your policy.
Step 5: verify with a path-and-agent test matrix
Before deployment, write expected outcomes for representative paths. After deployment, compare the publicly served file and actual server behaviour with that matrix.
| Test case | Expected policy outcome | Additional check |
|---|---|---|
| Selected search agent, public guide | Permitted under the approved rules | Public page returns its intended content without an accidental challenge |
| GPTBot, public guide | Disallowed by the merged group | Served robots body contains the intended effective rule |
| Googlebot, established service page | Previous intended policy unchanged | No accidental sitewide block introduced |
| Ordinary visitor, private report | Robots policy is not the protection | Unauthorised request cannot retrieve private contents |
| Unknown client claiming a trusted agent | No automatic security bypass | Firewall exception is not based solely on its claimed name |
Use non-sensitive test destinations or synthetic records for access-control tests. Do not expose an actual client report merely to check whether an AI system will retrieve it.
Save the deployed robots body, expected outcomes, verification time and rollback owner. Recheck the file after cache clearing from the public route. A successful dashboard save is insufficient evidence.
Worked example: a Pakistani agency’s public knowledge base
Imagine an agency publishing public WordPress guides while retaining client audits in an authenticated portal. It wants selected AI-search discovery but not GPTBot collection for training.
The administrator first confirms that the portal requires authentication and that the public guides are reachable. The team records the current crawl policy and identifies an old blanket AI block whose purpose was never documented.
Instead of removing every bot restriction, the owner approves agent-specific decisions. The administrator reconciles the GPTBot group, checks the selected search agents’ effective access and preserves unrelated exclusions. The firewall review is handled separately with current verification information.
The completion report says the public configuration matches the approved policy and private access remains protected. It does not say the agency will be cited, that all training worldwide is blocked or that any model has deleted historical material. Those conclusions are not established by the test.
Troubleshooting misleading results
The site still receives requests after a Disallow change
Check the exact agent, requested host, timestamp and served file. A different agent, a user-requested visit or an uncooperative client is not necessarily evidence that your intended group was missing. Do not infer provider identity from a name alone.
The allowed search crawler is absent from logs
Permission does not compel a visit. First verify that the public pages and policy are accessible, then review relevant logs over an appropriate observation period. Absence of a request is not a reason to weaken private access controls.
The site is not cited after the change
Crawl access is only one prerequisite, not an editorial selection guarantee. Review content usefulness, accurate claims and discovery separately. For that broader work, use the AI-search checklist for Pakistani businesses.
Maintain the policy as a small operational record
Keep an owner, decision date, official source links, approved rules, test evidence and review trigger. Revisit it when a provider changes agents, your CDN changes bot settings or your site adds a new private area.
You can automate detection of robots-file changes without automating approval. The distinction fits a cautious SEO automation workflow: alert on a difference, have a responsible person interpret it, then deploy a reviewed change.
Frequently asked questions
Will blocking training stop every AI system using my content?
No. This guide addresses documented crawler controls for specific providers. It is not a universal technical or legal prohibition.
Should I block every agent with “AI” in its name?
Not without reviewing its documented purpose and your objective. A broad list can remove search discovery you actually wanted.
Do I need llms.txt for this policy?
This procedure uses the providers’ documented robots controls. A separate content-discovery file is not a substitute for the effective crawler rules or real access protection.
Can I promise clients that this prevents future AI copying?
No. Explain the precise configuration and its limits. Rights enforcement, licensing and privacy obligations need their own qualified assessment.
The defensible outcome
Separate search, training, user actions and private access. Make a provider-specific decision, merge the smallest correct policy change and test the result without weakening security. Report what the configuration proves—and leave citation, historical-use and universal-blocking claims out of it.
Need help applying this?
Get a practical review focused on the issue, evidence and next actions.
Contact Shahzaib