Why ChatGPT Can't Read the Parts of Your Site That Sell

Share
Cover banner: Why ChatGPT Can't Read the Parts of Your Site That Sell

Your developer checked robots.txt and the Cloudflare settings and told you ChatGPT can reach the site. They are right about the door, and they answered the wrong question.

The pages ranking for "is my website blocking AI crawlers" grade AI access pass or fail on the whole site. Even the thorough one stops once page source shows body text, and files the content itself under a separate job. For a local service business the block that costs money is further down. Your site passes every whole-site check while the exact passages an AI needs before it recommends you stay invisible or unattributable: your review count, your price, the claim with your name on it. The unit of the audit is the passage, not the site.

A crawler can reach your page and still leave without your best lines

Darren Shaw, founder of Whitespark, set the floor in a Search Engine Journal live session that Loren Baker recapped on September 21, 2026:

"You cannot be surfaced in AI responses if the AI can't even access your website."

Darren Shaw, founder of Whitespark, SEJ Live, September 2026

Nobody argues with that part, and the research backs it. Cyrus Shepard's evidence review of 23 AI citation factors (Zyppy, May 2026) scored URL accessibility 9.5 out of 10, the highest score of all 23 factors.

9.5/10
URL accessibility was the top-scored of 23 AI citation factors: if the AI cannot read the words, no other work you paid for gets cited.
Source: Cyrus Shepard's evidence review of 23 AI citation factors (Zyppy, May 2026), as compiled by Digital Applied.

That score works as a gate. Every dollar you put into content, reviews, and local listings only pays off inside an AI answer if the bot gets through the door first. Owners get misled on what "the door" means. Access is not one switch on the whole domain. It gets decided sentence by sentence, at the moment an AI fetches your page.

That moment matters because of how the newer AI systems work. Russ Jeffery is Director of Platform and Product Strategy at Duda. He said in the same session that "ChatGPT doesn't have their own index, they don't take the time to actually index and save pages within their infrastructure." He also said JavaScript rendering has "gone backwards in the past few years." Google still executes JavaScript and "is still doing a good job at this," in his words. The newer AI systems largely do not.

An AI system that does not run scripts and does not keep an index gets one look at your page: the raw HTML your server sends, minus everything that loads afterward. The review count inside a JavaScript carousel is not in that look. The pricing that only loads when someone clicks a tab is missing too. The "we are experts" claim that never names your business does arrive, but it is attached to nobody. Your site passes the access test while the three passages that win a local recommendation fail it quietly.

I have spent 15 years in SEO across more than 300 businesses, including plenty of local service firms, and this is the failure checklists miss most often. I rebuilt my own site's rendering to take its PageSpeed score from 59 to 97. The whole job came down to what the browser receives in the first response and what it has to wait for. I build and debug JavaScript-heavy tools in Claude Code sessions every day, including the command center I run my content operation from. I have debugged "renders for humans, blank for the bot" failures in my own code. The code keeps teaching the same thing: what a person sees on screen and what arrives in that first response are two different documents.

The standard AI access checklist grades the building, not the rooms you sell from

Every guide ranking for this question walks you through the same checks. Open yoursite.com/robots.txt, the small text file that tells bots what they may crawl, and look for "Disallow" lines naming AI bots. Log into Cloudflare or your CDN, the service in front of your site that speeds it up and filters traffic, and see whether a "block AI bots" setting is on. The thorough version adds a third step: view the page source and confirm your body text is in it.

When you read robots.txt, know which bot does which job. OpenAI, Anthropic, Perplexity, and Google each publish documentation separating the crawlers that fetch pages for live answers from the ones that gather training data. Block a training crawler and your content stays out of future model training. Block a search crawler and you vanish from the answers your customers are reading today.

