This is a sample report. Copperbeech is an invented store on a reserved domain that nobody can register, built to score in the sixties so the sample shows real findings. The engine, the scoring and the checks are the ones a paying customer gets. Speed is not measured here because the store does not exist, and the report says so rather than scoring it zero.
Store copperbeech.examplePlatform ShopifyCatalogue 18 productsRead on 09 September 2026Order bf_sample0001
69 / 100
Needs work
When a shopper asks an AI assistant for what this store sells, this is how far the assistant gets: whether it can read the products, confirm price and stock, trust the store and reach it.
Scored on 90 of 100 available points. Not measured: Speed.
Section
Points
Score
Catalogue readability
15.9 / 25
64%
Structured data
20.3 / 25
81%
Agent access
11.0 / 15
73%
Trust and policy
12.3 / 15
82%
Speed
not measured
Visibility spot check
2.5 / 10
25%
Section scores as a share of their points.
Findings
high1 page of 15 sampled have no Product structured data in the served page
/products/camp-mug
Add Product JSON-LD to the product template (most themes have it; some apps remove it). It is the single fact sheet every agent reads first.
high2 AI search or shopping crawlers are blocked from product pages
OAI-SearchBot (ChatGPT search and shopping)
PerplexityBot (Perplexity search)
In robots.txt (Shopify admin, Online Store, Themes, Edit code, robots.txt.liquid) allow these agents on /products/ and /collections/. Blocking a training crawler is a separate choice and can stay.
medium61% of titles do not name the product type
camp-mug: Camp Mug
weekender: Weekender
field-cap: Field Cap
deck-shoe-sand: Deck Shoe
wool-throw-charcoal: Wool Throw
A shopper asks an agent for "trainers" or "a wool jumper", so the title should say which it is: brand, product type, then the one or two attributes they would ask for, then size or variant. If titles must stay short for the brand, make sure the product type field and the first line of the description say it plainly; agents read both.
medium61% of titles are under 20 characters, numbered, or led by marketing words
camp-mug: Camp Mug
weekender: Weekender
field-cap: Field Cap
deck-shoe-sand: Deck Shoe
wool-throw-charcoal: Wool Throw
Shopify admin, Products, edit each title. Start with the best sellers.
medium56% of descriptions are under 50 words
weekender: Weekender
field-cap: Field Cap
study-shirt-ecru: Study Shirt
study-shirt-indigo: Study Shirt
camp-mug: Camp Mug
Give every product a description that states material, dimensions, weight, compatibility and care in plain sentences. Agents extract facts; they cannot infer them from a photo.
medium56% of descriptions contain no measurable specification
the-daily-tee: The Daily Tee
the-daily-tee-black: The Daily Tee
field-cap: Field Cap
study-shirt-ecru: Study Shirt
study-shirt-indigo: Study Shirt
Add a short specification list (a bulleted list in the description) with units: size, weight, capacity, material, what is in the box.
medium9 pages of 15 have no GTIN in structured data
/products/oiled-leather-belt-tan
/products/the-daily-tee
/products/the-daily-tee-black
/products/weekender
/products/study-shirt-ecru
/products/study-shirt-indigo
Add the barcode to each variant in Shopify admin and make sure the theme outputs it as gtin. A GTIN is how an agent matches your listing to the same product everywhere else and to reviews of it.
mediumShipping policy is disallowed for crawlers in robots.txt
/policies/shipping-policy
Shopify hides /policies/ from every crawler by default, so an agent that honours robots.txt cannot read it. Publish the same text on a normal page (for example /pages/shipping) and link it from the footer, or allow /policies/ in robots.txt.liquid.
mediumReturns and refunds is disallowed for crawlers in robots.txt
/policies/refund-policy
Shopify hides /policies/ from every crawler by default, so an agent that honours robots.txt cannot read it. Publish the same text on a normal page (for example /pages/returns) and link it from the footer, or allow /policies/ in robots.txt.liquid.
mediumContact page is disallowed for crawlers in robots.txt
/policies/contact-information
Shopify hides /policies/ from every crawler by default, so an agent that honours robots.txt cannot read it. Publish the same text on a normal page (for example /pages/contact) and link it from the footer, or allow /policies/ in robots.txt.liquid.
lowNo llms.txt
Publish /llms.txt: a short plain-text page naming the store, what it sells, its policies and where the catalogue is. Cheap, and the agents that read it read it first.
Review
Overall Summary
You scored 69 of 100, on 90 available points. Speed was not measured, so it scores nothing and is excluded from the total rather than counted as zero.
Two AI search crawlers are blocked from your product pages in robots.txt: OAI-SearchBot, which is how ChatGPT search and shopping reads a store, and PerplexityBot. Whatever else is true of this catalogue, those two assistants cannot see any of it.
The catalogue splits almost exactly in half. Eight products carry the detail an assistant needs, and ten do not: 61% of titles do not name the product type and 56% of descriptions carry no measurable specification.
Structured data is nearly complete where it exists, at 20.3 of 25, but the GTIN is missing on 9 of 15 sampled pages. A GTIN is how Google Shopping and AI shopping surfaces match your product to the same product elsewhere.
Your policies are good and almost none of them can be read. Shipping, returns and contact all exist with concrete facts, and 1 of 6 policy pages is readable by a crawler.
In a spot check of eight buyer-style queries on 9 September 2026, this store appeared in 2. Both were queries that named the brand or quoted a specification you publish.
What AI Agents Can Read
Catalogue readability scores 15.9 of 25, the weakest measured section, and every point of it is inside your own product data.
Titles naming the product type: 38.9%.camp-mug is titled Camp Mug, weekender is titled Weekender, field-cap is titled Field Cap, deck-shoe-sand is titled Deck Shoe and wool-throw-charcoal is titled Wool Throw. An assistant filtering for a bag, a cap or a throw is reading the title first.
Titles of 20 or more characters, without numbering or marketing words: 38.9%. The same short titles fail both tests at once, so fixing one fixes the other.
Descriptions of 50 words or more: 44.4%. The eight detailed products run past 100 words. The other ten run to about 35 and say the same things: built for everyday wear, only gets better with age. the-daily-tee, field-cap, study-shirt-ecru and weekender are the pattern.
Descriptions containing a measurable specification: 44.4%. The contrast in your own catalogue is the clearest evidence of what this is worth. british-lambswool-rollneck-jumper-oat gives 380gsm, a four-ply rib, chest 96cm to 127cm, a 68cm body length, 620g in a medium, and a 30 degree wool wash. the-daily-tee gives none of those things. An assistant asked for a 380gsm jumper can answer from the first and cannot from the second.
Structured data scores 20.3 of 25. Product structured data is present on 93.3% of the 15 pages read, with price, currency, availability, brand and SKU at the same rate. /products/camp-mug carries none at all.
GTIN present on 40% of pages.oiled-leather-belt-tan, the-daily-tee, weekender, study-shirt-ecru and study-shirt-indigo have no barcode in their structured data. Without it, an assistant comparing prices has no reliable way to know your product is the same product it has seen elsewhere.
Rating present on 46.7%. Just under half your sampled pages expose a rating an assistant can weigh.
Vendor is filled on 100% of products, product type on 100%, and every variant has a SKU. You average 4.28 images per product, past the target of three, with alt text on 74%.
Section scores as a share of their available points
Whether They Can Trust the Store
Trust and policy scores 12.3 of 15, and the shape of that number matters more than the number. Every page an assistant looks for exists, and almost none of them can be read.
Shipping is found and concrete: 1 working day dispatch, 2 to 3 working days delivery, GBP 4.95 standard and free over GBP 75. Returns is found and concrete: 60 days, refunds within 5 working days. Contact is found with an email, a phone number and hours.
Policy pages readable by crawlers: 1 of 6. Your robots.txt disallows /policies/, so /policies/shipping-policy, /policies/refund-policy and /policies/contact-information are shut to every crawler that honours it. The work is done and the door is closed.
Shipping, returns and contact linked from the homepage: 0 of 3. An agent that starts at your front page has no route to any of them even if it could read them.
An about page, a privacy policy and terms of service are all present. There is no FAQ page.
Whether They Can Reach It
Agent access scores 11 of 15. robots.txt is present, a sitemap is present, and it covers 100% of your 18 products.
AI search and shopping crawlers allowed on product pages: 6 of 8. Two are blocked: OAI-SearchBot, which is the crawler behind ChatGPT search and shopping, and PerplexityBot. This is the single most expensive line here. Everything else here is about how well an assistant understands your products; this is about whether two of them are allowed to look.
Worth separating from that: GPTBot, ClaudeBot and CCBot are also blocked, and blocking those is a different decision. Those are training crawlers, not search. Blocking them keeps your text out of model training and costs you nothing in shopping visibility. Blocking OAI-SearchBot and PerplexityBot removes you from the results.
No llms.txt. A short file at llms.txt naming your main collections and policy pages is the cheapest two points available.
Speed was not measured. The measurement did not complete, so there is no figure for it either way, and the 10 points it carries are excluded from your total rather than scored as zero.
The visibility spot check ran 8 queries on 9 September 2026 and this store appeared in 2. It appeared for "380gsm lambswool rollneck jumper british made" and for "Copperbeech knitwear review". It did not appear for "best british lambswool jumper for winter uk", "waxed cotton jacket under 300 pounds uk", "waxed cotton vs oilskin jacket for wet weather", "which jumper is warmer lambswool or merino", "harris tweed overshirt mens uk", or "clothing made in britain from british wool". This is one day and eight queries, not a ranking.
The two it won are the two where a machine had a fact to match: your own published 380gsm, and your own brand name. The six it lost are the ones a shopper uses when they do not know you yet.
The Fix List
Unblock OAI-SearchBot and PerplexityBot in robots.txt. Edit robots.txt.liquid and remove those two blocks, leaving the GPTBot, ClaudeBot and CCBot blocks in place if you want to stay out of training data. This is one line each and it is the difference between being absent from ChatGPT shopping and being present in it.
Allow the policies folder in the same file. Your shipping, returns and contact pages already say the right things with real numbers in them. Right now 1 of 6 is readable. This is finished work behind a closed door.
Put the product type in the ten titles that omit it, using the word you have already filed each one under. weekender is filed under Bags and titled Weekender. Before: Weekender. After: Weekender Bag. deck-shoe-sand is filed under Footwear, wool-throw-charcoal and camp-mug under Homeware, field-cap under Accessories. Do not invent a material or a capacity to pad the title; take the type from your own filing and the detail from the description once you have written it.
Add a specification block to the ten thin descriptions. You already know how: british-lambswool-rollneck-jumper-oat is the template. Give each product its weight, its material, its measurements and its care instructions, in a bulleted list under the existing paragraph. Start with weekender and study-shirt-ecru, which are the highest-priced of the ten.
Add the GTIN to the 9 pages that lack it. In Shopify admin the field is the barcode on each variant, and it flows into the structured data automatically once filled.
Add Product structured data to /products/camp-mug. It is the one page of 15 with none, which usually means a product created outside the normal template.
Link shipping, returns and contact from the homepage footer. All three exist. None is reachable from the front door.
Publish an llms.txt. Name your main collections, your policy pages and your about page. Two points, one file.
Add alt text to the remaining images. 74% carry it.
30-Day Plan
Week 1. Edit robots.txt.liquid: remove the OAI-SearchBot and PerplexityBot blocks and allow the policies folder. Check afterwards that a policy page loads for a crawler. Add shipping, returns and contact links to the homepage footer. Publish llms.txt.
Week 2. Fix the ten titles that do not name the product type, using facts already in each product. Add the barcode to the 9 products missing a GTIN, highest-priced first. Add Product structured data to camp-mug.
Week 3. Write the specification block for the ten thin descriptions, following the pattern your own lambswool jumper already sets: weight, material, measurements, care. Add alt text to those products' images while you are in each one.
Week 4. Re-run the queries you lost and see whether anything has changed. Add a short FAQ page answering what you get asked most, since that is the page assistants quote from when a shopper asks a question you have already answered.
1. Catalogue readability
All 18 products were read from the public catalogue. Titles, descriptions, vendor, type, images and variants were measured mechanically.
Check
Measured
Points
Titles name the product type
38.9%
1.6 / 4
Titles 20+ characters, no numbering, no marketing words
38.9%
1.6 / 4
Descriptions of 50 words or more
44.4%
1.8 / 4
Descriptions containing specifications
44.4%
1.3 / 3
Vendor (brand) filled
100.0%
2.0 / 2
Product type filled
100.0%
2.0 / 2
Product type casing consistent
yes
1 / 1
Images per product (target 3+)
4.28
1.5 / 1.5
Images with alt text
74.0%
1.1 / 1.5
Variants with a SKU
100.0%
2.0 / 2
Share of products passing each catalogue check.
2. Structured data
15 product pages were read, spaced evenly through the catalogue, and their Product structured data checked property by property.
Check
Measured
Points
Product structured data present
93.3% of 15 pages
7.5 / 8
Offer with price, currency and availability
93.3%
5.6 / 6
Brand in structured data
93.3%
1.9 / 2
SKU or MPN in structured data
93.3%
1.9 / 2
GTIN (barcode) in structured data
40.0%
1.6 / 4
Rating in structured data
46.7%
0.9 / 2
Image and description in structured data
93.3% / 93.3%
0.9 / 1
Page
Product data
Offer
Brand
SKU
GTIN
Rating
Reviews app
/products/british-lambswool-rollneck-jumper-oat
yes
complete
yes
yes
yes
yes
/products/british-lambswool-rollneck-jumper-slate
yes
complete
yes
yes
yes
yes
/products/waxed-cotton-field-jacket-olive
yes
complete
yes
yes
yes
yes
/products/waxed-cotton-field-jacket-navy
yes
complete
yes
yes
yes
no
/products/harris-tweed-overshirt-heather
yes
complete
yes
yes
yes
yes
/products/selvedge-denim-work-trouser-indigo
yes
complete
yes
yes
yes
yes
/products/oiled-leather-belt-tan
yes
complete
yes
yes
no
no
/products/the-daily-tee
yes
complete
yes
yes
no
no
/products/the-daily-tee-black
yes
complete
yes
yes
no
no
/products/weekender
yes
complete
yes
yes
no
no
/products/study-shirt-ecru
yes
complete
yes
yes
no
yes
/products/study-shirt-indigo
yes
complete
yes
yes
no
no
/products/camp-mug
no
no
no
no
no
no
/products/wool-throw-charcoal
yes
complete
yes
yes
no
no
/products/walking-scarf-moss
yes
complete
yes
yes
no
yes
3. Agent access
Check
Measured
Points
robots.txt present
yes
1 / 1
AI search and shopping crawlers allowed on product pages
6 of 8
6.0 / 8
llms.txt present
no
0 / 2
Sitemap present
yes
2 / 2
Products covered by the sitemap
100.0%
2.0 / 2
Crawler
Used for
Kind
Product pages
Named in robots.txt
OAI-SearchBot
ChatGPT search and shopping
search
blocked
yes
ChatGPT-User
ChatGPT, when a user asks it to open a page
search
allowed
no
GPTBot
OpenAI model training
training
blocked
yes
Claude-User
Claude, when a user asks it to open a page
search
allowed
no
Claude-SearchBot
Claude search
search
allowed
no
ClaudeBot
Anthropic model training
training
blocked
yes
PerplexityBot
Perplexity search
search
blocked
yes
Perplexity-User
Perplexity, when a user asks it to open a page
search
allowed
no
Googlebot
Google Search and Shopping
search
allowed
no
Google-Extended
Gemini model training
training
allowed
no
Amazonbot
Amazon and Alexa
search
allowed
no
Bytespider
ByteDance model training
training
allowed
no
CCBot
Common Crawl, used for many training sets
training
blocked
yes
Applebot-Extended
Apple Intelligence training
training
allowed
no
meta-externalagent
Meta AI training
training
allowed
no
Sitemap: found, 18 product URLs. llms.txt: not found.
4. Trust and policy
Check
Measured
Points
Shipping policy page, with concrete times or costs
found, concrete
3 / 3
Returns policy page, with a concrete window
found, concrete
3 / 3
Policy pages readable by crawlers (not disallowed in robots.txt)
1 of 6
0.3 / 2
Contact page with an email, phone or form
found, with details
3 / 3
About page
found
1 / 1
Privacy policy
found
1 / 1
Terms of service
found
1 / 1
Shipping, returns and contact linked from the homepage
0 of 3
0.0 / 1
Page
Found at
Words
Concrete
Crawlers allowed
Linked from home
Shipping policy
/policies/shipping-policy
52
yes
no
no
Returns and refunds
/policies/refund-policy
43
yes
no
no
Contact page
/policies/contact-information
79
yes
no
no
About page
/pages/about
31
yes
yes
FAQ
not found
Privacy policy
/policies/privacy-policy
95
no
yes
Terms of service
/policies/terms-of-service
90
no
yes
5. Speed
Not measured on this run.
Mobile, measured by PageSpeed Insights on the day of the audit.
6. Visibility spot check
Check
Measured
Points
Store appeared in buyer-style queries
2 of 8
2.5 / 10
Eight searches a shopper might make, run once each through web search on 2026-09-09, UK market. AI shopping assistants draw on the same index. A spot check on one day, not a share or a ranking.
The catalogue was read from the store's public product listing, all 18 products.
15 product pages were fetched and their structured data, meta tags and images read from the served HTML. Data added only by scripts after the page loads is not counted, because most agents do not run scripts either.
robots.txt was read as each crawler would read it. "Allowed" means the crawler may fetch a product page under the rules found.
Policy pages were looked for at the store's standard paths and in the homepage links.
Speed is the mobile PageSpeed Insights performance score on the day.
Every check is mechanical and repeatable. Section points: catalogue 25, structured data 25, access 15, trust 15, speed 10, visibility 10. The score is the share of points earned across the sections that were measured.
All reads were made under the name BluntFindingsBot, at no more than one page every two seconds, honouring robots.txt. 31 requests in total. Nothing was changed on the store.