AI Engines · 8 min read · September 24, 2026 · Hafsa Tariq, gaash.ai
ChatGPT and a physio practice: what OpenAI's crawler page settles
OpenAI's crawler page settles which of its crawlers reach your practice's site and what each is for: OAI-SearchBot indexes pages for ChatGPT search, GPTBot collects training data, ChatGPT-User fetches a page when a user asks, and OAI-AdsBot visits only pages submitted as ads. It does not describe how ChatGPT chooses a practice. What it leaves to you is access: public pages that state what patients ask, and a booking system kept behind its login.
What does OpenAI's crawler page settle?
It settles one thing per token it documents. Each token is its own decision in robots.txt, because under RFC 9309 a group of rules written for one crawler does not bind another. The table keeps to what OpenAI states and sets beside each statement what it means for a physio practice's site.
| Token | What OpenAI's page says | What it means for a practice |
|---|---|---|
| OAI-SearchBot | Indexes pages for ChatGPT search. Sites that disallow it do not appear in ChatGPT search answers, but may still show up as navigational links. A change to its rules takes about 24 hours. | Allow it on every public page; it is the token to check first. After changing its rule, wait a day before checking again. |
| GPTBot | Collects training data. Disallowing it does not remove a site from ChatGPT search answers. | A decision about training, separate from search. Blocking it neither protects a patient nor takes the practice out of search answers. |
| ChatGPT-User | Fetches pages for actions a user starts. It is not used for automatic crawling or to decide what appears in search, and robots.txt rules may not apply to it. | The fetch a patient sets off by pasting your fees page into ChatGPT. A Disallow line may not stop it, so nothing private can rest on one. |
| OAI-AdsBot | Visits only pages submitted as ads. | Relevant only to a page the practice has submitted as an ad. Our crawler access check reads nineteen tokens, and this is not one of them. |
Where no group in the file names OAI-SearchBot or GPTBot, each falls back to the rules written for *. ChatGPT-User cannot be read that way. Because a person starts each of its fetches, OpenAI says robots.txt rules may not apply to it, so do not count on a robots rule to keep it from any page. The crawler access check reports what your file asks of each token it lists, OAI-SearchBot, GPTBot and ChatGPT-User among them; for ChatGPT-User, that is a request OpenAI says may not apply.
What the page leaves open
It does not describe how ChatGPT decides which practice to name, in what order or why, and we do not claim to know. An answer can come from two places, and the page speaks to one of them. With search on, ChatGPT answers from pages its search finds, which for your site means pages OAI-SearchBot was allowed to fetch. Without search, it answers from what the model learned before its knowledge cutoff, which for a practice can mean last year's fees and a therapist who has since left.
Both routes lead back to your own pages. Correct a fee there, and the next fetch finds the new one; leave it, and either route can repeat the old one. Your pages are the part of the picture you write yourself, and the same pages serve Claude, Gemini and Perplexity as well.
The booking system, the intake forms and the public pages
If your practice books online, its site has two halves. One is public: pages about the practice, its treatments, therapists, fees and hours. The other sits behind a login: the booking calendar, intake and health history forms, home exercise programs, messages, invoices. OpenAI's crawlers, like every AI crawler, are for the first half. None should reach the second, and the only thing that keeps it that way is the login.
| On a public page | Behind the login |
|---|---|
| Whether patients can book without a referral, as the practice's policy | A patient's referral letter and appointment history |
| Treatments, the conditions you see, therapists and their licenses | Intake and health history forms |
| Fees, the plans billed directly, how to claim | Invoices, receipts and claims |
| Session length, what to wear, what to bring | Home exercise programs assigned to a patient |
| Hours by location, evening and weekend times, home visit areas | The live calendar and anyone's booked times |
| How to book, reschedule and cancel, and any cancellation fee | Messages between patients and therapists |
robots.txt cannot do the login's job. It is a public file, readable by anyone who adds /robots.txt to your domain, so a line disallowing /intake/ tells every reader where the intake forms are. It is a request to crawlers, not a barrier, and OpenAI's page says its rules may not apply to ChatGPT-User at all. If a patient pastes the address of an intake form into ChatGPT, the login is what answers.
The public half needs its facts in text. A booking widget that draws visit types and fees with a script can hand a fetcher that runs no scripts an empty box. Our audit's crawler ran none, and in our audit of 9,483 small business websites (40 trades, 90 metros, late August to early September 2026), 3.0% rendered their content only in JavaScript. Beside the widget, write which visits can be booked online, whether new patients can book that way, and the number to call.
What a practice's public pages carry for ChatGPT search
OpenAI's page describes access, not content, so this part is reasoning: an answer built from search can only repeat a fact that a page it fetched states. The facts a physio patient asks about are the condition and the treatment by name, who provides it and with what license, whether they can book without a referral, the fee and the plans billed, the session length, home or clinic, and the hours. The overview for physiotherapy practices maps each one to a page. For a crawler, each has to be:
- On a public URL of its own: a page for each treatment, each therapist, each location, the fees and the booking policy.
- Linked from the homepage within a click or two. A page reachable only from inside the booking system is not reachable at all, and internal linking is how a crawler that starts at your homepage finds the rest.
- Named and placed: the practice and the town in the title and the first paragraph, so a passage taken from the page still says whose it is.
- Dated where it changes: "Fees as of [month, year]" beside the fees.
- In HTML, not in a PDF fee schedule or a picture of the opening hours.
How a treatment page is built so that a lifted passage stays true is the subject of treatment pages that survive being quoted; what each one says is in a page for each treatment. None of it is specific to ChatGPT, and that is the point: a page a fetcher can read serves every assistant that fetches it.
Checking what OpenAI's crawlers receive, in the order a fetch meets it
| Check | How to run it | Passing looks like |
|---|---|---|
| The robots file | Read /robots.txt on your domain, or run the crawler access check | OAI-SearchBot allowed on the public pages, by its own group or by the * group |
| The front door | curl -s -L -A "OAI-SearchBot" -o fees.html -w "%{http_code}\n" https://www.example.com/fees, then read the HTTP status code | A 200, and your own fees page inside the saved file; some challenge pages also answer 200, so open it |
| Scripts | View the source of a treatment page and the booking page with JavaScript off | The treatment, fee, session length and referral policy readable as text |
| The login | Open each public page in a private window, signed out of everything | No public page sends you to the booking system's sign-in |
| Files | List where fees, plans and forms live | Fees and plans on HTML pages, with any PDF a printable copy of one |
| A patient's own fetch | Paste the address of your booking page into ChatGPT and ask whether the practice takes patients without a referral | The reply states your policy as the page does |
These checks settle whether OpenAI's crawlers can reach and read your pages, nothing more. Whether ChatGPT then names the practice is something only a measurement across runs shows, and the panel for it is in what being named means for a physio practice. If your robots file needs rewriting, robots.txt for AI crawlers has one to copy.
Common questions
Should we block GPTBot to protect our patients' privacy?
Blocking GPTBot keeps your public pages out of what it collects for training, and that is all it does; OpenAI says disallowing it does not remove a site from ChatGPT search answers. It protects no patient, because nothing about a patient belongs on a public page in the first place. Privacy is the login's job: intake forms, notes and messages sit behind it.
Our booking page is hosted on the software vendor's own domain. Does that matter?
It means the vendor's robots.txt and bot settings govern that page, not yours, because robots rules apply host by host. Treat the vendor's page as the place patients book, not the place your facts live: state the referral policy, the fees and how long a first visit takes on your own site, and link to the booking page from there.
Is there a way to submit our practice to ChatGPT?
OpenAI's crawler page describes no submission form for businesses; it describes crawlers and the robots rules that govern them. What a practice can do is let OAI-SearchBot reach its public pages and make those pages state what patients ask. Anyone selling guaranteed placement in ChatGPT's answers is selling something OpenAI's documentation does not describe.
We changed our robots.txt yesterday. When will ChatGPT search reflect it?
OpenAI's page says a change to the rules for its search crawler takes about 24 hours. That covers access only. After it, OAI-SearchBot may fetch pages it could not reach before, and what ChatGPT's answers say depends on what those pages state. Run the access checks again after a day, then read the answers to your patients' questions.
Sources
What each OpenAI token does is taken from OpenAI's crawler documentation and goes no further than it does; how robots.txt groups are read is from RFC 9309. The one audit figure is our own, from the audit linked below, and covers all 40 trades.
Sources: OpenAI, crawler documentation · RFC 9309, Robots Exclusion Protocol · our audit of 9,483 small-business sites, with its method
Read on