Can AI Read Local Business Websites? We Checked 2,882 of Them

By AltHealth Works · · 15 min read

Can AI Read Local Business Websites? We Checked 2,882 of Them
Quick answer

About half. In a November 2026 audit of 2,882 independent US local business websites, 50.6% showed their phone number, street address and opening hours in HTML an AI crawler can read without running JavaScript. Almost no owners block AI search crawlers in robots.txt (4 sites), but 10.5% of sites refused a request identified as an AI crawler while serving the same page to Googlebot.

People now ask ChatGPT, Claude, Perplexity and Google’s AI answers things like “is the taco place on 5th open right now” or “who does brake jobs near me.” The answer has to come from somewhere. For a small business, the most direct source is its own website, so we set out to measure how much of a typical local business website an AI system can actually read.

On November 8, 2026 we pulled 3,725 Google Maps listings for five kinds of local business in 20 US cities, kept the 3,064 that link to their own independent website, and audited each homepage twice: once as raw HTML, the way AI crawlers fetch it, and once in a full browser. 2,882 sites loaded for us. The rest blocked our server or were down. Every figure below comes from those 2,882 homepages unless we say otherwise.

How many local business websites give AI the basics?

Roughly one in two. 50.6% of homepages (1,323 of 2,617 businesses whose Google listing has all three) show the phone number, street address and opening hours in text an AI crawler can read without running JavaScript. Opening hours are the most common gap: 35.9% of homepages never state them.

50.6% of homepages show all three basicsA grid of 100 squares with 51 filled, representing the share of homepages that show phone number, street address and opening hours in crawlable HTML.althealthworks.com

51 in 100local business homepages show their phone number, street address and opening hours where an AI crawler can read them. The other 49 are missing at least one.

Source: AltHealth Works audit of US local business homepages, November 2026.

We counted a fact as readable when it appears in the page’s visible HTML text, in a tel: link, or in structured data, all before any JavaScript runs. We only scored facts the business had already published on its own Google listing. A cleaning company that keeps its address off Google is not marked down for keeping it off the website too.

Where each basic fact appears on the homepageStacked bars for phone, address and hours showing the share readable without JavaScript, only after JavaScript, or missing.Phone number83.2%14.6%Street address73.2%24.9%Opening hours62.7%35.9%Readable without JavaScriptOnly after JavaScriptNot on the homepagealthealthworks.com
Where each basic fact appears on the homepagePhone: 2,840 homepages. Address: 2,695 (listings with a street address). Hours: 2,835. Source: AltHealth Works audit of US local business homepages, November 2026.

JavaScript is not what holds these sites back. Only 2.1% of phone numbers, 1.9% of addresses and 1.4% of opening hours appeared after scripts ran but not before. The facts are simply not on the page.

Phone numbers are the strongest of the three, yet 14.6% of homepages do not show the number from the business’s Google listing. We re-checked a random sample of 40 of those pages: 19 showed a different phone number and 21 showed none. Either way, an assistant comparing the website with the Google listing gets two answers or one.

Hours are the weakest. 35.9% of homepages leave them out, even though every one of these businesses lists hours on Google. In a random sample of 40 of those pages, only 5 mentioned a day of the week anywhere.

Homepages showing all three basics, by industryHorizontal bars comparing five industries.Auto repair shops67.4%Restaurants65.3%Hair salons54.7%House cleaning services38.4%General contractors28.4%althealthworks.com
Homepages showing all three basics, by industryShare of homepages with phone, street address and opening hours all readable without JavaScript. Source: AltHealth Works audit of US local business homepages, November 2026.

Auto repair shops (67.4%) and restaurants (65.3%) do best. General contractors trail badly at 28.4%, and house cleaning services reach 38.4%. Both trades go to the customer rather than the other way around, which may be why their homepages lead with a quote form instead of an address and opening hours.

Are local businesses blocking AI crawlers?