CompanyFetches pages for live answers (keep open)Gathers training data (your call)
OpenAIOAI-SearchBotGPTBot
AnthropicClaude-SearchBotClaudeBot
PerplexityPerplexityBotNo separate training crawler listed
GoogleGooglebot (Search, including AI Overviews)Google-Extended, a robots.txt token for Gemini training, not a separate crawler
Common CrawlNoneCCBot, an open web archive used in AI training
Source: the published crawler documentation from OpenAI, Anthropic, Perplexity, Google and Common Crawl. Check each company's page before editing robots.txt, since bot names change.

The same published documentation lists a third kind of bot: on-demand fetchers such as OpenAI's ChatGPT-User, which grab your page live at the moment someone asks the assistant to look at it. They arrive at answer time, exactly the moment this article cares about. Keep them open too.

The Cloudflare check earns its place. Shaw said "Cloudflare often blocks AI crawlers by default," and that many owners have no idea their developer or host switched it on; he described a Shopify store blocked by Cloudflare. Jeffery called the block-all setting "a bad default by them," a publisher's policy applied to everyone, when a plumber or a dental clinic has every reason to want AI systems reading its pages. He added a warning about robots.txt itself: it is "a guidance policy" that compliant crawlers choose to respect, and "a little bit of a weak link in the chain." Anything truly private belongs behind a login or a server-level restriction, not a line in a text file.

Why do owners who pass all of it still go missing from AI answers? The checks are built to answer "can a bot get in?" A local recommendation depends on "what did the bot find once it was in?" Your Google results make the confusion worse. Google renders JavaScript. Search Console shows your service pages healthy and your review widget seen, and that green dashboard feels like proof the AI side is fine. It proves very little about a system that never runs the script.

Shaw also said, "For the vast majority of business owners, they don't need to worry about this," because sites on Duda, WordPress, or Wix already serve rendered HTML. He is right at the platform level, and that is exactly why the remaining failures hide so well. The platform sends the text. The review widget, the booking plugin, and the pricing calculator somebody bolted on afterward do not. If the whole-site checks do fail for you, start with which AI visibility layer to fix first, then come back to the passages.

Widgets and unnamed claims hide the passages AI needs

Shaw put the review widget problem in one line. Looking at a JavaScript review carousel, he said, "I can't read it because it's JavaScript." His fix needs no developer: write the sentence in plain text on the page, with how many reviews you have, your rating, and the award you won.

He followed with a line that shows how literally these systems read: "You can basically say any BS numbers you want on your webpage, and AI will cite it." Then he closed the loophole himself.

“The takeaway is not to fudge your numbers. The takeaway is to put those words on your page.”
Darren Shaw, founder of Whitespark, SEJ Live session, September 2026

An AI answering "physio near me with good reviews" can only repeat the review count it received. If yours lives inside a widget and a competitor typed theirs into a sentence, the competitor owns that line of the answer by default, even with fewer reviews than you. Accurate numbers in plain text are the entire fix.

Shaw flagged a second source of trouble: small businesses generating React-heavy sites with AI website builders. "If you're just vibe coding a website, they're usually pretty bad, and I would just pay attention to that." Vibe coding means describing a site to an AI tool and letting it write all the code. The result looks polished in a browser and reaches a bot as a near-empty shell, because scripts assemble the whole page after it loads.

The third failure is a wording problem. An audience member, Cody Anderson, asked whether semantic triples matter, meaning sentences built as subject, verb, object, with your business as the subject. Shaw's answer was "a hard yes." His example: "We are experts at hot water tank repair" gives a crawler no business to attach the claim to, while "Johnson Plumbing Denver are experts at hot water tank repair" does. His reasoning fit in five words: "robots are kind of stupid."

Jeffery pushed back on readability, warning that "at that point you are writing for robots," and Shaw agreed the pattern cannot open every paragraph. "It's a sprinkling," he said, saved for the passages you most want tied to your business: your core service, your pricing, your differentiators, your ratings. For shaping those passages so an AI lifts them cleanly, the companion piece on structuring your content so AI quotes it covers the formatting layer. This article stays on whether the passage reaches the bot at all, and whether it arrives with your name on it.

