We checked 658 small online stores before Black Friday. Here is what an AI shopping assistant would find.

  • Scanned 9 October 2026

375of 394

product pages give no return policy in a form a machine can read.

Can an AI assistant shop here? Here is every count.

  • 3of 658Stores show an assistant that does not run JavaScript almost no words at all
  • 54of 647Stores publish no sitemap, the list of pages a machine reads to find every product
  • 63of 394Product pages carry no schema.org product data, the format shopping assistants parse

Country by country, platform by platform.

How many fail each check, out of the stores or pages it applies to.

Fails per check, by country
Fails the checkAustralia176 storesCanada (outside Quebec)195 storesUnited Kingdom142 storesUnited States145 stores
Almost no words without JavaScript2 of 1761 of 1950 of 1420 of 145
No sitemap19 of 17312 of 19510 of 13813 of 141
No product data for machines21 of 10716 of 13011 of 7415 of 83
Do not say who runs the shop57 of 17657 of 19546 of 14246 of 145
Email in their name can be faked141 of 176168 of 195124 of 142123 of 145
No return policy a machine can read102 of 107125 of 13069 of 7479 of 83
No price a machine can read22 of 10720 of 13013 of 7417 of 83
No stock a machine can read22 of 10719 of 13013 of 7416 of 83
Missing the price, currency or stock22 of 10721 of 13013 of 7417 of 83

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.