{"slug":"article-4gvfvx","companyName":"Article","domain":"article.com","url":"https://article.com","headline":"A network edge blocks the AI crawlers that robots.txt welcomes, and reviews load only through JavaScript, cutting off agent shopping.","compositeScore":69,"humanScore":81,"agentScore":56,"doorGap":25,"humanMeasured":4,"agentMeasured":6,"percentile":null,"humanPercentile":null,"agentPercentile":null,"isPartial":false,"depth":"free","siteClass":"ecommerce","scannerVersion":12,"scannedAt":"2026-09-08T14:31:12.696Z","unlocked":false,"mission":{"steps":[{"url":"https://www.article.com","outcome":"ok","purpose":"reach the site at all"},{"url":"https://www.article.com/robots.txt","outcome":"ok","purpose":"find out whether machines are welcome"},{"url":"https://www.article.com","outcome":"missing","purpose":"ask whether the door opens for requests carrying the AI crawlers' names"},{"url":"https://www.article.com/llms.txt","outcome":"missing","purpose":"read the site's own guide for language models"},{"url":"https://www.article.com/sitemap.xml","outcome":"ok","purpose":"find out what pages exist"},{"url":"https://www.article.com/.well-known/security.txt","outcome":"missing","purpose":"find a contact route for machines"},{"url":"https://www.article.com","outcome":"missing","purpose":"find a published agent interface"},{"url":"https://www.article.com/.well-known/ai-plugin.json","outcome":"missing","purpose":"find an agent plugin manifest"},{"url":"https://www.article.com","outcome":"missing","purpose":"find out whether verified agents are recognised"},{"url":"https://www.article.com","outcome":"ok","purpose":"read the homepage as data rather than as a page"},{"url":"https://www.article.com","outcome":"missing","purpose":"find a machine readable API spec"},{"url":"https://www.article.com","outcome":"missing","purpose":"read the developer documentation"},{"url":"https://www.article.com","outcome":"ok","purpose":"read the prices without running JavaScript"},{"url":"https://www.article.com","outcome":"ok","purpose":"read the product catalogue as data"},{"url":"https://www.article.com","outcome":"ok","purpose":"read a product page as data"},{"url":"https://www.article.com","outcome":"ok","purpose":"read the returns and shipping terms"},{"url":"https://www.article.com","outcome":"ok","purpose":"walk the way a visitor would, to a signup form or a product"}],"verdict":"The agent got through 9 of 17 requests, but could not ask whether the door opens for requests carrying the AI crawlers' names. It came up empty on 7 other checks too."},"observations":null,"dimensions":[{"key":"machine_discoverability","audience":"agent","score":100,"summary":"No AI crawler is blocked by robots.txt, a real browser is served the page normally, and the sitemap lists 1148 product URLs. The network edge refuses gptbot despite robots.txt welcoming it, but the published policy itself permits crawling.","evidence":{"locked":true,"count":4}},{"key":"programmatic_onboarding","audience":"agent","score":10,"summary":"No API surface, OpenAPI spec, MCP manifest, or developer documentation is published. The site offers no programmatic route to product data or checkout. An agent must walk the sitemap and parse HTML.","evidence":{"locked":true,"count":3}},{"key":"pricing_legibility","audience":"agent","score":88,"summary":"Prices appear in raw HTML on all 3 product pages checked, and Product structured data publishes price and currency without requiring JavaScript. The visible price ($799) matches the structured price. Availability is also published.","evidence":{"locked":true,"count":2}},{"key":"agent_aware_instrumentation","audience":"agent","score":16,"summary":"No MCP manifest exists at any of the 3 standard paths checked. Product markup carries brand, identifier, price, currency and availability, but no aggregate rating or review text reaches a non-JavaScript client.","evidence":{"locked":true,"count":4}},{"key":"machine_fetchable_trust","audience":"agent","score":65,"summary":"No security.txt is published. The returns policy reads as text with a 30-day window and is linked from product pages. The shipping policy reads as text and is linked from product pages. The homepage answers automated requests.","evidence":{"locked":true,"count":3}},{"key":"commercial_rails","audience":"agent","score":59,"summary":"Product markup carries price, currency and an identifier. The sitemap lists products. Returns and shipping terms read as text on dedicated pages. No checkout manifest is published, so an agent has no declared route to purchase.","evidence":{"locked":true,"count":4}},{"key":"steps_to_first_value","audience":"human","score":95,"summary":"A product with its price ($799) and an add-to-cart control is reached in 2 steps from the homepage. The price is visible without JavaScript. A shopper can see what they want to buy and its cost immediately.","evidence":{"locked":true,"count":1}},{"key":"required_fields","audience":"human","score":80,"summary":"The product page does not require an account before adding to cart. No sign-in wall blocks the add-to-cart control. PayPal is offered as an express wallet, allowing checkout without a form.","evidence":{"locked":true,"count":1}},{"key":"verification_walls","audience":"human","score":75,"summary":"No sign-in requirement appears on the product page before purchase. The add-to-cart control is accessible without authentication. A guest can proceed to checkout.","evidence":{"locked":true,"count":1}},{"key":"error_recovery","audience":"human","score":75,"summary":"The product page offers 3 size or colour choosers, letting a shopper correct their selection before adding to cart. Validation includes 2 live regions to signal errors.","evidence":{"locked":true,"count":1}}],"issues":[{"rank":1,"title":"The network edge refuses 1 declared AI crawler that robots.txt welcomes, so the published policy and the actual behaviour disagree.","dimensionKey":"machine_discoverability","evidence":{"locked":true,"count":2},"fix":null},{"rank":2,"title":"Reviews load from Bazaarvoice by script, so a client that reads raw HTML sees the products without a single review.","dimensionKey":"commercial_rails","evidence":{"locked":true,"count":1},"fix":null},{"rank":3,"title":"No developer documentation is linked from the homepage, in raw HTML or the rendered page, so integration starts with a search engine.","dimensionKey":"programmatic_onboarding","evidence":{"locked":true,"count":1},"fix":null}],"fixArtifacts":{"locked":true,"count":9,"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:product-26945-hanson-79-sofa-thistle-green","kind":"product_jsonld","title":"Product markup skeleton","path":"/product/26945/hanson-79-sofa-thistle-green","effort":{"minutes":120,"role":"developer"},"outcome":{"dimension":"pricing_legibility","external":["Assistants read price, availability and identifiers from every sampled product page."]}},{"id":"review_schema_vendor:notes","kind":"review_schema_vendor","title":"Put Bazaarvoice 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":"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":"security_txt:well-known-security-txt","kind":"security_txt","title":"security.txt","path":"/.well-known/security.txt","effort":{"minutes":10,"role":"owner"},"outcome":{"dimension":"machine_fetchable_trust","external":["Researchers and automated scanners find a disclosure address instead of guessing one."]}},{"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."]}},{"id":"llms_txt:llms-txt","kind":"llms_txt","title":"llms.txt","path":"/llms.txt","effort":{"minutes":15,"role":"owner"},"outcome":{"dimension":"machine_discoverability","external":["Assistants that read llms.txt get a curated map of the site instead of guessing from the homepage."]}}]},"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":"machine_discoverability","checkId":"agent_ua_access","key":"issue:machine_discoverability:agent_ua_access"},{"type":"issue","dimensionKey":"commercial_rails","checkId":"product_pages","key":"issue:commercial_rails:product_pages"},{"type":"issue","dimensionKey":"programmatic_onboarding","checkId":"api_surface","key":"issue:programmatic_onboarding:api_surface"}]}}