We checked 658 small online stores before Black Friday. 375 of the 394 product pages we read give no return policy in a form a machine can read.

WHAT WE FOUND · 658 ONLINE STORES · CANADA, US, UK, AUSTRALIA · SCANNED 9 OCTOBER 2026

Before Black Friday, we ran the same public check on small independent online stores in four countries to see what an AI shopping assistant would find there: whether it can read the store, check who runs it, and get a price it can use. We named no store and contacted none. Here is every count, each out of its total.

Free. No signup. Takes under ten seconds.

Can it read the store?

Before an assistant recommends a product, it has to find it.

Shopping assistants read a shop the way a search engine does: the raw page, a list of pages, and the product data written for machines.

  • 3 of 658

    Stores show an assistant that does not run JavaScript almost no words at all.

    3 of 658 stores, scanned 9 October 2026.

  • 54 of 647

    Stores publish no sitemap, the list of pages a machine reads to find every product.

    54 of 647 stores, scanned 9 October 2026.

  • 63 of 394

    Product pages carry no schema.org product data, the format shopping assistants parse.

    63 of 394 product pages, scanned 9 October 2026.

Can it check who it is buying from?

A stranger's money needs a reason to trust.

Who runs the shop, what happens if the item goes back, and whether an email in the shop's name really came from it.

  • 206 of 658

    Stores do not say on their home page who the business is, in a form a machine can read.

    206 of 658 stores, scanned 9 October 2026.

  • 556 of 658

    Stores let anyone send email that looks like it came from the store.

    556 of 658 stores, scanned 9 October 2026.

  • 375 of 394

    Product pages give a machine no return policy it can read.

    375 of 394 product pages, scanned 9 October 2026.

Does it have what it needs to buy?

A price, a currency, and whether it is in stock.

Three facts an assistant needs before it can put an item in front of a shopper. Read on one product page per store, linked from its home page.

  • 72 of 394

    Product pages show no price an AI shopping assistant can read.

    72 of 394 product pages, scanned 9 October 2026.

  • 70 of 394

    Product pages never say in a form a machine can read whether the item is in stock.

    70 of 394 product pages, scanned 9 October 2026.

  • 73 of 394

    Product pages miss at least one of the price, the currency or the stock.

    73 of 394 product pages, scanned 9 October 2026.

Of the 72 product pages with no price a machine can read, 46 still show one in the text a person reads, so an assistant has to guess which number on the page is the price. In the other 26 we found no price figure in the text we read at all (a currency sign or code written before a number).

By country and by platform

Country by country, platform by platform.

Each cell is the number of stores that fail the check, out of the stores it applies to. A cell with fewer than 50 stores is not shown, so no small group can be picked apart, and when a hidden cell could be worked out from the total and the cells beside it, the smallest of those is hidden too.

Fails per check, by country
Fails the checkAustralia176 storesCanada (outside Quebec)195 storesUnited Kingdom142 storesUnited States145 stores
Show an assistant that does not run JavaScript almost no words at all2 of 1761 of 1950 of 1420 of 145
Publish no sitemap, the list of pages a machine reads to find every product19 of 17312 of 19510 of 13813 of 141
Carry no schema.org product data, the format shopping assistants parse21 of 10716 of 13011 of 7415 of 83
Do not say on their home page who the business is, in a form a machine can read57 of 17657 of 19546 of 14246 of 145
Let anyone send email that looks like it came from the store141 of 176168 of 195124 of 142123 of 145
Give a machine no return policy it can read102 of 107125 of 13069 of 7479 of 83
Show no price an AI shopping assistant can read22 of 10720 of 13013 of 7417 of 83
Never say in a form a machine can read whether the item is in stock22 of 10719 of 13013 of 7416 of 83
Miss at least one of the price, the currency or the stock22 of 10721 of 13013 of 7417 of 83

By the platform the store runs on

Fails per check, by platform
Fails the checkShopify351 storesWooCommerce136 storesOther or not detected60 storesSquarespace58 stores
Show an assistant that does not run JavaScript almost no words at all2 of 3511 of 1360 of 600 of 58
Publish no sitemap, the list of pages a machine reads to find every product10 of 35118 of 1319 of 590 of 55
Carry no schema.org product data, the format shopping assistants parse25 of 29014 of 52under 50, not shownunder 50, not shown
Do not say on their home page who the business is, in a form a machine can read68 of 35158 of 13636 of 6014 of 58
Let anyone send email that looks like it came from the store303 of 351108 of 13650 of 6049 of 58
Give a machine no return policy it can read273 of 29052 of 52under 50, not shownunder 50, not shown
Show no price an AI shopping assistant can read31 of 29016 of 52under 50, not shownunder 50, not shown
Never say in a form a machine can read whether the item is in stock29 of 29016 of 52under 50, not shownunder 50, not shown
Miss at least one of the price, the currency or the stock32 of 29016 of 52under 50, not shownunder 50, not shown

How we counted

Sample, method, limits. Check us without us.

We sell fixes for some of these problems. Here is how to check our numbers without us.

The sample

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.

Who counts as an online store

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, 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.

What each check means

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. 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.

Scanned 9 October 2026. Method bbf-2026-1. SHA-256 of the sorted list of web addresses checked: e4bc6a36e767ba2282072287f50307d335256909c16010cc888597fbd6390684. Every published cell as CSV: before-black-friday.csv.

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.

Is yours one of them? Find out before the shoppers do.

Our free check reads your own shop and shows, in plain words, what an AI shopping assistant can and cannot read there.

Free. No signup. Takes under ten seconds.