AIJuly 14, 20269 min read

We pointed three AI crawlers at 13 Southeastern Massachusetts pharmacies. The best-built site was the only one ChatGPT couldn't read.

Everyone is selling small businesses an AI strategy. So we ran the test: GPTBot, ClaudeBot and PerplexityBot against 13 real pharmacy websites from Fall River to Taunton. Nobody was blocking the bots. Nobody needed an llms.txt file. But two sites don't load at all, and the one independent that did everything right is invisible to ChatGPT — because of its own security layer. Here's every number, the method, and the free 60-second test you can run today.

By Joshua Amado

Share

There is a particular kind of business that gets hurt when the machines get it wrong, and the independent pharmacy is at the top of the list.

If Google's AI tells someone your Rock Street pharmacy closes at 5 and you actually close at 7, that person drives to CVS. If an AI assistant can't find you at all, you are not in the answer — and increasingly, the answer is the whole page. Whitespark's research this year found AI Overviews now appear in 68% of local-business-type queries on average. The chains have people whose entire job is this. The pharmacy on Acushnet Ave with four employees and a hundred years of trading has the owner, and the owner is counting Schedule II inventory.

So I stopped reading takes about AI and ran the test.

What I actually did#

I took 13 real pharmacy websites across Fall River, New Bedford, Somerset, Dartmouth, Fairhaven, Westport, Rehoboth and Taunton — eight independents, plus five hospital-system and supermarket pharmacies as a control. I fetched each homepage four times: once as a mobile browser, and once each as GPTBot (OpenAI), ClaudeBot (Anthropic) and PerplexityBot, using the real published user-agent strings. Then I fetched each robots.txt, and I parsed the raw HTML each bot actually received.

The key thing about that last step: I did not execute any JavaScript, because the bots don't either. GPTBot, ClaudeBot and PerplexityBot are raw-HTML fetchers. If your hours are painted onto the page by a script after it loads, or they live inside an image of a sign, the AI does not see hours. It sees nothing, and then it guesses. A site that "looks fine in Chrome" and fails this test is not a false alarm. It is the finding.

The tool is in our repo (ai_readability.py). The method is the whole argument — you should be able to repeat it and get my numbers.

13
pharmacy sites tested
Fall River to Taunton
0 of 12
blocked an AI crawler in robots.txt
the thing everyone worries about
2 of 13
could not be reached by any crawler at all
one 404s, one no longer exists
1 of 11
returned 403 to GPTBot specifically
the best-built independent in the set

Finding 1: Nobody is blocking the bots. Stop selling that.#

Of the 12 sites where robots.txt was measurable, zero disallowed GPTBot, ClaudeBot, anthropic-ai, PerplexityBot, CCBot or Google-Extended. Not one had any AI-crawler rule at all. The great "are you blocking the AI?" panic — the thing filling up LinkedIn — is a non-issue for every pharmacy in this region. It is a solution being sold for a problem nobody here has.

The adjacent upsell is the llms.txt file, and I want to kill that one too, because Google has already killed it in writing:

You don't need to create new machine readable files, AI text files, markup, or Markdown to appear in Google Search (including its generative AI capabilities), as Google Search itself doesn't use them.
Google Search Central Official documentation, "Optimizing your website for generative AI features on Google Search" Source

Same page, on the other thing you're being sold: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." And the line that should end the conversation: "From Google Search's perspective, optimizing for generative AI search is optimizing for the search experience, and thus still SEO."

If someone quotes you a price for an "AI optimization package" whose deliverables are an llms.txt file and some schema, you now have Google's own documentation saying you don't need it. Keep your money.

Finding 2: The plain old brochure sites are quietly winning#

This is the part I did not expect.

I scored each site 0–5: does every bot get in, does robots.txt allow them, is the phone in the raw HTML, are the hours in the raw HTML, is there LocalBusiness-family structured data. Median across the 11 reachable sites: 4 out of 5.

SiteTownAI scorePhone in raw HTMLHours in raw HTMLLocalBusiness schema
Site A (independent)Fall River4YesYesNo
Site B (independent)Fall River4YesYesYes
Site D (independent)New Bedford5YesYesYes
Site E (independent)New Bedford4YesYesNo
Site F (independent)Fairhaven3YesNoNo
Site G (independent)Westport4YesYesNo
Chain sites (5)across region4YesYesMixed
Site C (independent)Fall River--Site returns 404
Site H (independent)Rehoboth--Domain does not resolve

Site A is a century-old Fall River independent with a 325-word website, no structured data, and a design nobody would call modern. It scored the same as Stop & Shop. Its phone number, its street address and its hours are sitting right there in plain HTML text, which is exactly and entirely what a crawler wants.

That is not luck, and it deserves to be said plainly: the unfashionable little brochure site is good at this because it is made of text. The way to fail this test is to buy a beautiful JavaScript site that renders your hours client-side from a booking widget. The upgrade is the risk. 10 of 11 reachable sites had real hours in their raw HTML — the one that didn't (Site F, Fairhaven) names the days of the week but ships zero clock times to a bot. An AI reading that site knows the pharmacy exists and has no idea when to tell you to go there.

