Field Notes · Original Research

We Audited 25 Real Restaurants. Blocking Wasn’t the Problem.

We ran real checks against 25 real restaurant sites: robots.txt, schema markup, review data. Access wasn’t the gap. Specificity was.

What We Actually Checked

Twenty-five real restaurants. One real script. No AI model wrote these findings.

We fetched the actual robots.txt file and the actual homepage HTML for 25 independently owned Denver restaurants. We pulled real review data for each one from Google’s Places API: star rating, review count, and a sample of real review text.

The sample came from Best of Denver’s published restaurant guide, spanning eight neighborhoods and a dozen cuisines. Twenty-five sites, one city, one week in August 2026. Small enough to stay honest about. Large enough to be worth reading.

We Tested a Claim We Never Had Data For

An earlier note on this site argued that companies often block AI crawlers by accident. That claim was never tested against real data. It was industry-common wisdom, stated as fact.

We tested it. None of the 25 restaurants blocked GPTBot, ClaudeBot, PerplexityBot, or any of the other three major AI crawlers we checked. Zero.

Five of the 25 sites had no robots.txt file at all. That is not the same as blocking. It means AI crawler access never came up as a decision, for or against.

For this segment, the claim does not hold. Local restaurants are not opting out of AI visibility. Most never opted in either way, because the question never reached them.

What’s Actually Missing

Access was never the real bottleneck. Specificity is.

86%
Have some schema
18%
Have Restaurant schema
0%
Have Menu schema
0%
Have FAQ schema

86% of the sites we could reach had some structured data, usually Organization or LocalBusiness schema. Only 18% had schema written specifically for a restaurant. None had Menu schema. None had FAQ schema.

Ask an AI system what’s on the menu, and it has no structured answer to pull from. Not even when the full menu sits right there in plain text.

Menu schema and FAQ schema are two of the cheapest fixes in the GEO Readiness Guide. Almost nobody in this sample has used either one.

Being Loved and Being Cited Are Different Problems

We also pulled real review data for the same 25 restaurants. Average rating: 4.55, ranging from 3.9 to 4.9. Review counts ranged from just over 100 to nearly 17,000.

None of that predicted GEO readiness. The best-reviewed restaurants in the sample were no more likely to have Menu schema than the rest. A 4.9-star restaurant with no structured data is exactly as invisible to an AI system as a 3.9-star one.

Customer sentiment and AI citability are separate problems. Fixing one does not fix the other.

What to Check on Your Own Site

Each of these checks took a script under a minute per site. You can run the same ones by hand in about the same time.

Where This Data Runs Out

This is 25 restaurants in one city, checked once, in August 2026. It is not a national study, and we are not presenting it as one.

The schema gap it found is large and consistent enough to act on regardless of sample size. Menu schema and FAQ schema were missing from all 25 sites we checked, not just most of them.

Methodology: Sample of 25 independently owned Denver-metro restaurants drawn from Best of Denver’s published restaurant guide (bestofdenver.org), spanning Sunnyside, RiNo, Berkeley, Highlands, Capitol Hill, Aurora, Lakewood, and Arvada. Technical checks (robots.txt, JSON-LD schema) ran directly against each site’s live homepage. Review data via Google’s Places API. Collected August 2026.

Restaurants checked: 240 Union, Alma Fonda Fina, Annette’s, Ash’Kara, Beckon, Brutø, Casa Bonita, Gaetano’s, Glo Noodle House, Hop Alley, Kizaki, La Diabla Pozole y Mezcal, Los Chingones RiNo, Marco’s Coal-Fired, Margot, Mezcaleria Alma, Mister Oso, Star of India, Sushi Den, Syrup Capitol Hill, Tavernetta, Teocalli Cocina, The Ginger Pig, The Wolf’s Tailor, Yak and Yeti.
See where your own site stands
Run it through Active GEO for a free read on all six dimensions, or book a 30-minute call to talk it through.