Teardown / Melbourne

Eight Melbourne coffee roasters, as an AI crawler sees them

Verified by direct fetch on 11 September 2026. Every line below can be reproduced with curl.

Short answer

We expected blocked crawlers and JavaScript shells. We found neither. All eight sites server-render real text and not one restricts a single AI crawler. What five of the eight do not have is any usable H1 text, and only one of the eight states its name, street address and trading hours in the HTML a crawler receives.

Method

On 11 September 2026 we fetched the homepage and robots.txt of eight well-known Melbourne specialty coffee businesses, using a plain HTTP request with no JavaScript execution, which is what every major AI crawler except Googlebot and AppleBot does.

For each site we recorded four things: whether the business name, street address and trading hours appear in the raw HTML; what the first h1 element contains; whether robots.txt restricts any answering-bot token; and which application/ld+json blocks exist.

Every fetch returned HTTP 200. None hit a challenge page or a bot block. You can reproduce any line in the table with curl in about a minute.

What we expected, and what we found

We expected the usual story: sites built in the browser, and robots.txt files quietly blocking the crawlers that matter. Neither turned out to be true here.

All eight are on Shopify, and all eight server-render real text. Not one is an empty JavaScript shell. None of the eight restricts a single AI crawler. No Disallow: /, and no mention anywhere of OAI-SearchBot, Claude-SearchBot, ClaudeBot, GPTBot, PerplexityBot, Bingbot or Googlebot. The robots.txt files are Shopify defaults and they are permissive.

So the two failures the industry talks about most were absent from all eight. The failure is somewhere quieter.

Five of the eight have no usable H1 text

Three have no h1 element on the homepage at all. Two have one that contains only a logo image, so there is no text in it.

That matters because of where retrieval systems take their stored text from. Research into ChatGPT's retrieval stack found the snippet it keeps per page is roughly 200 characters, query-independent, frozen at index time, and drawn from the text immediately around the H1, which it captured in about 84 percent of pages that had one. A page with no H1 text gives that process nothing to anchor to.

One of the eight states name, address and hours

Only Dukes Coffee Roasters had all three present in the served HTML: the business name, a full street address, and trading hours. Every other site had at least one missing.

The most common gap was hours, absent from five of the eight. The second was the street address, absent from three, where suburb names appeared only as navigation labels such as “Carlton” or “Fitzroy” in a locations menu rather than as a stated address.

None of the eight carries local business structured data

No LocalBusiness, no CafeOrCoffeeShop, no PostalAddress, no OpeningHoursSpecification on any of the eight. Five carry Organization and WebSite, which are Shopify defaults. Three carry no structured data at all.

We are the wrong people to make this sound urgent. A matched study of 1,885 pages that added JSON-LD found no major uplift in AI citations on any platform, and Google states that no special structured data is needed for its AI surfaces. Schema is worth having for conventional rich results and for telling two similarly named businesses apart. It is not the thing that would change these results.

The results

BusinessFirst H1NameStreet addressTrading hoursStructured data
Proud Mary Coffee
proudmarycoffee.com.au
“Proud Mary Coffee Melbourne”YesNoYesNone
Market Lane Coffee
marketlane.com.au
Logo image only, no textYesNoNoNone
Seven Seeds
sevenseeds.com.au
No h1 elementYesYesPartialOrganization, WebSite
Industry Beans
industrybeans.com
“Industry Beans”YesNoNoOrganization, WebSite
Code Black Coffee
codeblackcoffee.com.au
No h1 elementYesYesNoNone
Dukes Coffee Roasters
dukescoffee.com.au
“Naturally Better Coffee”YesYesYesOrganization, WebSite
ST. ALi
stali.com.au
Logo image only, no textYesYesNoOrganization, WebSite
Axil Coffee Roasters
axilcoffee.com.au
No h1 elementYesYesNoOrganization, WebSite

Fetched 11 September 2026. “Name”, “street address” and “trading hours” record whether that fact appears anywhere in the raw HTML of the homepage, with no JavaScript executed. Seven Seeds is marked partial on hours because the page states collection hours for order pickup rather than café trading hours.

What the opening text actually says

The pattern is easier to see in the openings themselves. These are verbatim, from the raw HTML.

Seven Seeds opens with “Transparent. Exceptional. Honest. Craft & quality focused.” Code Black opens with a seasonal product announcement about newly landed Colombian coffees. Dukes has the H1 “Naturally Better Coffee”. Axil's first prose is “RIP. DRIP. SIP.”

All of it is good brand writing. None of it states a business type, a suburb, or an opening time, which are the things a constrained query is matching on. Market Lane and Industry Beans are the clearest cases: the text immediately following their H1 is the navigation menu, so the first substantial words a text-only crawler encounters are a list of product categories.

Contrast that with what an answer-first opening would look like for the same business: “A specialty coffee roastery and café in Carlton, Melbourne. Our own filter and espresso roasts, plus six other locations across the city. Open 7am to 4pm weekdays, 8am to 4pm weekends.” Same brand, same tone available in the next paragraph, but the first forty words now answer six different queries.

Two caveats we are not going to bury

The ST. ALi character count depends on the parser. Its homepage contains <html> and <head> but no closing </head> and no <body> tag. A strict parser puts the whole document inside the head and recovers nothing; a browser-equivalent parser recovers the content normally. The publishable fact is the markup defect, not a “no content” claim. The content is genuinely there.

We did not test any assistant. Nothing here says any of these businesses is missing from ChatGPT, Perplexity or anything else, because we did not measure that and we would not report a single run if we had. This is a record of what eight servers returned to an ordinary HTTP request on one day.

Why this is a category pattern, not eight mistakes

Every one of these is a serious business with a good site. The sites are fast, they look right, and they sell coffee effectively, which is what they were built to do. Nothing here is a web-design failure by any conventional standard.

What has changed is that a second kind of reader now matters, one that gets a single HTTP response, takes about 200 characters from around the heading, and never sees the photography. Almost nobody has written for that reader yet, which is why the same gaps appear across eight independent businesses on the same platform. That is also why it is cheap to fix and currently worth something to be early on.

If you run a café and want to know what your own page returns, the café page sets out the attributes worth publishing, or book a call and we will fetch yours on the call.

Common questions

No, and we deliberately did not test that. Measuring an assistant properly needs a frozen prompt set sampled many times, and a single run is noise. This teardown reports only what each server returned to a plain HTTP request on 11 September 2026: what was in the HTML, and what robots.txt said.

Because unnamed examples cannot be checked, and an agency that asks you to trust its evidence should be checkable. Every line in the table can be reproduced with curl in about a minute. We have kept strictly to mechanical facts and we have not characterised anyone’s business, only what their server returned.

If an owner tells us something here is factually wrong, we will re-fetch, correct it and say that we corrected it. If a site changes after publication we will note the date rather than quietly rewrite history, because the original fetch date is part of the claim.

The H1 itself is not magic. What matters is that retrieval systems take their stored text from around it, and that the text is reused for every query that reaches the page. A page with no H1 text has no anchor for that extraction, so whatever gets stored is whichever text happened to come first, which on most of these sites is the navigation menu.

What does your page return?

Book a 30 minute call. We will fetch your site live on the call, with JavaScript disabled, and read you what comes back.