{"slug":"vuoriclothing-cpsbfc","companyName":"Vuori","domain":"vuoriclothing.com","url":"https://vuoriclothing.com","headline":"A Shopify storefront that welcomes AI crawlers but blocks browser automation, leaving agents unable to walk the shopping path.","compositeScore":57,"humanScore":0,"agentScore":57,"doorGap":0,"humanMeasured":0,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":true,"depth":"free","siteClass":"ecommerce","scannerVersion":12,"scannedAt":"2026-09-08T11:43:17.060Z","unlocked":false,"mission":{"steps":[{"url":"https://vuoriclothing.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://vuoriclothing.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://vuoriclothing.com","outcome":"ok","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://vuoriclothing.com/llms.txt","outcome":"ok","purpose":"read the site's own guide for language models"},{"url":"https://vuoriclothing.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://vuoriclothing.com/.well-known/security.txt","outcome":"ok","purpose":"find a contact route for machines"},{"url":"https://vuoriclothing.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://vuoriclothing.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://vuoriclothing.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://vuoriclothing.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://vuoriclothing.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://vuoriclothing.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://vuoriclothing.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://vuoriclothing.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://vuoriclothing.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://vuoriclothing.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://vuoriclothing.com","outcome":"missing","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 11 of 17 requests, but could not find a published agent interface. It came up empty on 5 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":76,"summary":"No AI crawler is blocked by robots.txt rules, llms.txt is published, and the sitemap lists 1119 URLs. The homepage carries 7 schema.org types and 21 prices in raw HTML.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API documentation is linked from the homepage or published at standard paths. The Shopify platform supports agent checkout protocols, but no MCP manifest or agent checkout manifest is published.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":90,"summary":"Prices appear in the raw HTML of all 3 product pages checked, with 84 prices across variants. The homepage itself carries 21 prices. Product structured data publishes price in USD and currency code, so an agent can parse cost without.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":21,"summary":"No MCP manifest, Shopify supports the agent checkout protocols, but none is published yet, product markup carries everything a merchant feed needs.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":85,"summary":"Security.txt is published with a contact route for machines. The returns policy reads as text at /returns and is 2049 characters long. The homepage and product pages answer automated HTTP requests without blocking.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":58,"summary":"Product markup carries price and currency, products carry an identifier, a Shopify store; Catalog syndication needs a GTIN and a brand on each product, an aggregate rating is in the product markup.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":null,"summary":"Could not verify: this scan did not reach the pages that would show it.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"Reviews load from Yotpo by script, so a client that reads raw HTML sees the products without a single review.","dimensionKey":"pricing_legibility","evidence":{"locked":true,"count":1},"fix":null},{"rank":2,"title":"The /products.json endpoint is closed, blocking agents from reading the product catalog as structured data.","dimensionKey":"commercial_rails","evidence":{"locked":true,"count":3},"fix":null},{"rank":3,"title":"No MCP manifest is published, so agents cannot discover the store's checkout capabilities or complete a purchase programmatically.","dimensionKey":"agent_aware_instrumentation","evidence":{"locked":true,"count":3},"fix":null}],"fixArtifacts":{"locked":true,"count":10,"summaries":[{"id":"bot_wall_guidance:notes","kind":"bot_wall_guidance","title":"Let verified assistants through","path":"notes","effort":{"minutes":60,"role":"developer"},"outcome":{"dimension":"machine_discoverability","external":["Assistant shopping and search crawlers reach the product, pricing and policy pages a buyer asks about."]}},{"id":"product_jsonld:products-womens-vuori-alltheform-legging-bloom","kind":"product_jsonld","title":"Product markup skeleton","path":"/products/womens-vuori-alltheform-legging-bloom","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"product_jsonld_liquid:snippets-seconddoor-product-jsonld-liquid","kind":"product_jsonld_liquid","title":"Product markup snippet for every product page","path":"snippets/seconddoor-product-jsonld.liquid","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Every Shopify product page carries complete Product markup, not only the sampled ones."]}},{"id":"review_schema_vendor:notes","kind":"review_schema_vendor","title":"Put Yotpo reviews in the page","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Review text and ratings reach crawlers that do not run the review widget's script."]}},{"id":"robots_search_bots:robots-txt","kind":"robots_search_bots","title":"robots.txt rules for AI crawlers","path":"/robots.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["The assistants' search crawlers read and cite the site to buyers; training stays the owner's decision."]}},{"id":"merchant_policy_jsonld:product-page","kind":"merchant_policy_jsonld","title":"Return policy and shipping structured data","path":"product page","effort":{"minutes":30,"role":"developer"},"outcome":{"dimension":"machine_fetchable_trust","external":["Assistants read the return window and shipping terms from structured data."]}},{"id":"policy_pages_text:notes","kind":"policy_pages_text","title":"Link the policy pages from the product page","path":"notes","effort":{"minutes":30,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Returns and shipping pages read as text and are linked from every product page."]}},{"id":"policy_pages_text:policies-shipping-policy","kind":"policy_pages_text","title":"Shipping and delivery page","path":"/policies/shipping-policy","effort":{"minutes":30,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Returns and shipping pages read as text and are linked from every product page."]}},{"id":"agent_checkout_note:notes","kind":"agent_checkout_note","title":"Agent checkout: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The checkout rail question is settled with the platform and processor before any manifest is published."]}},{"id":"interfaces_note:notes","kind":"interfaces_note","title":"Machine interfaces: where you stand","path":"notes","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"agent_aware_instrumentation","external":["The developer surface is built in an order where every published pointer answers."]}}]},"feedback":{"endpoint":"/api/feedback","mcpTool":"rate_fix","targets":[{"type":"report","key":"report"},{"type":"dimension","dimensionKey":"machine_discoverability","key":"dimension:machine_discoverability"},{"type":"dimension","dimensionKey":"programmatic_onboarding","key":"dimension:programmatic_onboarding"},{"type":"dimension","dimensionKey":"pricing_legibility","key":"dimension:pricing_legibility"},{"type":"dimension","dimensionKey":"agent_aware_instrumentation","key":"dimension:agent_aware_instrumentation"},{"type":"dimension","dimensionKey":"machine_fetchable_trust","key":"dimension:machine_fetchable_trust"},{"type":"dimension","dimensionKey":"commercial_rails","key":"dimension:commercial_rails"},{"type":"dimension","dimensionKey":"steps_to_first_value","key":"dimension:steps_to_first_value"},{"type":"dimension","dimensionKey":"required_fields","key":"dimension:required_fields"},{"type":"dimension","dimensionKey":"verification_walls","key":"dimension:verification_walls"},{"type":"dimension","dimensionKey":"error_recovery","key":"dimension:error_recovery"},{"type":"issue","dimensionKey":"pricing_legibility","checkId":"product_pages","key":"issue:pricing_legibility:product_pages"},{"type":"issue","dimensionKey":"commercial_rails","checkId":null,"key":"issue:commercial_rails:-"},{"type":"issue","dimensionKey":"agent_aware_instrumentation","checkId":null,"key":"issue:agent_aware_instrumentation:-"}]}}