Follow Peak Growth Partner

Why ChatGPT Can't Read Your Website

Peak Growth Partner blog

You paid good money for your website, and it looks it. Big photo of a finished job, your logo, a slider of before-and-afters, a bold banner that says "Serving the Lakes Area Since 2004." A homeowner gets it in two seconds.

ChatGPT can still walk away from that same page not knowing what you do or where you work. Not because your site is bad, but because ChatGPT reads it differently than a person does. Let's go through why, how to check your own site in ten minutes, and how to fix it.

Good-looking isn't the same as readable

A good-looking website can still be invisible to ChatGPT. A homeowner looks at your page. ChatGPT's crawler, the program OpenAI sends out to read web pages, reads what's written into the page itself, and that's a different thing.

Think of a house. A homeowner sees the paint and the trim. An inspector opens the panel and reads the paperwork. A crawler is the inspector. Paint doesn't count. Only what's written down counts.

Here are the three places contractor websites lose the inspector most often.

Words stuck inside pictures

If your services are only in a picture, don't count on ChatGPT reading them. A banner that says "Roofing, Siding, Gutters, Free Estimates" is, to a crawler, a picture file. Same with a logo that has your phone number in it, a flyer you posted as an image, or a truck photo with your number on the door.

Google is plain about this. For its own AI Overviews and AI Mode, one of the practices it recommends is "making sure that important content is available in textual form" (Google Search Central). If Google says it about its own AI answers, take it as the rule for ChatGPT too.

The fix is easy. Leave the banner, and put the same words underneath it as regular text. Then give every photo a short, honest description in its alt text (the hidden caption a website stores with each image), like "new architectural shingle roof on a lake cabin in Crosby." Google calls alt text the most important attribute for describing an image (Google Search Central).

Words that only show up after the page loads

Some websites send a nearly empty page first, then fill in the words with JavaScript, a kind of code that runs in the visitor's browser. Your browser runs it, so the page looks fine to you.

ChatGPT's crawlers may not. A December 2024 study by Vercel and MERJ found that none of the major AI crawlers it measured run JavaScript, and it names OpenAI's crawlers among them (Vercel). Google can run JavaScript, but even Google says pre-rendering the page on the server "is still a great idea," partly because some bots can't run it (Google Search Central).

This is the problem we found on Alpine Peak Roofing's website in August 2026. The business details were all there, written into the site's code, but they were added by a script after the page loaded, so a crawler reading the raw page saw none of them. Fixing that was most of the climb from 52 to 95 on our five-part check (starting score August 2026, re-checked October 10, 2026). The whole story is in its own post.

Sliders, tabs, "click to expand" boxes and some website builders' widgets can hide words the same way. Testimonials, service lists and booking forms are common ones.

A few lines of code that say what and where

A few lines of code tell ChatGPT what you do and where. That code is called structured data, or schema, and it's written in a standard format called JSON-LD. A homeowner never sees it. It sits in the page and says, in a form a machine reads without guessing: this is a roofing contractor, here's the business name, the phone, the hours, the towns it serves.

The vocabulary comes from schema.org, a shared dictionary for web pages that people at Google and Microsoft helped start (schema.org). It has a type for most trades: RoofingContractor, Plumber, Electrician, HVACBusiness and GeneralContractor all sit under HomeAndConstructionBusiness (schema.org). There's a property called areaServed for the towns you cover (schema.org).

Two honest notes. OpenAI hasn't published how much weight ChatGPT gives this code, so treat it as the clearest label you can put on your business, not a magic switch. And the code has to match the page. Google's rule is "don't mark up content that is not visible to readers of the page" (Google Search Central). If the code says you serve twenty towns and the page names three, fix the page.

It also has to be in the page itself, not added by a script later. That was exactly Alpine Peak's problem.

The ten-minute check

No tools, no account. Do this on your own homepage:

  1. The highlight test. Drag your mouse across your phone number, your services and your towns. If it won't highlight, it's a picture.
  2. View the source. On a computer, press Ctrl+U (or right-click and choose View Page Source). That's roughly the page a crawler gets. Press Ctrl+F and search for your phone number, then your main service, then your town. If they aren't in there, a crawler reading the raw page won't find them.
  3. Look for the label. In the same source, search for "ld+json". If you find it with your business name next to it, you have structured data in the page.
  4. Check the door. Open yourdomain.com/robots.txt. Make sure it doesn't block OAI-SearchBot, the crawler OpenAI says decides whether a site can be shown in ChatGPT search answers (OpenAI crawler documentation).

The fixes, in order

  • Put your trade, towns and phone number on the homepage as plain text, in the footer at the very least.
  • Copy the words out of your banners and into a line of text under them.
  • Add short, honest alt text to your job photos.
  • Ask whoever built your site whether the main content is in the page when it's sent, or added by a script afterward. If it's added afterward, that's the big one.
  • Add structured data for your business type, with your real towns, and make sure it matches the page.
  • Make sure robots.txt lets OAI-SearchBot in.

None of this guarantees that ChatGPT will name you. Nobody can promise that. It makes sure that when ChatGPT looks, it finds you.

If you'd rather see the results for your own site than do it all by hand, the free audit at www.peakgrowthpartner.com/audit runs our five-part check in a few seconds. Your web address is the only thing it asks for.

Sources

  • Google Search Central, "AI features and your website" (important content in textual form): https://developers.google.com/search/docs/appearance/ai-features
  • Google Search Central, "Image SEO best practices" (alt text): https://developers.google.com/search/docs/appearance/google-images
  • Google Search Central, "Understand the JavaScript SEO basics": https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
  • Google Search Central, "General structured data guidelines": https://developers.google.com/search/docs/appearance/structured-data/sd-policies
  • Vercel and MERJ, "The rise of the AI crawler" (December 17, 2024): https://vercel.com/blog/the-rise-of-the-ai-crawler
  • OpenAI, "Overview of OpenAI crawlers" (OAI-SearchBot): https://developers.openai.com/api/docs/bots
  • schema.org, About, HomeAndConstructionBusiness and areaServed: https://schema.org/docs/about.html, https://schema.org/HomeAndConstructionBusiness and https://schema.org/areaServed

Questions

Frequently asked questions

Can ChatGPT read the words in my photos?

Don't count on it. Google recommends keeping important content in text form for its own AI answers, so put the words from your banners and graphics on the page as regular text too.

What is structured data, in plain English?

It's a few lines of code in your web page that state your business type, name, phone, hours and service area in a standard format machines read directly. Homeowners never see it, and it has to match what the page says.

Why would ChatGPT miss content that I can see on my site?

Some sites load their words with JavaScript after the page opens. A December 2024 study by Vercel and MERJ found that OpenAI's crawlers don't run JavaScript, so words added that way can be missed.

Do I need a new website to fix this?

Usually not. Most fixes are small: text under banners, alt text on photos, structured data, and an open robots.txt. A site that loads all its content with scripts may need more work from whoever built it.

Ready to see what AI search sees when it looks at your site?

Book a strategy call. We'll run the audit before we even talk.

Book a strategy call