{"scan_id": 28, "url": "https://nutravita.com/", "vertical": "supplements", "scanned_at": "2026-07-15T11:38:29.074588+00:00", "score": 79, "grade": "B", "report_url": "https://www.agentready.market/r/28", "result": {"url": "https://nutravita.co.uk", "meta": {"notes": [], "phase": "0 (pillars 1-2-3)", "origin": "https://nutravita.co.uk", "investment": {"ads": ["Google Ads/GA4"], "apps": ["Klaviyo", "Yotpo"], "score": 4, "platform": "Shopify", "qualified": true}, "home_status": 200, "product_url": "https://nutravita.com/products/omega-3", "shopify_feed": true, "robots_present": true}, "error": "", "grade": "B", "score": 79, "capped": false, "pillars": [{"id": "access", "pct": 70, "icon": "\ud83d\udd13", "name": "Access & crawlability", "checks": [{"id": "access.ai_crawlers", "fix": "Remove the Disallow directives targeting GPTBot, ClaudeBot, Google-Extended in robots.txt (or add explicit User-agent blocks allowing them).", "gap": 12.0, "label": "robots.txt allows agent crawlers", "detail": "Blocked: GPTBot, ClaudeBot, Google-Extended. Allowed: PerplexityBot.", "earned": 4.0, "effort": "easy", "pillar": "access", "status": "partial", "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 (547 ms on the product page) \u2014 agents won't time out.", "earned": 4.0, "effort": "medium", "pillar": "access", "status": "pass", "weight": 4.0}, {"id": "access.llms_txt", "fix": "", "gap": 0.0, "label": "llms.txt present", "detail": "/llms.txt present \u2014 points agents to your key pages.", "earned": 4.0, "effort": "easy", "pillar": "access", "status": "pass", "weight": 4.0}, {"id": "access.sitemap", "fix": "", "gap": 0.0, "label": "Sitemap available", "detail": "Sitemap found via /sitemap.xml.", "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 (90066 visible characters).", "earned": 4.0, "effort": "hard", "pillar": "access", "status": "pass", "weight": 4.0}], "earned": 28.0, "weight": 40.0}, {"id": "structured_data", "pct": 100, "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": "", "gap": 0.0, "label": "Structured price + currency", "detail": "price=20.99 GBP.", "earned": 8.0, "effort": "easy", "pillar": "structured_data", "status": "pass", "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=Nutravita United Kingdom.", "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.17.", "earned": 3.0, "effort": "medium", "pillar": "structured_data", "status": "pass", "weight": 3.0}], "earned": 35.0, "weight": 35.0}, {"id": "catalog", "pct": 64, "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": "Add color, size, material, category as structured fields.", "gap": 4.0, "label": "Attributes as fields (not prose)", "detail": "Few structured attributes: option:Title.", "earned": 4.0, "effort": "medium", "pillar": "catalog", "status": "partial", "weight": 8.0}, {"id": "cat.feed", "fix": "", "gap": 0.0, "label": "Product feed / catalog signals", "detail": "Feed signals: valid products.json (Shopify).", "earned": 7.0, "effort": "medium", "pillar": "catalog", "status": "pass", "weight": 7.0}], "earned": 16.0, "weight": 25.0}], "roadmap": {"gain": 21, "steps": [{"n": 1, "how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "Blocked: GPTBot, ClaudeBot, Google-Extended. Allowed: PerplexityBot.", "title": "robots.txt allows agent crawlers", "effort": "easy", "impact": 12.0, "pillar": "Access & crawlability", "check_id": "access.ai_crawlers", "cumulative": 91}, {"n": 2, "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", "check_id": "cat.variants", "cumulative": 96}, {"n": 3, "how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "Few structured attributes: option:Title.", "title": "Attributes as fields (not prose)", "effort": "medium", "impact": 4.0, "pillar": "Catalog & attributes", "check_id": "cat.attributes", "cumulative": 100}], "capped": false, "current": 79, "grade_up": true, "projected": 100, "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": "# Nutravita Italia\n\n> We are committed to providing you with the purest and highest quality supplements & vitamins possible. Our products are 100% safe, and 100% made in the UK.\n\n## Products\n- [Zinco 15mg 400 Compresse Vegane](https://nutravita.co.uk/products/zinco-15mg-365-compresse-vegane)\n\n## Policies\n- Shipping: <add your delivery times and zones>\n- Returns: <add your return policy>\n\n## Sitemap\n- https://nutravita.co.uk/sitemap.xml", "available": true, "attribute_map": [{"source": "\u2022\u2022\u2022\u2022", "schema_field": "\u2022\u2022\u2022\u2022", "example": "\u2022\u2022\u2022\u2022"}]}, "benchmark": {"delta": 23, "median": 56, "verdict": "Above the supplements median (+23).", "vertical": "supplements", "percentile": 82, "provisional": false, "sample_size": 11, "vertical_label": "supplements"}, "final_url": "https://nutravita.com/", "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": "The indexes that make this store EXIST inside AI answers are Google-Extended is disallowed (invisible to Gemini answers). A store can allow the shopping agent yet stay invisible to it \u2014 the assistant answers from these indexes.", "points": 0, "status": "fail"}, {"id": "access.content_signal", "label": "Content-Signal directives (robots.txt)", "detail": "Content-Signal set deliberately (ai-train=no, search=yes, use=reference) \u2014 answers and search stay on while the training posture is explicit. A deliberate, healthy configuration.", "points": 0, "status": "pass"}, {"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": "access.machine_entry", "label": "Machine entry points advertised at first contact", "detail": "The homepage points to no machine resources \u2014 no <head> link to llms.txt, a feed or an agent endpoint, and no HTTP Link header. An agent that fetches only the root sees no signposts and can conclude there's no machine access, even when you serve those files. Link them from the page and echo them in a Link response header.", "points": 0, "status": "fail"}, {"id": "p6.returns_shipping", "label": "Returns & shipping in offers (P6 preview)", "detail": "Offers carry no machine-readable return policy or shipping details \u2014 an agent can't compute the true total cost of buying from you, and Google's own Search Console flags this too.", "points": 0, "status": "fail"}], "top_fixes": [{"how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "Blocked: GPTBot, ClaudeBot, Google-Extended. Allowed: PerplexityBot.", "title": "robots.txt allows agent crawlers", "effort": "easy", "impact": 12.0, "pillar": "Access & crawlability", "check_id": "access.ai_crawlers"}, {"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", "check_id": "cat.variants"}, {"how": "\u2022\u2022\u2022\u2022\u2022\u2022 Unlock the exact fix with Pro", "why": "Few structured attributes: option:Title.", "title": "Attributes as fields (not prose)", "effort": "medium", "impact": 4.0, "pillar": "Catalog & attributes", "check_id": "cat.attributes"}], "cap_reason": "", "proto_bonus": 0}}