Picture your own business. Say you run a physio clinic in Manchester with a few hundred five-star Google reviews, clear fees for an initial assessment, and a homepage line that reads "we specialize in sports injury rehab." A patient on your site sees all three. An AI fetching that page for "sports injury physio Manchester with good reviews" works with something else entirely.

PassageWhat a person seesWhat a no-script AI fetch getsThe fix
ReviewsA carousel of five-star reviews and a rating badgeThe empty box the widget fills later: no count, no ratingOne plain sentence with the clinic name, real review count and average rating
PricingFees under a "Prices" tabNo prices, when the tab loads its content on clickCore prices written into the page itself
Specialty"We specialize in sports injury rehab"The words arrive, attached to no business"[Clinic name] specializes in sports injury rehab in Manchester"
LocationAn embedded map with the address pinnedA map frame, with the address living inside someone else's pageAddress, phone and service area in plain text on the page
Failure patterns from the SEJ Live session with Darren Shaw and Russ Jeffery (Loren Baker, Search Engine Journal, September 21, 2026). The clinic is an illustration, not a client.

None of those gaps would trip a robots.txt check, a Cloudflare toggle, or a quick scroll through page source that confirms "yes, there is text here." Each one decides whether your clinic appears in the answer or the clinic down the road does.

Run the passage audit in view-source, then hand the gaps to whoever built the site

Start by deciding which passages matter, because you cannot audit a page for sentences you never listed. Shaw's own research process is the fastest way in. Ask Gemini, Claude, or Google's Ask Maps what a page for your service should contain. "They're always going to tell you pricing," he said, along with trust symbols, reviews, and case studies. Then use query fan-out, the way an AI quietly breaks one question into many smaller searches before it answers. "It takes your one prompt and turns it into 10 other prompts," Shaw said. "Those are your frequently asked questions."

That research hands you a short list: your price, your review count and rating, your core service claim, your location, and the three or four questions buyers ask before they call. Next, look at the page the way a no-script AI does. On a desktop browser, right-click your service page and choose "View Page Source," or type view-source: in front of the address. That window shows the raw HTML your server sends, before any script runs. Press Ctrl+F (Cmd+F on a Mac) and search for each item.

The view-source passage audit
✓Your business name and phone number appear as readable text.
✓Your review count and average rating appear in a sentence, not only inside a widget.
✓At least one real review quote appears word for word.
✓Your core prices show up, even if the page also has a pricing tab.
✓Your main service claim names your business in the same sentence.
✓Your city or service area sits close to that claim.
Search each item with Ctrl+F on the view-source page. If it only turns up buried inside a long block of code instead of a readable sentence, count it as missing.

Mark each item present, missing, or unattached. Missing means it never appears. Unattached means the words are there but your business name is nowhere near them. Run it on your highest-earning service page first, because that is where a hidden number costs the most. Then fix in this order.

The fix sequence, in order
1Rule out the whole-site block: robots.txt allows OAI-SearchBot, Claude-SearchBot and PerplexityBot, and the Cloudflare or host AI-blocking setting is off for them.
2List the passages that win your recommendation, using the AI research prompt and the fan-out questions.
3Move missing numbers out of widgets and tabs into plain sentences: review count, rating, core prices. Keep every number true.
4Rewrite unattached claims with your business name as the subject, as a sprinkling on the passages that matter, not every paragraph.
5Re-run the view-source audit after every redesign, theme update, new widget or new plugin.
Steps 3 and 4 follow Darren Shaw's advice from the SEJ Live session, September 2026.

Steps 1, 2 and 5 are yours. Steps 3 and 4 are text edits you or an office manager can make in WordPress, Wix, or Duda without touching code, as long as the words live in the page editor. When the missing passage is inside a custom widget or an AI-built site, send your developer the audit list. Ask one question: "Which of these sentences appear in the raw HTML our server sends, before any JavaScript runs?" A good developer answers that in minutes with a yes or no per line. An answer about "the site being fully crawlable" means they checked the building and skipped the rooms.