Rarely on purpose. Only 4 of 2,882 sites block an AI search crawler in robots.txt, and 3.3% block AI training crawlers. But 10.5% of sites refused a request that identified itself as an AI crawler while serving the same page to a request identified as Googlebot. On sites served through Cloudflare the rate was 20.2%.

AI companies run separate crawlers for separate jobs. OpenAI’s GPTBot collects training data, while OAI-SearchBot fetches pages for ChatGPT search results (OpenAI). Anthropic splits the same way with ClaudeBot and Claude-SearchBot (Anthropic), and Perplexity uses PerplexityBot to build its search index (Perplexity). Blocking a training crawler keeps your pages out of future model training. Blocking a search crawler keeps them out of that assistant’s answers now.

What robots.txt files say

Local business owners almost never use robots.txt against AI search. 19.8% of sites name at least one AI crawler in robots.txt, but most of those lines allow access. The blocks we found target training: 2.4% of sites disallow GPTBot and 2.4% disallow ClaudeBot. 64 sites (2.2%) carry an ai-train=no signal, the setting Cloudflare writes when its managed robots.txt is switched on (Cloudflare docs). Another 14 sites block every crawler, Google included, which takes them out of search altogether.

What servers actually do

robots.txt is a request. A server or content delivery network can also refuse the connection outright, and the site owner may never see it. To test this, we requested each homepage five times from the same machine and changed only the user agent: once as Googlebot, then as GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot. Of the 2,553 sites that served the Googlebot request normally, 269 (10.5%) refused or challenged at least one of the AI requests.

Requests rejected by crawler identityHorizontal bars showing the share of sites that refused or challenged each AI user agent while serving Googlebot.ClaudeBot9.6%GPTBot5.5%PerplexityBot2.4%OAI-SearchBot1.3%Any AI crawler, on Cloudflare20.2%Any AI crawler, not on Cloudflare6.0%althealthworks.com
Requests rejected by crawler identityShare of the 2,553 sites that served our Googlebot request normally but refused, challenged or cut short the AI request. Source: AltHealth Works audit of US local business homepages, November 2026.

The refusals lean toward training crawlers: 10.0% of sites turned away GPTBot or ClaudeBot, against 3.1% for OAI-SearchBot or PerplexityBot. That split suggests deliberate AI blocking rather than generic bot filtering, which would treat all four the same.

Hosting makes the biggest difference. 1,004 of the sites (34.8%) are served through Cloudflare, and 20.2% of those rejected an AI request, against 6.0% everywhere else. Cloudflare switched its default on July 1, 2025 so that new domains block AI crawlers unless the owner opts in (Cloudflare blog). A shop owner who put the site on Cloudflare’s free plan for HTTPS may be blocking AI crawlers without having chosen to. Among platforms, Wix (19.1% of 94 sites) and WordPress (16.0% of 961 sites) sites stood out. On WordPress that points to security plugins and hosting firewalls, though we did not identify which ones. One platform rule showed up clearly: all 31 Square Online and Weebly sites refused our ClaudeBot request while serving GPTBot, OAI-SearchBot and PerplexityBot normally.

One limit on this test: our requests came from a cloud server, not from the IP ranges the AI companies publish for their crawlers. Some firewalls reject anything that claims to be a well-known crawler from the wrong address, and that would inflate these numbers. The Googlebot request is our control for it. A firewall that checks addresses usually catches a fake Googlebot too, and the 329 sites that refused our Googlebot request are left out of these rates. Treat the server figures as an upper bound and the robots.txt figures as the firm ones.

Is JavaScript hiding local business content from AI?

Mostly no. Only 3.1% of homepages need JavaScript to show most of their text, and the median homepage carries 643 words in its raw HTML. The exception in our sample was Square Online and Weebly, where 13 of 33 sites needed JavaScript for most of their text.

