We asked ChatGPT where to train in 12 cities. Here’s who it named.
The gyms getting cited aren’t the biggest or the best-reviewed. They share three structural things, and none of them are hard.
Twelve cities, three AI engines, nine phrasings of “where should a beginner train.” A couple hundred answers logged in a spreadsheet. The point was not to rank gyms. It was to see who got named, and whether that set had anything in common besides reviews.
The gyms that got cited were not the biggest or the best-reviewed. They shared three structural things, and none of them are hard.
1. They had a page per program, not a page per gym
The engines cite pages that answer one thing. A homepage that mentions kids, adults, gi and no-gi in one paragraph loses to a gym with a dedicated kids page even if the first gym is better.
Fig. 1 — Sample query, city, engine, Sept 2026.
2. Their prices were on the site, in text
Every gym named for a “how much does BJJ cost in X” query had published pricing. Every gym with “contact us for pricing” was absent from every cost-related answer. This is the single easiest fix on the list.
If the price is not on the page, the engine has nothing to quote — so it quotes the gym that published one.
3. Their schedule was HTML, not a PDF
Crawlers can't read a PDF schedule reliably and can't read an image at all. Gyms with “when are beginner classes” answers had a real schedule page.
What didn't matter
Review count above ~30 made no difference. Domain age made no difference. Instagram following made no difference. We checked those because everyone assumes they matter.
AI engines cite gyms whose sites have one page per program, prices in text, and a real HTML schedule. Review count, domain age and social following made no measurable difference across 12 cities and 3 engines. If your gym isn't being named, fix those three things before anything else.
Teardowns and search data for gym owners. No tips lists. Unsubscribe is one click and we don't argue.