Count passages found, not bots allowed

Your first number is the simplest one: how many of your listed passages appear in view-source, out of the total. Six out of six on every money page is the target. It is a number you control, it changes the day you edit the page, and it is the only metric in this article that measures the thing that actually broke.

Your second check is the answer itself. Once a month, ask ChatGPT, Perplexity, and Claude with search switched on the same questions your fan-out research produced. Read whether the answer repeats your real review count, your actual price, or your specialty with your name on it. Jeffery's point about ChatGPT keeping no index of its own cuts both ways here. If he is right, there is no reindexing queue to wait in, and a fixed passage can show up the next time a system fetches your page. Whether it fetches your page for a given question depends on signals beyond the page. That is where the local signals AI reads and the order to fix them takes over: consistent name, address, and phone details and the outside sources AI checks before it trusts you.

Answers shift from one run to the next. Judge them over several weeks, never from a single screenshot. The third data point lives in your hosting or CDN logs: visits from OAI-SearchBot, Claude-SearchBot, or PerplexityBot. Those visits confirm the door is open. What the bot carried out is a separate question.

Looks like progressWhat it provesMeasure this instead
robots.txt allows every AI botThe door is openListed passages present in view-source, out of the total
AI bot visits in your logsA crawler arrivedWhether answers repeat your real number, price or specialty
One ChatGPT screenshot naming youOne answer, on one dayThe same questions across three AI tools, monthly
Review widget installedA person can see your reviewsReview count and rating in a plain sentence in the page source
Search Console says the page is indexedGoogle, which runs JavaScript, can read itWhat the raw HTML holds for systems that do not run scripts
Vanity checks versus the passage-level measures that track what an AI can actually repeat about you.

Every row on the left feels like a finished job. Agencies love reporting them. The Search Console row is the one that fools the most careful owners, because Google is the one system Jeffery credits with still rendering JavaScript well. A clean Google report tells you the least about the AI tools that skip that step.

Frequently Asked Questions

How do I know if my website is blocking AI crawlers?

Open yoursite.com/robots.txt and look for Disallow lines naming OAI-SearchBot, Claude-SearchBot, or PerplexityBot. Ask whoever manages Cloudflare or your hosting whether an AI bot blocking setting is switched on, since Darren Shaw of Whitespark says Cloudflare often blocks AI crawlers by default. Then open your page source and search for your review count, your prices, and your business name. A site can let every bot in and still hide the sentences that win a recommendation.

Why does Google show my reviews but ChatGPT doesn't mention them?

Google runs JavaScript when it reads your page. Its crawler still sees a review widget that loads by script. Russ Jeffery of Duda said JavaScript rendering has gone backwards in the past few years, and that ChatGPT does not keep its own index of saved pages. ChatGPT works from the raw page your server sends, and a review count that only exists inside a widget is not in it. Add one plain sentence with your business name, review count, and average rating, and keep the numbers accurate.

Do I need to rebuild my website so AI can read it?

For most owners, no. Darren Shaw said sites on Duda, WordPress, or Wix already serve readable HTML. The gap is not in the platform. The fix is a handful of sentences: moving your review count, prices, and main service claim out of widgets and tabs into plain text with your business name attached. A rebuild is worth discussing only if your site was generated with an AI builder and view-source shows almost no readable text, which is the vibe-coded case Shaw warned about.

A clean robots.txt and a switched-off Cloudflare block tell you the door is open. They cannot tell you whether the sentence that should win you the next customer, the one with your name, your rating, and your price in it, is standing inside when the bot walks through.

If you want a second pair of eyes on what your service pages are hiding, book an AI visibility call and we will go through them in view-source together. Before then, open your best page and ask one question: if an AI could only repeat what your server sends, what would it say about you?

Free, No Commitment

Find out exactly where your AI visibility is leaking. In 30 minutes.

No pitch. No fluff. A straight diagnostic on your specific situation and the single highest-leverage fix to make right now.