The concern is real in general. Vercel and MERJ studied crawler traffic across Vercel’s network and found no sign that the major AI crawlers, GPTBot, ClaudeBot and PerplexityBot among them, execute JavaScript (Vercel). A page that builds its content in the browser can look empty to them.

For local businesses, the large builders already send finished HTML. WordPress (0.7%), Squarespace (0.8%), Wix (1.1%), Duda (0.9%) and GoDaddy (1.6%) sites rarely depended on scripts for their text. Hand-built sites and less common builders ran higher, at 8.4%. If your site was custom-built as a single-page app, this is worth checking. If it runs on a mainstream builder, the gaps from the first section matter far more.

How many local business websites have an llms.txt file?

31.3%, which sounds high until you see where the files come from. 251 of 268 Wix sites and 113 of 117 Duda sites have one, created by the platform. Only 6 of 397 Squarespace sites do.

llms.txt is a proposed plain-text file that gives language models a short summary of a site and links to its key pages (llmstxt.org). The files we opened on Wix sites were generated automatically and state that the site is powered by Wix. On WordPress (276 of 1,076 sites) they come from SEO plugins; one we checked opened with a line crediting All in One SEO Pro. So among local businesses, llms.txt adoption is a platform decision, not an owner decision. Having the file costs nothing. It does not fix a homepage that never states its opening hours.

Do local business websites use LocalBusiness structured data?

Half do. 49.3% of homepages include LocalBusiness markup, or a subtype such as Restaurant or AutoRepair, in their HTML, and 35.0% put opening hours into structured data. Duda (76.9%) and Squarespace (72.0%) sites lead; WordPress sites trail at 38.7%.

Structured data is a labelled copy of your business details that machines read directly: name, address, phone, hours and business type. Google documents how it uses LocalBusiness markup for business details (Google Search Central), and the vocabulary itself is defined at schema.org. 78.6% of homepages had some JSON-LD markup, but on many it described only the website or an organization, not the business as a place customers visit. Hosted builders usually generate LocalBusiness markup from the business details you enter in settings, which likely explains why most of them beat WordPress here.

What basic SEO problems are most common on local business sites?

Missing descriptions and headings. 19.7% of homepages have no meta description and 20.7% have no H1 heading. HTTPS, by contrast, is close to universal at 97.1%.

A meta description is the short summary search engines may show under your link, and the H1 is the page’s main heading. Both take a minute to add in any builder. The rarer misses are more serious when they happen: 1.8% of homepages lack a mobile viewport tag, so phones show a shrunken desktop page, and 1.4% have no page title at all.

Footers tell their own story. Of the 1,807 homepages that show a copyright year, 16.1% show 2024 or earlier and 7.9% show 2022 or earlier. On Wix the share with 2024 or older was 43.5%, the highest of any major platform. An old year does not hurt rankings directly, but a customer deciding whether a business is still open will notice it.

How fast are local business websites on mobile?

Mostly middling. The median mobile PageSpeed score was 63 out of 100, and only 9.4% of sites scored 90 or above. The median Largest Contentful Paint in the lab test was 8.7 seconds.

Mobile PageSpeed scoresColumn chart of the distribution of mobile PageSpeed performance scores in 10-point bands.05101520250–90.710–190.720–291.830–396.740–4912.750–5920.160–6921.870–7918.080–898.290–1009.4% of sitesalthealthworks.com
Mobile PageSpeed scoresShare of 2,849 homepages in each 10-point band of the mobile Lighthouse performance score. Source: AltHealth Works audit of US local business homepages, November 2026.

We ran every reachable homepage through the PageSpeed Insights API, which uses Lighthouse on a simulated mid-range phone (Google). 22.6% scored below 50. Restaurants had the lowest median score of the five industries at 58.

Lab scores are a simulation. Real-world data from Chrome users, the Chrome UX Report (Chrome for Developers), only exists for sites with enough visitors, and that covered just 26.6% of this sample. Of those, 56.5% were rated fast overall. Most local businesses are too small to have field data, so the lab score is the only speed signal they can see.

