Can AI assistants and their crawlers actually reach and read your pages?
example.com placeholders.
AI Visibility Audit — how ready this website is to be found, understood and recommended by AI assistants and AI shopping agents.
Grade BStrong
AI assistants can work with your site, but a few gaps still leave them guessing about parts of your business. The weakest area is Answer readiness at 55%. Start with: Remove the repeated brand essay from product templates.
The score combines six areas, each worth a fixed share. An area we could not test on this site is removed and its share is spread across the rest, so a site is never punished for something it does not have.
Each card shows the share of that area you have earned, and how many individual checks were good, needed attention, or failed. "n/a" means nothing in that area applied to your site.
Can AI assistants and their crawlers actually reach and read your pages?
Can a machine state clearly who you are, what you sell and who you sell it to?
Are your key facts written in the fixed format machines read reliably?
Is your writing shaped so an AI can lift a clean answer out of it?
Is your product information complete enough for an AI shopping agent to use?
Is the site itself clean — no template errors, duplicate pages or dead links?
Ranked by how much each one should move the score: how important the check is, how badly it scored, and how much it affects whether an AI can use your site. Work down the list from number one.
Delete the shared block from the product and collection templates and keep it on one page (About Us) only. Replace it on product pages with at most a 2-line trust strip linking to /pages/about-us. It is currently inside a product-card loop, so it also repeats several times on a single collection page — move it out of the loop. Then re-check that each product page has 300+ words of text unique to that product.
Why it matters: When the same brand essay is stamped onto every product page, a retrieval system sees near-identical documents and cannot tell which page answers a specific product question.
From the check: Product pages are not diluted by repeated boilerplate
On every product, collection and pillar page, make the first paragraph a single self-contained sentence of the form "<Product/category> is a <what it is> for <who> that <what it does>." Put it before any price widget, share bar or variant JSON so a text extractor hits it first. Move vision/mission prose to the About page.
Why it matters: Answer engines quote the first lines of a page, so an opening that defines what the page is about is far more likely to be lifted into an AI answer than a slogan.
From the check: Pages open with a direct answer, not marketing fluff
Add a specifications table to the product template with a header row and one attribute per row (capacity, power, dimensions, weight, material, certification, warranty). Use real <table>/<th>/<td> markup or a <dl> — not divs styled to look like a table, and never a screenshot of a spec sheet, which is invisible to every text-only AI crawler.
Why it matters: Machines read a spec table reliably and a paragraph of prose unreliably, so tabular specs are what let an agent match your product to a buyer requirement.
From the check: Specifications presented as tables or definition lists
The collection page (https://example.com/it-it/collections/eweighing) ships only 132 words of text in its raw HTML. Aim for at least 250 words of genuine, page-specific copy — specification detail, use cases, and what the product or category is for.
Why it matters: No major AI crawler executes JavaScript — OpenAI, Anthropic, Meta and ByteDance crawlers all fetch raw HTML only, so anything rendered client-side is completely invisible to them.
From the check: Real content is in the raw HTML (no JavaScript required)
Target 30-60 characters, lead with what you sell, close with the brand. Missing today: the product category, correct length (currently 92). Example: "Diamond & Carat — Example Group".
Why it matters: The homepage title is the single line most likely to be quoted back when an AI system explains who you are; if it does not say what you sell, the model has to invent a description.
From the check: Homepage title names the brand and the category
For resold or branded goods, enter the manufacturer EAN/UPC in the variant Barcode field and emit it as gtin13/gtin12 in the Product JSON-LD. For own-manufactured or bespoke items where no GTIN exists, leave the field empty, set identifier_exists=false in any Merchant Center feed, and make sure brand + mpn are present instead — that pairing is the accepted substitute.
Why it matters: GTIN is the strongest signal Google and other shopping surfaces use to cluster your listing with the same product from other sellers; without it your item competes as an unknown.
From the check: Products carry a barcode / GTIN
Map the data you already hold into the schema: sku from the variant record, gtin13 from the barcode field (and omit the property rather than emitting an empty string when there is no barcode), brand.name from vendor, offers.url as the canonical product URL, offers.itemCondition as https://schema.org/NewCondition, offers.priceValidUntil as a date ~30 days out, and offers.hasMerchantReturnPolicy / offers.shippingDetails from your published policies. Those last two are what a shopping agent needs to decide whether to recommend you over a competitor.
Why it matters: Shopping agents match, dedupe and compare products by identifier and by shipping/returns terms; a Product node with only a price cannot be compared against a competitor.
From the check: Product schema field completeness (identifiers, offer detail, trust signals)
Write 70-160 characters as one complete, authored sentence naming the company and what it sells. Example: "Example Group manufactures diamond, carat, cvd for professional buyers, with delivery across <markets>."
Why it matters: The meta description is a free, self-authored summary of the business that extractors read first; an auto-generated body-text dump or a fragment starting mid-sentence tells a model nothing and reads as low quality.
From the check: Meta description is an authored, complete sentence
On each product, collection and article, add 3-5 H2/H3 headings written the way a buyer would ask them ("What size vacuum pump does a 50-cow parlour need?"), and put a self-contained 40-80 word answer immediately under each one. Use real questions from sales emails and site search logs, not invented ones.
Why it matters: AI assistants match a user question to a heading and lift the block underneath it, so question-shaped H2/H3s are the single easiest structure to get quoted.
From the check: Headings phrased as real user questions
Emit BlogPosting with headline (match the H1), image, datePublished and dateModified in ISO 8601, author as a Person or Organization object with a name (not a bare string like "admin"), and publisher pointing at your Organization node. Keep dateModified honest — bulk-identical or future-dated values across every post destroy the freshness signal rather than helping it.
Why it matters: Editorial content is what assistants quote for informational questions, and author plus publication date are the signals they use to judge whether a claim is current and attributable.
From the check: Blog posts carry Article/BlogPosting schema with author and dates
There are 11 further fixes. They are all listed with their evidence in the findings below.
Sections containing a failure are open already. Good Attention Problem Not tested
Can AI assistants and their crawlers actually reach and read your pages?
Server-rendered text is thin on the collection page (132 words), which gives an AI assistant little to quote.
Why this matters: No major AI crawler executes JavaScript — OpenAI, Anthropic, Meta and ByteDance crawlers all fetch raw HTML only, so anything rendered client-side is completely invisible to them.
What we found on your site
Fix: Add substantive server-rendered copy to thin templates
The collection page (https://example.com/it-it/collections/eweighing) ships only 132 words of text in its raw HTML. Aim for at least 250 words of genuine, page-specific copy — specification detail, use cases, and what the product or category is for.
Medium impact Effort: Medium · about half a day0 of 15 sampled pages did not return 200, 15 redirected and 0 are set to noindex.
Why this matters: A redirect hop or a stray noindex on your product and category pages quietly removes them from the corpus AI assistants draw answers from.
What we found on your site
Fix: Fix non-200 and redirecting URLs
Point internal links and sitemap entries at the final URL so crawlers do not spend fetches on redirects.
Medium impact Effort: Small · under an hourUCP profile is complete at version 2026-04-08 (8 capabilities, 2 payment handlers) but its 1 endpoint(s) sit on a different host from the audited domain.
Why this matters: UCP is the discovery document Google, Shopify and their partners use to let an AI agent search a catalog and complete a purchase; without it an agent can read about you but cannot transact.
What we found on your site
Fix: Complete the UCP merchant profile
The declared endpoint https://example-group.myshopify.com/api/ucp/mcp is on a different host from example.com; make sure your agent-facing docs quote the same host as the discovery document.
Medium impact Effort: Medium · about half a dayAll 12 AI retrieval and citation crawlers are allowed to fetch the homepage, products, collections and blog.
Why this matters: The bots that build answer engines (OAI-SearchBot, ChatGPT-User, Claude-User, PerplexityBot, Bingbot, Applebot, DuckAssistBot) must be able to fetch your pages — if robots.txt blocks them you cannot be cited, no matter how good the content is.
What we found on your site
/agents.md is a genuine brand brief (4788 bytes) covering 5 of 5 brand signals and 65 real catalog terms.
Why this matters: A shopping agent reads /agents.md to decide whether to recommend you at all; default checkout boilerplate tells it how to buy but never what you sell or when you are the right answer.
What we found on your site
robots.txt parses cleanly: 8 groups, 3 sitemap declaration(s), no rule blocks the catalog.
Why this matters: robots.txt is the one discovery file every AI crawler actually reads; a truncated or over-broad file silently removes whole sections of the site from every answer engine.
What we found on your site
Sitemap is declared in robots.txt and reachable, listing 1397 URLs across 5 file(s).
Why this matters: AI crawlers waste roughly a third of their fetches on dead URLs; a declared, accurate sitemap is the cheapest way to point them straight at the pages you want quoted.
What we found on your site
/llms.txt is present (2611 bytes) and describes the business, naming 59 real catalog terms.
Why this matters: Adoption of llms.txt by AI vendors is still limited — Google ignores it and most files are never requested — so treat it as cheap insurance rather than a ranking lever, but a stub file is worse than none because it wastes the one fetch an agent makes.
What we found on your site
No training crawlers are blocked — all 10 training tokens (GPTBot, ClaudeBot, CCBot, Google-Extended…) are allowed by default.
Why this matters: Blocking training crawlers like GPTBot or CCBot costs you nothing in citations — this is reported so the decision is visible and intentional, not scored as a defect.
What we found on your site
Can a machine state clearly who you are, what you sell and who you sell it to?
Homepage title scores 2/4 on brand, category, length and uniqueness (92 chars).
Why this matters: The homepage title is the single line most likely to be quoted back when an AI system explains who you are; if it does not say what you sell, the model has to invent a description.
What we found on your site
Fix: Rewrite the homepage title
Target 30-60 characters, lead with what you sell, close with the brand. Missing today: the product category, correct length (currently 92). Example: "Diamond & Carat — Example Group".
High impact Effort: Small · under an hourMeta description scores 3/4 (203 chars).
Why this matters: The meta description is a free, self-authored summary of the business that extractors read first; an auto-generated body-text dump or a fragment starting mid-sentence tells a model nothing and reads as low quality.
What we found on your site
Fix: Rewrite the homepage meta description
Write 70-160 characters as one complete, authored sentence naming the company and what it sells. Example: "Example Group manufactures diamond, carat, cvd for professional buyers, with delivery across <markets>."
High impact Effort: Small · under an hourOrganization schema is present and complete: all 3 core fields plus 4 of 6 detail fields.
Why this matters: An Organization block is the only machine-readable statement of who you are; without it an AI system has to infer your identity from page copy and may attach your products to the wrong brand entity.
What we found on your site
The about page states the founding year and location and names 3 of the company's real product areas.
Why this matters: The about page is where a model looks to verify a company exists and is real; concrete facts — founded in, based in, what we manufacture — are what turn a brand name into a resolvable entity.
What we found on your site
All 4 brand-name sources agree on a single spelling: "Example Group".
Why this matters: Answer engines merge signals by name; if your title suffix, og:site_name and Organization.name disagree, the evidence for your brand is split across two or three entities instead of one.
What we found on your site
The site sells across 3 major product area(s) and its own homepage/agent copy names 3 of them.
Why this matters: When a site trades in several unrelated areas and its homepage names none of them, an AI system has no basis to decide which questions you are the right answer for.
What we found on your site
The homepage has exactly one H1 and it states what the company does: "Manufacturer of Lab-Grown Diamonds, Dairy Farm Automation & Jewellery…".
Why this matters: The H1 is the document's subject line for any extractor; twenty H1s or a bare "Welcome" gives an AI system no anchor for what the page — and by extension the brand — is about.
What we found on your site
5 sameAs profile links corroborate the brand entity.
Why this matters: sameAs links are how a model connects your site to your LinkedIn, YouTube, Wikidata and marketplace profiles — corroboration from independent sources is what turns a name into a recognized entity.
What we found on your site
WebSite schema is present with name, url and a SearchAction agents can use to search the catalog.
Why this matters: A WebSite node names the site as an object in its own right and, with SearchAction, tells an agent how to query your catalog directly instead of guessing URLs.
What we found on your site
Are your key facts written in the fixed format machines read reliably?
Product schema is 79% complete across 5 sampled products; 5 of 16 tracked fields are absent on every one.
Why this matters: Shopping agents match, dedupe and compare products by identifier and by shipping/returns terms; a Product node with only a price cannot be compared against a competitor.
What we found on your site
Fix: Fill the missing Product and Offer fields in the product template
Map the data you already hold into the schema: sku from the variant record, gtin13 from the barcode field (and omit the property rather than emitting an empty string when there is no barcode), brand.name from vendor, offers.url as the canonical product URL, offers.itemCondition as https://schema.org/NewCondition, offers.priceValidUntil as a date ~30 days out, and offers.hasMerchantReturnPolicy / offers.shippingDetails from your published policies. Those last two are what a shopping agent needs to decide whether to recommend you over a competitor.
High impact Effort: Medium · about half a day66.7% (2/3) of sampled blog posts carry Article/BlogPosting schema, with 100% average coverage of headline/author/dates/image/publisher.
Why this matters: Editorial content is what assistants quote for informational questions, and author plus publication date are the signals they use to judge whether a claim is current and attributable.
What we found on your site
Fix: Add BlogPosting JSON-LD to the article template
Emit BlogPosting with headline (match the H1), image, datePublished and dateModified in ISO 8601, author as a Person or Organization object with a name (not a bare string like "admin"), and publisher pointing at your Organization node. Keep dateModified honest — bulk-identical or future-dated values across every post destroy the freshness signal rather than helping it.
Medium impact Effort: Small · under an hour100.0% (3/3) of sampled category pages declare CollectionPage/ItemList; 66.7% (2/3) enumerate their products.
Why this matters: Category markup tells an assistant that a page is a list of options rather than a single item, which is what it needs to answer "what do they sell in X".
What we found on your site
Fix: Add CollectionPage + ItemList to the category template
Emit a CollectionPage node with name and description matching the visible category copy, plus an ItemList whose itemListElement is an ordered array of ListItem entries (position + url, or position + a nested Product with name and offers). Include the products on the current page only — do not fabricate the full catalog.
Medium impact Effort: Small · under an hour100.0% (15/15) of sampled pages carry at least one valid JSON-LD block (36 blocks total).
Why this matters: A JSON-LD block with a syntax error is silently discarded by every consumer, so the page ends up with no machine-readable meaning at all.
What we found on your site
100.0% (5/5) of sampled product pages have Product schema; 100.0% (5/5) have a complete price/currency/availability Offer.
Why this matters: Product + Offer markup is what makes a page eligible for Google and Bing shopping surfaces, which are the surfaces AI shopping modes read from.
What we found on your site
100.0% (8/8) of sampled product/collection pages carry BreadcrumbList markup.
Why this matters: Breadcrumbs are the only machine-readable statement of where a page sits in the catalog hierarchy, which is how an assistant works out that a product belongs to a category.
What we found on your site
0 of 5 sampled pages that show FAQ content have no FAQPage markup.
Why this matters: Question-and-answer blocks are the most directly quotable content on a site, and marking them up is the cheapest way to hand an assistant a pre-formed answer.
What we found on your site
No conflicting duplicate schema entities across 15 sampled pages.
Why this matters: When a theme and an SEO app both emit a Product block with different prices, the consumer has no way to tell which is true and will usually drop both.
What we found on your site
All 49 schema image URLs across 82 nodes are absolute and the 3 probed URLs resolved, and 10 url/@id values match their page.
Why this matters: A relative or dead image URL and a url property pointing at the wrong page are the two ways a technically valid schema block still gets thrown away by the consumer.
What we found on your site
Is your writing shaped so an AI can lift a clean answer out of it?
A typical sampled page is 82.6% duplicated boilerplate across the 5-page sample, driven by a 60-word block repeated on every page.
Why this matters: When the same brand essay is stamped onto every product page, a retrieval system sees near-identical documents and cannot tell which page answers a specific product question.
What we found on your site
Fix: Remove the repeated brand essay from product templates
Delete the shared block from the product and collection templates and keep it on one page (About Us) only. Replace it on product pages with at most a 2-line trust strip linking to /pages/about-us. It is currently inside a product-card loop, so it also repeats several times on a single collection page — move it out of the loop. Then re-check that each product page has 300+ words of text unique to that product.
High impact Effort: Small · under an hour6 of 15 sampled pages (40%) open with a sentence that directly defines the subject.
Why this matters: Answer engines quote the first lines of a page, so an opening that defines what the page is about is far more likely to be lifted into an AI answer than a slogan.
What we found on your site
Fix: Rewrite the first paragraph of key pages to answer first
On every product, collection and pillar page, make the first paragraph a single self-contained sentence of the form "<Product/category> is a <what it is> for <who> that <what it does>." Put it before any price widget, share bar or variant JSON so a text extractor hits it first. Move vision/mission prose to the About page.
High impact Effort: Medium · about half a day2 of 5 sampled product pages (40%) present specifications in an extractable table, definition list or key:value list.
Why this matters: Machines read a spec table reliably and a paragraph of prose unreliably, so tabular specs are what let an agent match your product to a buyer requirement.
What we found on your site
Fix: Put product specifications in a real <table>
Add a specifications table to the product template with a header row and one attribute per row (capacity, power, dimensions, weight, material, certification, warranty). Use real <table>/<th>/<td> markup or a <dl> — not divs styled to look like a table, and never a screenshot of a spec sheet, which is invisible to every text-only AI crawler.
High impact Effort: Medium · about half a day4 of 15 sampled pages (26.7%) have under 300 words of main text.
Why this matters: A page with a couple of lines of text gives a model nothing to ground an answer on, so it gets skipped in favour of a competitor page that explains the same product properly.
What we found on your site
Fix: Bring thin pages up to a usable depth
For each page under 300 words, add: a one-sentence definition, what it is used for, 4-8 specification rows, who it suits, and 3-4 FAQ answers. Where a page cannot justify that (near-duplicate variants, empty categories), merge it into its parent or remove it rather than leaving a stub in the index.
Medium impact Effort: Large · a few days75.7% of images (202/267) across 15 sampled pages have descriptive alt text.
Why this matters: No major AI crawler looks at your images, so alt text is the only description of a product photo a model ever sees.
What we found on your site
Fix: Write real alt text on product and content images
Set alt text on every content image to a plain description of what is shown, including the product name and the detail the photo is meant to convey ("Example 240cc milking claw, side view showing the milk outlet"). Leave alt="" only on purely decorative images, and never paste the filename. Fix the header logo repeating the same alt on every page.
Medium impact Effort: Medium · about half a day6 of 15 sampled pages (40%) carry at least one question-shaped H2/H3; 32 found in total.
Why this matters: AI assistants match a user question to a heading and lift the block underneath it, so question-shaped H2/H3s are the single easiest structure to get quoted.
What we found on your site
Fix: Add question-shaped subheadings to commercial and blog pages
On each product, collection and article, add 3-5 H2/H3 headings written the way a buyer would ask them ("What size vacuum pump does a 50-cow parlour need?"), and put a self-contained 40-80 word answer immediately under each one. Use real questions from sales emails and site search logs, not invented ones.
High impact Effort: Medium · about half a dayMedian main-text length on commercial pages is 1294 words across a sample of 8.
Why this matters: Depth is what makes a page the best available source for a buying question; shallow catalogue pages get summarized away rather than cited.
What we found on your site
5 of 8 sampled commercial pages (62.5%) contain a visible FAQ or Q&A block.
Why this matters: A Q&A block on a buying page gives an AI shopping assistant the pre-purchase answers (fit, sizing, delivery, compatibility) it needs before it will recommend you.
What we found on your site
3 of 3 sampled articles (100%) expose a machine-readable date; newest is 3 days old.
Why this matters: Assistants prefer sources they can date, and an undated or stale blog reads as abandoned when a model is choosing between two similar pages.
What we found on your site
Is your product information complete enough for an AI shopping agent to use?
11.1% (104/937) of sampled products have under 200 characters of description, and 9.4% (88/937) have none at all.
Why this matters: An assistant can only recommend what it can describe; a product with an empty or one-line description gives it nothing to say and no reason to prefer you.
What we found on your site
Fix: Write real descriptions for the thin and empty products
Start with the highest-traffic products. Each description needs a one-sentence definition of what the item is, who it is for, the two or three specifications a buyer compares on, and one differentiator. Put the specification data in a real HTML table rather than an image — tabular data in a table is directly extractable, the same data in a JPEG is invisible.
High impact Effort: Large · a few days5.5% (52/937) of sampled products have a zero or invalid price (49 of them still purchasable); currency is declared by 2 source(s), none of them the product feed.
Why this matters: A zero-priced item that is still marked purchasable makes an agent offer your product for free, and a feed with no currency is read as dollars by default.
What we found on your site
Fix: Fix zero-priced purchasable items and make the currency explicit
Set a real price on the 49 product(s) that are priced at 0 and still marked available, or set them to "quote only" / unavailable so no agent offers them for free. For currency, make sure every Product JSON-LD Offer carries priceCurrency as an ISO-4217 code and that it matches the store currency in /meta.json — the raw product feed carries no currency at all, so the markup is the only place an agent can read it reliably.
High impact Effort: Medium · about half a day0.0% (0/5) of sampled products have a barcode/GTIN.
Why this matters: GTIN is the strongest signal Google and other shopping surfaces use to cluster your listing with the same product from other sellers; without it your item competes as an unknown.
What we found on your site
Fix: Populate barcodes for products that have one, and declare the ones that do not
For resold or branded goods, enter the manufacturer EAN/UPC in the variant Barcode field and emit it as gtin13/gtin12 in the Product JSON-LD. For own-manufactured or bespoke items where no GTIN exists, leave the field empty, set identifier_exists=false in any Merchant Center feed, and make sure brand + mpn are present instead — that pairing is the accepted substitute.
Medium impact Effort: Medium · about half a day10.5% (98/937) of sampled products have no image and only 16.8% (157/937) have two or more; alt text present on 60.0% (6/10) of sampled images.
Why this matters: A product with no image is skipped by visual shopping surfaces entirely, and alt text is the only description of an image a non-vision agent can read.
What we found on your site
Fix: Give every product at least two images with descriptive alt text
Upload imagery for the 98 product(s) that have none — they cannot appear in any visual shopping result. Add a second angle or in-use shot to the rest. Write alt text that describes the product and its use ("Example 240 cc milking claw for automated milking machines"), not the filename; alt is the only image description a text-only agent can read.
Medium impact Effort: Large · a few daysPublic product feed returned 937 products (100.0% of the 937 the store says it publishes).
Why this matters: A machine-readable product feed is how a shopping agent enumerates what you sell without scraping HTML, and it is the only source that carries structured price, stock and variant data.
What we found on your site
100.0% (937/937) of sampled products have a SKU on their first variant.
Why this matters: A SKU is the key an agent uses to dedupe your product against the same item elsewhere and to hold a stable reference between search, cart and order.
What we found on your site
91.9% (861/937) of sampled products have a product_type; 24.5% (230/937) carry any tag.
Why this matters: Category is how an agent narrows a request like "milking machines under X" to candidates; untyped products fall out of every filtered query.
What we found on your site
100.0% (937/937) of sampled products name a vendor.
Why this matters: Brand is a primary facet in agent product indexes, and two spellings of the same brand split your catalog into two smaller, weaker brands.
What we found on your site
0.0% (0/71) of multi-variant products expose placeholder option names or values instead of a real choice.
Why this matters: Option names and values are how an agent answers "do you have it in 40 mm" — placeholder options like "Default Title" carry no size, colour or capacity signal at all.
What we found on your site
Is the site itself clean — no template errors, duplicate pages or dead links?
9 hreflang entries across 8 distinct locales and 3 languages; 0 malformed and 2 implausible pair(s) found (sample: 15 pages).
Why this matters: Implausible or duplicated locale pairs make a model see several near-identical documents for the same product and weaken every one of them.
What we found on your site
Fix: Prune the hreflang set to markets you actually serve
Keep one entry per language-market you genuinely localise (different currency, different copy, or different catalogue) plus exactly one x-default. Remove pairs where the language is not spoken in the target region — currently es-IT (es targeted at IT), it-US (it targeted at US). Every entry must be a valid BCP-47 tag, every page must include a self-referencing entry, and every listed URL must return 200 with the matching hreflang set pointing back.
Medium impact Effort: Medium · about half a dayMedian text-to-HTML ratio is 6% across 15 sampled pages (median document 367 KB).
Why this matters: When a document is mostly markup and inline scripts, the extraction step that feeds an AI answer has to guess what the page is about, and it often guesses wrong.
What we found on your site
Fix: Reduce markup and inline script around the content
Move inline scripts and JSON blobs into external files (keep JSON-LD, which is small and useful), remove duplicated markup rendered by the theme, and stop injecting full product data into every card on listing pages. Aim for at least 10% of the document being readable text so an extractor can find the content without heuristics.
Low impact Effort: Medium · about half a day6 of 6 probed URLs do not resolve directly (6 single-hop redirect, 0 with a chain of 2 or more).
Why this matters: AI crawlers waste a large share of their budget on redirects, and each extra hop is another chance for the fetch to be abandoned before your content is read.
What we found on your site
Fix: Collapse redirect chains to a single hop
Point every internal link, sitemap entry and canonical at the final destination URL so crawlers land in one request. Where a redirect must exist, make it a single 301 straight to the target — never http -> https -> www -> locale. Re-check that sitemap URLs return 200 directly.
Low impact Effort: Small · under an hourNo noindex directives found across 15 sampled pages.
Why this matters: A noindex directive removes the page from the search indexes that AI assistants retrieve from, so the content cannot be cited no matter how good it is.
What we found on your site
No unambiguous template errors found across 15 sampled pages.
Why this matters: An error string sitting in the page text is ingested verbatim by AI crawlers even when CSS hides it from shoppers, and it reads as a broken, untrustworthy source.
What we found on your site
0 of 20 sampled internal links returned a 4xx/5xx status.
Why this matters: Assistants abandon a source that leads them to dead pages, and dead links burn the limited crawl budget AI bots spend on your site.
What we found on your site
15 of 15 sampled pages (100%) carry a single absolute, self-referential canonical tag.
Why this matters: A missing or conflicting canonical splits a page across several URLs, so any authority it earns is divided instead of pointing at one citable address.
What we found on your site
Site is served over HTTPS; 0 insecure http:// sub-resource reference(s) found across 15 sampled pages and the http->https redirect works.
Why this matters: Insecure resources and a broken http-to-https redirect make crawlers see two versions of the site and browsers flag it, which undermines the trust signals models lean on.
What we found on your site
Median TTFB 190 ms and median HTML weight 361 KB across 5 live fetches.
Why this matters: AI crawlers fetch with short timeouts and no JavaScript, so a slow first byte or a multi-megabyte document means your page is simply not read.
What we found on your site
Everything above is derived from these numbers. Nothing on this page is an opinion — each figure was read directly from your website on the date shown.
robots.txt returned HTTP 200 and lists 1 sitemap(s).
| Crawler | What it does | Access |
|---|---|---|
| Answer and citation crawlers — blocking one of these costs you mentions | ||
| Applebot | Feeds Siri and Apple Intelligence | Allowed |
| Bingbot | Feeds Bing and Microsoft Copilot | Allowed |
| ChatGPT-User | Fetches a page when a ChatGPT user asks about it | Allowed |
| Claude-SearchBot | Builds the index Claude search quotes from | Allowed |
| Claude-User | Fetches a page when a Claude user asks about it | Allowed |
| DuckAssistBot | Feeds DuckDuckGo AI answers | Allowed |
| Googlebot | Feeds Google Search, AI Overviews and AI Mode | Allowed |
| MistralAI-User | Fetches a page for a live Le Chat answer | Allowed |
| OAI-SearchBot | Builds the index ChatGPT search quotes from | Allowed |
| Perplexity-User | Fetches a page for a live Perplexity answer | Allowed |
| PerplexityBot | Indexes pages Perplexity links to | Allowed |
| YouBot | Feeds You.com answers | Allowed |
| Training crawlers — blocking these is a normal business choice | ||
| Amazonbot | Feeds Amazon products and may train Amazon models | Allowed |
| anthropic-ai | Older Anthropic training token | Allowed |
| Applebot-Extended | Training opt-out only — never crawls by itself | Allowed |
| Bytespider | ByteDance training crawler | Allowed |
| CCBot | Common Crawl, a public dataset many models train on | Allowed |
| ClaudeBot | Collects text to train Anthropic models | Allowed |
| cohere-ai | Cohere training token | Allowed |
| Google-Extended | Training opt-out only — does not affect Google Search | Allowed |
| GPTBot | Collects text to train OpenAI models | Allowed |
| meta-externalagent | Collects text to train Meta models | Allowed |
"Not mentioned" means robots.txt says nothing about that crawler, so it is allowed by default. That is normal and not a fault. Three fetchers (ChatGPT-User, Perplexity-User and Meta-ExternalFetcher) state in their own documentation that they may ignore robots.txt, because a person asked for that page directly.
| File | Status | Detail | What it is for |
|---|---|---|---|
| /robots.txt | Present | HTTP 200 | Tells automated visitors which pages they may read. |
| /llms.txt | Present | 2.5 KB | A short brief for AI assistants. Cheap to add, but very few AI services read it today. |
| /agents.md | Present | 4.7 KB | Operating instructions for AI shopping agents. Shopify stores get one automatically. |
| /.well-known/ucp | Present | valid JSON | Lets an AI agent search your catalog and complete a purchase. |
Total addresses found: 1397.
| Type of page | Addresses |
|---|---|
| products | 500 |
| blogs | 266 |
| collections | 107 |
| pages | 85 |
| other | 1 |
| Fact type | Blocks |
|---|---|
| ListItem | 36 |
| ImageObject | 31 |
| Question | 30 |
| Answer | 30 |
| Product | 16 |
| Offer | 16 |
| Brand | 16 |
| Organization | 15 |
| PostalAddress | 15 |
| ContactPoint | 15 |
| WebSite | 15 |
| SearchAction | 15 |
| EntryPoint | 15 |
| BreadcrumbList | 14 |
| FAQPage | 5 |
| CollectionPage | 3 |
| ItemList | 3 |
| BlogPosting | 2 |
| WebPage | 2 |
| Person | 2 |
| AggregateRating | 1 |
| Page type | Pages |
|---|---|
| Product pages | 5 |
| Category pages | 3 |
| Blog posts | 3 |
| Other pages | 3 |
| Total pages fetched | 15 |
Samples are spread evenly across the sitemap rather than taken from the top, so they represent the whole site. Any percentage in this report that comes from a sample is a rate measured on that number of pages, not a complete count.