{"scan_id": 9, "url": "https://www.vitakruid.nl", "vertical": "supplements", "scanned_at": "2026-07-06T20:41:31.024809+00:00", "score": 72, "grade": "B", "report_url": "https://www.agentready.market/r/9", "result": {"url": "https://www.vitakruid.nl", "meta": {"notes": [], "phase": "0 (pillars 1-2-3)", "origin": "https://www.vitakruid.nl", "investment": {"ads": ["Meta/Facebook Ads"], "apps": [], "score": 2, "platform": "unknown", "qualified": true}, "home_status": 200, "product_url": "https://www.vitakruid.nl/products/multi-dag-nacht-hd", "shopify_feed": false, "robots_present": true}, "error": "", "grade": "B", "score": 72, "capped": false, "pillars": [{"id": "access", "pct": 90, "icon": "\ud83d\udd13", "name": "Access & crawlability", "checks": [{"id": "access.ai_crawlers", "fix": "", "gap": 0.0, "label": "robots.txt allows agent crawlers", "detail": "robots.txt allows GPTBot, ClaudeBot, PerplexityBot and Google-Extended.", "earned": 16.0, "effort": "easy", "pillar": "access", "status": "pass", "weight": 16.0}, {"id": "access.cloaking", "fix": "", "gap": 0.0, "label": "No blocking / cloaking of AI bots", "detail": "AI bots get the same access and content as a normal visitor.", "earned": 8.0, "effort": "medium", "pillar": "access", "status": "pass", "weight": 8.0}, {"id": "access.latency", "fix": "", "gap": 0.0, "label": "Fast enough response for agents", "detail": "Fast response (1382 ms on the homepage) \u2014 agents won't time out.", "earned": 4.0, "effort": "medium", "pillar": "access", "status": "pass", "weight": 4.0}, {"id": "access.llms_txt", "fix": "Publish an /llms.txt listing your categories, product pages and key policies.", "gap": 4.0, "label": "llms.txt present", "detail": "No /llms.txt.", "earned": 0.0, "effort": "easy", "pillar": "access", "status": "fail", "weight": 4.0}, {"id": "access.sitemap", "fix": "", "gap": 0.0, "label": "Sitemap available", "detail": "Sitemap found via robots.txt.", "earned": 4.0, "effort": "easy", "pillar": "access", "status": "pass", "weight": 4.0}, {"id": "access.no_js", "fix": "", "gap": 0.0, "label": "Content accessible without JS rendering", "detail": "Content present in raw HTML (41502 visible characters).", "earned": 4.0, "effort": "hard", "pillar": "access", "status": "pass", "weight": 4.0}], "earned": 36.0, "weight": 40.0}, {"id": "structured_data", "pct": 77, "icon": "\ud83c\udff7\ufe0f", "name": "Structured data", "checks": [{"id": "sd.product", "fix": "", "gap": 0.0, "label": "Product JSON-LD present", "detail": "Schema.org Product found in JSON-LD (product page).", "earned": 12.0, "effort": "medium", "pillar": "structured_data", "status": "pass", "weight": 12.0}, {"id": "sd.price", "fix": "Set offers.price and offers.priceCurrency in JSON-LD.", "gap": 8.0, "label": "Structured price + currency", "detail": "No price exposed inside offers.", "earned": 0.0, "effort": "easy", "pillar": "structured_data", "status": "fail", "weight": 8.0}, {"id": "sd.availability", "fix": "", "gap": 0.0, "label": "Structured availability", "detail": "availability=https://schema.org/InStock.", "earned": 5.0, "effort": "easy", "pillar": "structured_data", "status": "pass", "weight": 5.0}, {"id": "sd.brand", "fix": "", "gap": 0.0, "label": "Structured brand", "detail": "brand=Vitakruid.", "earned": 3.0, "effort": "easy", "pillar": "structured_data", "status": "pass", "weight": 3.0}, {"id": "sd.identifier", "fix": "", "gap": 0.0, "label": "Product identifier (SKU / GTIN)", "detail": "SKU/GTIN/MPN present \u2014 reliable product resolution.", "earned": 4.0, "effort": "medium", "pillar": "structured_data", "status": "pass", "weight": 4.0}, {"id": "sd.rating", "fix": "", "gap": 0.0, "label": "Aggregated reviews (aggregateRating)", "detail": "aggregateRating=4.4379562043796.", "earned": 3.0, "effort": "medium", "pillar": "structured_data", "status": "pass", "weight": 3.0}], "earned": 27.0, "weight": 35.0}, {"id": "catalog", "pct": 37, "icon": "\ud83d\udce6", "name": "Catalog & attributes", "checks": [{"id": "cat.variants", "fix": "Declare each variant as a distinct Offer or via hasVariant.", "gap": 5.0, "label": "Structured variants", "detail": "Structured product but variants not exposed (size/color not found as fields).", "earned": 5.0, "effort": "medium", "pillar": "catalog", "status": "partial", "weight": 10.0}, {"id": "cat.attributes", "fix": "Expose attributes (color, size, material, category) as structured JSON-LD fields (additionalProperty) or via the feed.", "gap": 8.0, "label": "Attributes as fields (not prose)", "detail": "No structured filterable attribute \u2014 the agent can't filter.", "earned": 0.0, "effort": "medium", "pillar": "catalog", "status": "fail", "weight": 8.0}, {"id": "cat.feed", "fix": "", "gap": 2.8, "label": "Product feed / catalog signals", "detail": "Feed signals: OpenGraph product.", "earned": 4.2, "effort": "medium", "pillar": "catalog", "status": "partial", "weight": 7.0}], "earned": 9.2, "weight": 25.0}], "roadmap": {"gain": 25, "steps": [{"n": 1, "how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "No price exposed inside offers.", "title": "Structured price + currency", "effort": "easy", "impact": 8.0, "pillar": "Structured data", "cumulative": 80}, {"n": 2, "how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "No structured filterable attribute \u2014 the agent can't filter.", "title": "Attributes as fields (not prose)", "effort": "medium", "impact": 8.0, "pillar": "Catalog & attributes", "cumulative": 88}, {"n": 3, "how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "No /llms.txt.", "title": "llms.txt present", "effort": "easy", "impact": 4.0, "pillar": "Access & crawlability", "cumulative": 92}, {"n": 4, "how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "Structured product but variants not exposed (size/color not found as fields).", "title": "Structured variants", "effort": "medium", "impact": 5.0, "pillar": "Catalog & attributes", "cumulative": 97}], "capped": false, "current": 72, "grade_up": true, "projected": 97, "cap_reason": "", "target_grade": "A", "current_grade": "B"}, "headline": "Solid base. A few fixes and you pull ahead of the median.", "artifacts": {"jsonld": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"Product\",\n  \"name\": \"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\",\n  \"brand\": \"\u2022\u2022\u2022\u2022\u2022\u2022\",\n  \"offers\": { \"price\": \"\u2022\u2022\u2022\u2022\", \"availability\": \"\u2022\u2022\u2022\u2022\u2022\u2022\" }\n}\n</script>", "llms_txt": "#  Vitakruid\n\n> Doe de vitaminetest, bestel direct online of vraag gratis deskundig advies aan. Meest aanbevolen merk onder therapeuten.\n\n## Policies\n- Shipping: <add your delivery times and zones>\n- Returns: <add your return policy>\n\n## Sitemap\n- https://www.vitakruid.nl/sitemap.xml", "available": true, "attribute_map": [{"source": "\u2022\u2022\u2022\u2022", "schema_field": "\u2022\u2022\u2022\u2022", "example": "\u2022\u2022\u2022\u2022"}]}, "benchmark": {"delta": 27, "median": 45, "verdict": "Above the supplements median (+27).", "vertical": "supplements", "percentile": null, "provisional": true, "sample_size": null, "vertical_label": "supplements"}, "final_url": "https://www.vitakruid.nl", "protocols": [{"id": "proto.ucp_mcp", "label": "Shopify/UCP agent endpoint (/api/ucp/mcp)", "detail": "No UCP MCP endpoint detected (HTTP 404) \u2014 agents on the UCP rail (Shopify catalog/checkout) can't transact here.", "points": 4, "status": "fail"}, {"id": "proto.a2a_card", "label": "A2A Agent Card (/.well-known/agent-card.json)", "detail": "No A2A Agent Card \u2014 your store publishes no machine-readable agent for buyer-agents to discover and call. (So do ~all stores today: this is the frontier, not the baseline.)", "points": 3, "status": "fail"}, {"id": "proto.ard_catalog", "label": "ARD AI Catalog (/.well-known/ai-catalog.json)", "detail": "No AI Catalog \u2014 under the new Google/Microsoft ARD spec (June 2026), agents look here first to learn what a site offers. Adoption is ~0% today, so publishing one puts you ahead of nearly the entire web (including the spec authors).", "points": 3, "status": "fail"}, {"id": "act.checkout", "label": "Add-to-cart action detectable", "detail": "The product page exposes a machine-visible add-to-cart action in its raw HTML \u2014 an agent can locate where the purchase starts.", "points": 0, "status": "pass"}, {"id": "access.agent_class", "label": "Shopping-agent access (Agent class)", "detail": "On-demand shopping agents (ChatGPT-User, Claude-User, Perplexity-User) load the site like a normal visitor. The site is behind Cloudflare \u2014 check the AI-crawler settings there.", "points": 0, "status": "pass"}, {"id": "proto.x402", "label": "x402 / HTTP-402 payments", "detail": "No standard discovery path exists yet for x402 \u2014 we track the spec and will probe it the moment a convention settles.", "points": 0, "status": "na"}, {"id": "access.citation_rail", "label": "Citation-rail access (Bingbot, OAI-SearchBot, Google-Extended)", "detail": "Bingbot and OAI-SearchBot get in, and Google-Extended is allowed \u2014 the indexes feeding ChatGPT, Copilot and Gemini answers can all read this store.", "points": 0, "status": "pass"}, {"id": "access.content_signal", "label": "Content-Signal directives (robots.txt)", "detail": "No Content-Signal directives \u2014 the Cloudflare-era content switches aren't set on this store (that's the common case; nothing is being blocked by them).", "points": 0, "status": "na"}, {"id": "access.canonical", "label": "Canonical address coherence", "detail": "The declared canonical address matches where the site actually answers \u2014 no identity contradiction for machines to untangle.", "points": 0, "status": "pass"}, {"id": "p6.returns_shipping", "label": "Returns & shipping in offers (P6 preview)", "detail": "Offers expose machine-readable return policy and shipping details \u2014 an agent can quote the buyer the full, true cost.", "points": 0, "status": "pass"}], "top_fixes": [{"how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "No price exposed inside offers.", "title": "Structured price + currency", "effort": "easy", "impact": 8.0, "pillar": "Structured data"}, {"how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "No structured filterable attribute \u2014 the agent can't filter.", "title": "Attributes as fields (not prose)", "effort": "medium", "impact": 8.0, "pillar": "Catalog & attributes"}, {"how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "No /llms.txt.", "title": "llms.txt present", "effort": "easy", "impact": 4.0, "pillar": "Access & crawlability"}, {"how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "Structured product but variants not exposed (size/color not found as fields).", "title": "Structured variants", "effort": "medium", "impact": 5.0, "pillar": "Catalog & attributes"}], "cap_reason": "", "proto_bonus": 0}}