What do restaurant websites get wrong about menus?

Prices and plain text. Of 438 restaurant sites with a menu page in HTML, only 36.8% list at least five prices on it. 11.7% of restaurant homepages link straight to a PDF menu, and 32.2% of HTML menu pages also send visitors to a PDF.

We looked at 566 restaurant homepages. 11.0% had no link with the word “menu” at all. Of the HTML menu pages we could open, 14.8% held fewer than 150 words, which usually means the menu is an image or an embedded widget. Someone asking an assistant whether a restaurant has a vegetarian main under $20 is far better served by a menu written as text with prices next to each dish. A PDF can still be offered as a printable copy.

Which website builders score best for AI readability?

Duda sites did best on the basics: 74.8% showed all three facts and 76.9% had LocalBusiness markup. Squarespace came next at 62.1%. WordPress, the most common platform at 37.3% of sites, landed at 53.3%.

PlatformSitesAll 3 basicsLocalBusiness markupAI crawler rejectedMedian speedFooter year ≤2024
WordPress1,07653.3%38.7%16.0%6113.8%
Other or custom70246.3%48.6%8.8%698.1%
Squarespace39762.1%72.0%0.3%5328.5%
Wix26843.0%61.6%19.1%7343.5%
GoDaddy12443.3%44.4%0.0%6722.0%
Duda11774.8%76.9%1.7%701.4%
Webflow6743.5%44.8%1.5%7018.2%
BentoBox6025.5%50.0%1.7%54–
Square Online / Weebly333.3%0.0%100.0%37–
Shopify2426.1%20.8%4.2%685.0%
Platforms with at least 20 sites in the sample. “All 3 basics” means phone, street address and opening hours readable without JavaScript. AI crawler rejection uses only sites that served our Googlebot request normally. Median speed is the mobile PageSpeed score. A dash means fewer than 20 sites showed a footer year. Source: AltHealth Works audit of US local business homepages, November 2026.

We identified platforms from the files each page loads, such as image hosts and script paths. “Other or custom” covers hand-coded sites and builders we did not fingerprint. Wix sites often answered our Googlebot request differently from a browser, so the Wix rejection rate rests on 94 sites rather than 268. The platform gap mostly reflects defaults. Builders that ask for business details during setup and print them on the page do well; WordPress sites depend on whichever theme and plugins the owner picked.

How many local businesses have no website at all?

8.6% of the 3,725 Google listings we pulled had no website link. Auto repair stood out: 24.7% of auto repair shops had none, against 1.5% of restaurants.

Another 56 listings (1.5%) pointed to a Facebook page, a booking platform or a Google-hosted page instead of a site of their own. We left those out, along with 220 listings that belong to chains and franchises, which we defined as any website domain that appeared in two or more of our cities. House cleaning was the most franchised trade: 135 of its 786 listings were franchise locations.

What should a local business owner fix first?

Put the phone number, street address and opening hours on the homepage as plain text, matching the Google listing exactly. Then make sure AI crawlers can reach the site at all.

In order of effort against payoff:

  1. Type out the basics. Phone, address and hours as text on the homepage, not inside an image, and the same as on Google. This alone moves a site into the top half of our sample.
  2. Turn on business details in your builder. Most builders have a business information setting that also writes LocalBusiness structured data, opening hours included.
  3. Check your AI crawler settings. On Cloudflare, look at the AI crawler controls under Security. You can block training crawlers and still allow OAI-SearchBot, Claude-SearchBot and PerplexityBot, which feed AI search answers. On WordPress, check your security plugin’s bot rules.
  4. Restaurants: publish the menu as text with prices. Keep the PDF as a download, not the only version.
  5. Add a meta description and one H1 heading to the homepage.
  6. Update the footer year, or switch it to one that updates itself.