Finding 3: The site that did everything right is the one ChatGPT can't read#

Site B, in Fall River, is the best-built independent pharmacy website in Southeastern Massachusetts. It's the only site in the entire test with proper Pharmacy structured data. Its opening hours are in schema. It has a refill portal, an app, an English/Spanish toggle. Someone did the work.

It returns HTTP 403 to GPTBot.

Not to ClaudeBot — that got a clean 200. Not to PerplexityBot — 200. Not to a browser — 200. Only OpenAI's crawler is refused, and it's refused at the server, before robots.txt is ever consulted. That is a WAF or CDN bot rule doing what it was installed to do, and I would bet the pharmacy has no idea it's switched on.

So: the one pharmacy in this region that invested in being machine-readable is invisible to the single most-used AI assistant on earth, and every neighbour that did nothing at all is visible. Nobody sold them that outcome. Nobody told them it happened. There is no notification for this — you find out by testing, or you never find out.

Finding 4: Two of thirteen do not exist to a machine#

Site C's domain resolves, but the homepage returns 404 to every request — browser, GPTBot, ClaudeBot, PerplexityBot, http, https, www and apex. Site H's domain doesn't resolve at all: NXDOMAIN, no DNS record, on every variant I tried. These are real, trading pharmacies with real customers. To every AI on earth, they are nothing.

And here's the confession, because it's the best evidence in this article.

While researching this piece, I used an AI assistant to compile the list of pharmacy websites. It reported back that it had fetched and verified both of those sites and that they loaded fine. It described their content to me. Neither one loads. I only caught it because I ran a tool that couldn't lie to me: a DNS lookup and a raw HTTP fetch, four user-agents deep. If I had trusted the AI's summary — which was fluent, confident, and specific — I would have published two fabricated observations in an article about not fabricating observations.

LLM code will usually look fantastic: good variable names, convincing comments, clear type annotations and a logical structure. This can lull you into a false sense of security, in the same way that a gramatically correct and confident answer from ChatGPT might tempt you to skip fact checking or applying a skeptical eye.
Simon Willison Creator of Datasette, co-creator of Django Source

That is the actual lesson about AI for a small business, and it is worth more than any tool recommendation: AI is excellent at producing something that looks like an answer. Use it to draft, to summarise, to draw up the list. Then verify anything you'd be embarrassed to be wrong about. The verification is the job now.

The verdict, since you asked#

This was a test, so I owe you a ranking. The best AI investment a Southeastern Massachusetts pharmacy can make in 2026, in order:

  1. Make sure your website loads. Free. This beats everything below it by a distance, and two of the thirteen sites here fail it.
  2. Put your hours, phone and address on the homepage as plain text. Free. Not in an image. Not in a widget. Text.
  3. Your Google Business Profile. Free, and still the thing the AI is most likely to be reading about you.
  4. Structured data. Nice, cheap, worth doing — but Google says it isn't required, and my numbers agree: the schema-less sites scored the same.
  5. An "AI optimization package," llms.txt, or an AI chatbot on your site. Last. Google's own docs say the first two do nothing. A chatbot on a pharmacy website is a liability with extra steps.

Do this Monday — the 60-second test, free#

Open a terminal and run this, with your own domain:

curl -s -o /dev/null -w "%{http_code}\n" -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.1; +https://openai.com/gptbot" https://yourpharmacy.com/

If it prints 200, ChatGPT's crawler can reach you. If it prints 403 or 404 — like two of the sites above — you have found something that no amount of marketing spend was ever going to fix, and you found it for free. Swap GPTBot/1.1 for ClaudeBot/1.0 and PerplexityBot/1.0 and run it twice more. If any one of them differs, it's a bot rule at your host or CDN, and your web person can turn it off in about ten minutes.

Not a terminal person? Then do the version that costs nothing and takes two minutes: view your own homepage with JavaScript disabled. If your hours vanish, so do you.

What I could not measure#

I'll say this plainly, because the whole point of running a test is not pretending it answered more than it did.

I cannot tell you whether ChatGPT currently recommends any particular pharmacy. That is not measurable from a server, it varies by user and by session, and anyone who quotes you an "AI visibility score" for your business should be asked exactly how they got it. What I measured is narrower and more useful: whether the machine can physically read you. That's the floor. You cannot be recommended by a system that cannot fetch your homepage.

I also tested homepages only, not entire sites, and I tested on one day — July 14, 2026. Bot rules change. Re-run it.


If you run a pharmacy — or a shop of any kind — around Fall River or New Bedford and you want to know what the machines see when they look at you, I'll run this test on your site and send you the raw output. No pitch attached; it takes me a few minutes and you should know.

Joshua Amado · Avalon Partner · Fall River, MA 774.559.8992 · Joshua.Amado@AvalonPartner.com

Want help putting this into practice?

Avalon Partner helps Fall River and South Coast businesses fix the gaps that cost them leads. Call 774.559.8992 or email Joshua.Amado@AvalonPartner.com.

Keep reading