Can an AI assistant shop here? Here is every count.
Country by country, platform by platform.
How many fail each check, out of the stores or pages it applies to.
| Fails the check | Australia176 stores | Canada (outside Quebec)195 stores | United Kingdom142 stores | United States145 stores |
|---|---|---|---|---|
| Almost no words without JavaScript | 2 of 176 | 1 of 195 | 0 of 142 | 0 of 145 |
| No sitemap | 19 of 173 | 12 of 195 | 10 of 138 | 13 of 141 |
| No product data for machines | 21 of 107 | 16 of 130 | 11 of 74 | 15 of 83 |
| Do not say who runs the shop | 57 of 176 | 57 of 195 | 46 of 142 | 46 of 145 |
| Email in their name can be faked | 141 of 176 | 168 of 195 | 124 of 142 | 123 of 145 |
| No return policy a machine can read | 102 of 107 | 125 of 130 | 69 of 74 | 79 of 83 |
| No price a machine can read | 22 of 107 | 20 of 130 | 13 of 74 | 17 of 83 |
| No stock a machine can read | 22 of 107 | 19 of 130 | 13 of 74 | 16 of 83 |
| Missing the price, currency or stock | 22 of 107 | 21 of 130 | 13 of 74 | 17 of 83 |
| Fails the check | Shopify351 stores | WooCommerce136 stores | Other or not detected60 stores | Squarespace58 stores |
|---|---|---|---|---|
| Almost no words without JavaScript | 2 of 351 | 1 of 136 | 0 of 60 | 0 of 58 |
| No sitemap | 10 of 351 | 18 of 131 | 9 of 59 | 0 of 55 |
| No product data for machines | 25 of 290 | 14 of 52 | Not shown | Not shown |
| Do not say who runs the shop | 68 of 351 | 58 of 136 | 36 of 60 | 14 of 58 |
| Email in their name can be faked | 303 of 351 | 108 of 136 | 50 of 60 | 49 of 58 |
| No return policy a machine can read | 273 of 290 | 52 of 52 | Not shown | Not shown |
| No price a machine can read | 31 of 290 | 16 of 52 | Not shown | Not shown |
| No stock a machine can read | 29 of 290 | 16 of 52 | Not shown | Not shown |
| Missing the price, currency or stock | 32 of 290 | 16 of 52 | Not shown | Not shown |
Not shown: fewer than 50 stores, or a cell the total and the others would give away.
Is yours one of them? Find out before the shoppers do.
Sample, method, limits. Check us without us.
- Sample
1,600 of 12,348 shops mapped in OpenStreetMap, in 22 cities
Shops tagged in OpenStreetMap with their own website, in 22 cities: Toronto, Vancouver, Calgary, Ottawa, Edmonton, Winnipeg, Halifax, Victoria (Canada, Quebec left out); Austin, Portland, Seattle, Denver, Minneapolis (United States); Bristol, Manchester, Edinburgh, Leeds (United Kingdom); Melbourne, Sydney, Brisbane, Adelaide, Perth (Australia). We left out shops tagged with a brand, any web address listed for three or more shops, social pages and marketplaces, and services such as hairdressers and repairs. That left 12,348 shops. We checked 1,600 of them, in an order set by a fixed seed so the draw can be repeated.
- Stores
658 of the 1,600 sites sell online
Of the 1600 sites, 11 asked crawlers like ours to stay out, so we read nothing else on them; 411 did not answer over HTTPS, answered with an error (some sites turn automated readers away at the door), or sent us to another web address; 520 showed no sign of selling online. The other 658 are the stores on this page: the site runs on a shop platform, links to a cart or checkout, says add to cart, or links to a product page.
- What we read
At most four pages a site, as a reader of raw HTML sees them
At most four pages a site, one request at a time and at least a second apart: the robots.txt file first and alone, then the home page, the sitemap, and one product page linked from the home page (394 of the 658 stores linked to one we could read). We followed a redirect only within the same site, and only to a page its robots.txt let us read. Email settings come from public DNS records. No browser ran any script, so each page counts as a reader of raw HTML sees it. Our crawler names itself OrbylonScan and obeys robots.txt as RFC 9309 reads it.
- Each check
The facts written on the page for machines, and the public email records
A price counts when the product page carries a schema.org price and its currency as JSON-LD or microdata; stock counts on a schema.org availability; a return policy on a schema.org return policy. Saying who the business is counts on a schema.org Organization, LocalBusiness or store type on the home page. Email counts when the domain has SPF and a DMARC policy of quarantine or reject.
- Limits
A sample of mapped city shops, not of every store
OpenStreetMap lists the shops its volunteers mapped, so this is a sample of mapped city shops, not of every store in each country. The four countries were drawn in turn, so each has about as many sites checked as the others whatever its share of the shops, and the overall figures are a plain count across all four, not a weighted estimate for any one of them. We read one product page per store, the first one its home page links to. Passing a check means the facts are there to read; it does not mean any assistant uses them. Assistants also reach products through routes we did not measure: ChatGPT invites merchants to apply to share product data, and says catalogs on Shopify or Etsy are already integrated (chatgpt.com/merchants, read 7 October 2026). A store that fails here can still be found that way. Of the 1314 sites whose robots.txt we read, 11 tell every crawler to stay out of the home page.
- Method
bbf-2026-1, scanned 9 October 2026
SHA-256 of the sorted list of web addresses checked: e4bc6a36e767ba2282072287f50307d335256909c16010cc888597fbd6390684
- Names
- None. We named no store and contacted none.
We keep counting. Get the next one by email.
Turn the lights on.
Contains information from OpenStreetMap, made available here under the Open Database License (ODbL). © OpenStreetMap contributors, openstreetmap.org/copyright. Shop data as of 2026-10-09.