If your site is new and none of this seems to matter because it does not show up anywhere yet, start with why a new website does not appear on Google. For what each page should contain, see what pages a website needs.

How was this audit done?

We pulled Google Maps listings through the Serper API, kept independent businesses with their own website, and checked each homepage with scripted requests, a headless browser and Google’s PageSpeed Insights API on November 8, 2026.

Sample

Five searches (restaurant, hair salon, general contractor, auto repair shop, house cleaning service) in 20 US cities: New York, Los Angeles, Chicago, Houston, Phoenix, Philadelphia, Dallas, Atlanta, Seattle, Miami, Denver, Nashville, Columbus, Charlotte, Kansas City, Salt Lake City, Omaha, Albuquerque, Boise and Richmond. We took the first two pages of Google Maps results for each search through Serper, which gave 3,725 unique listings. We removed 320 with no website, 56 that linked to a social, booking or Google-hosted page, 220 chain and franchise listings, and duplicate listings that shared one website. That left 3,064 independent sites, one per domain. 2,882 of them returned a normal homepage. 92 showed our server a bot challenge and 90 returned errors or timed out.

What we measured

  • Basic facts. The phone number matched on its last ten digits against the Google listing, in visible text, a tel: link or JSON-LD. The address matched on street number plus street name. Opening hours counted when the visible text contains a weekday and a time, or when JSON-LD contains openingHours. Only facts present on the Google listing were scored.
  • robots.txt. Parsed with standard robots.txt matching for 15 crawlers. Following RFC 9309, a missing file (4xx) means everything is allowed and a server error (5xx) means everything is blocked.
  • Crawler identity test. One request each with the published user agent strings of Googlebot, GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot. A request counted as rejected if it returned a non-200 status, a bot challenge page, or less than half the bytes of the browser response.
  • JavaScript dependence. Visible word counts from the raw HTML compared with the text of the same page rendered in headless Chromium.
  • Speed. PageSpeed Insights API v5, mobile strategy, performance category only, with Chrome UX Report origin data where available.
  • Platform. Detected from asset hosts and paths in the HTML.

Limits

  • We checked homepages only. A business that lists its hours on a contact page counts as missing here, although an AI crawler that follows links could still find them.
  • Google Maps ranks well-reviewed, established businesses higher, so the sample leans toward them. Newer or less visible businesses probably score lower.
  • Requests came from a US cloud server. The 92 sites that challenged us are excluded, and the crawler identity test is an upper bound for the reasons given above.
  • Percentages carry sampling error. The downloadable data includes 95% confidence intervals (Wilson score) for every figure.

Can I use this data?

Yes. The aggregated results are free to reuse under the Creative Commons Attribution 4.0 licence. Credit AltHealth Works and link to this page.

Download the aggregated data (CSV). It holds every percentage in this report, split by industry and platform, with sample sizes and confidence intervals. We do not publish site-level results or name individual businesses.

AltHealth Works (2026). Can AI Read Local Business Websites? An audit of 2,882 US local business homepages. https://althealthworks.com/research/local-business-websites-ai-readability-2026

Sources

  1. The rise of the AI crawler · Vercel and MERJ
  2. Content Independence Day: no AI crawl without compensation · Cloudflare, July 1, 2025
  3. robots.txt setting (managed robots.txt) · Cloudflare Docs
  4. Overview of OpenAI crawlers · OpenAI
  5. Does Anthropic crawl data from the web, and how can site owners block the crawler? · Anthropic
  6. Perplexity crawlers · Perplexity
  7. Google common crawlers (incl. Google-Extended) · Google Search Central
  8. RFC 9309: Robots Exclusion Protocol · IETF
  9. The /llms.txt file proposal · llmstxt.org
  10. Local business structured data · Google Search Central
  11. LocalBusiness type · schema.org
  12. About PageSpeed Insights · Google for Developers
  13. Chrome UX Report overview · Chrome for Developers

Want it done for you? Get a free home page preview →