{
  "url": "https://agents.btracking.com",
  "rubric": {
    "version": "v2",
    "score": 60,
    "band": "developing",
    "bandLabel": "Developing",
    "dimensions": [
      {
        "key": "product_jsonld",
        "label": "Product JSON-LD",
        "weight": 18,
        "score": 86,
        "oneLineFix": "Emit a Product JSON-LD block on every PDP with name, sku/gtin, description and image[].",
        "evidence": {
          "message": "Product JSON-LD node found on the PDP but some required fields are missing.",
          "fix": "Add at least 2 product images to the Product.image[] array.",
          "url": "https://agents.btracking.com/product/steel-lanyard-kit-for-bb502-asset-tracker",
          "facts": {
            "blockCount": 2,
            "productNode": true,
            "name": true,
            "skuOrGtin": true,
            "description": true,
            "imageArray": false
          }
        }
      },
      {
        "key": "offer_clarity",
        "label": "Offer clarity",
        "weight": 16,
        "score": 80,
        "oneLineFix": "Add an Offer node to every Product with price, priceCurrency, availability and priceValidUntil so agents can quote a confident price.",
        "evidence": {
          "message": "Offer present but missing priceValidUntil.",
          "fix": "Add the priceValidUntil field to the Offer.",
          "url": "https://agents.btracking.com/product/steel-lanyard-kit-for-bb502-asset-tracker",
          "facts": {
            "offerNode": true,
            "price": true,
            "currency": true,
            "availability": true,
            "priceValidUntil": false,
            "saleWindowValid": false
          }
        }
      },
      {
        "key": "catalog_feed_quality",
        "label": "Catalog feed quality",
        "weight": 16,
        "score": 0,
        "oneLineFix": "Publish a structured product feed with GTIN, google_product_category, brand and a 2+ level taxonomy.",
        "evidence": {
          "message": "No public structured product feed was discoverable (no /products.json on Shopify or /wp-json/wc/store/products on WooCommerce).",
          "fix": "Expose a structured catalogue feed at /products.json (Shopify) or /wp-json/wc/store/products (WooCommerce).",
          "facts": {
            "feedReachable": false,
            "products": 0,
            "gtin": false,
            "brand": false,
            "categories": false
          }
        }
      },
      {
        "key": "freshness_inventory",
        "label": "Freshness and inventory",
        "weight": 14,
        "score": 64,
        "oneLineFix": "Keep inventory and price feeds current — agents downweight stores whose stock or pricing looks stale.",
        "evidence": {
          "message": "Inventory signals look stale — agents downweight stores whose stock or pricing isn't current.",
          "fix": "Keep your catalog feed in sync with stock and price; refresh at least daily.",
          "facts": {
            "topProductsPricedFreshly": false
          }
        }
      },
      {
        "key": "rich_pdp_schema",
        "label": "Rich PDP schema",
        "weight": 12,
        "score": 25,
        "oneLineFix": "Add AggregateRating, BreadcrumbList, FAQPage and hasMerchantReturnPolicy to your PDPs — each unlocks a distinct shopping-answer surface.",
        "evidence": {
          "message": "Found BreadcrumbList. Missing AggregateRating, FAQPage, MerchantReturnPolicy.",
          "fix": "Add AggregateRating schema to the PDP — each missing node closes a distinct path agents use to recommend you.",
          "url": "https://agents.btracking.com/product/steel-lanyard-kit-for-bb502-asset-tracker",
          "facts": {
            "aggregateRating": false,
            "breadcrumbList": true,
            "faqPage": false,
            "merchantReturnPolicy": false
          }
        }
      },
      {
        "key": "image_media",
        "label": "Image and media",
        "weight": 8,
        "score": 57,
        "oneLineFix": "Use ≥3 absolute https product images at ≥800px width, with alt text and a populated schema image[] array.",
        "evidence": {
          "message": "1 <img> tags on the PDP, 100% absolute https URLs, 100% have alt text. Schema image[] array has 1 entries.",
          "fix": "Include at least 3 product images in the Product.image[] array.",
          "url": "https://agents.btracking.com/product/steel-lanyard-kit-for-bb502-asset-tracker",
          "facts": {
            "imgTags": 1,
            "absoluteHttps": "100%",
            "altCoverage": "100%",
            "schemaImageArrayLen": 1
          }
        }
      },
      {
        "key": "agent_commerce_surface",
        "label": "Agent commerce surface",
        "weight": 9,
        "score": 96,
        "oneLineFix": "Serve /.well-known/ucp with rich capabilities (especially an MCP service) — basic UCP presence is now table-stakes; depth is what separates a store agents can transact with from one they can only browse.",
        "evidence": {
          "message": "UCP profile with 7 capabilities and an advertised MCP service.",
          "facts": {
            "ucpProfile": true,
            "capabilities": 7,
            "advertisesMcp": true,
            "merchantHosted": false,
            "agentCard": true,
            "oauthPR": true
          }
        }
      },
      {
        "key": "agent_accessibility",
        "label": "Agent accessibility",
        "weight": 7,
        "score": 95,
        "oneLineFix": "Allow GPTBot, OAI-SearchBot, PerplexityBot and ClaudeBot in robots.txt — blocking these makes you invisible in agentic shopping answers.",
        "evidence": {
          "message": "robots.txt allows the four primary shopping agents (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot).",
          "url": "/robots.txt",
          "facts": {
            "blockedTriggers": 0,
            "partials": 0,
            "GPTBot": "explicit-allow",
            "OAI-SearchBot": "explicit-allow",
            "PerplexityBot": "explicit-allow",
            "ClaudeBot": "explicit-allow"
          }
        }
      }
    ],
    "oneLineFix": "Publish a structured product feed with GTIN, google_product_category, brand and a 2+ level taxonomy.",
    "scoredAt": "2026-06-18"
  },
  "checks": [
    {
      "id": "discovery.llms_txt",
      "name": "Has /llms.txt",
      "status": "pass",
      "severity": "fail",
      "message": "/llms.txt served with H1 present",
      "url": "https://agents.btracking.com/llms.txt",
      "details": {
        "title": "btracking.com",
        "bytes": 12028,
        "sections": 4,
        "xpayDetected": true
      }
    },
    {
      "id": "discovery.ucp_profile",
      "name": "Has /.well-known/ucp (UCP business profile)",
      "status": "pass",
      "severity": "info",
      "message": "Profile served (v2026-05-18, 7 capabilities) — signature verification not yet enabled",
      "url": "https://agents.btracking.com/.well-known/ucp",
      "details": {
        "version": "2026-05-18",
        "capabilities": [
          "dev.ucp.shopping.checkout",
          "dev.ucp.shopping.catalog.lookup",
          "dev.ucp.shopping.catalog.search",
          "dev.ucp.shopping.cart",
          "dev.ucp.shopping.order",
          "dev.ucp.shopping.fulfillment",
          "dev.ucp.shopping.discount"
        ],
        "capabilityCount": 7,
        "serviceCount": 2,
        "services": {
          "dev.ucp.shopping": [
            {
              "version": "2026-05-18",
              "spec": "https://ucp.dev/specification/overview",
              "transport": "rest",
              "endpoint": "https://agents.btracking.com/api/ucp/v1",
              "schema": "https://ucp.dev/schemas/services/shopping/rest.openapi.json"
            }
          ],
          "dev.ucp.mcp": [
            {
              "version": "2024-11-05",
              "spec": "https://modelcontextprotocol.io/specification",
              "transport": "streamable-http",
              "endpoint": "https://agent-commerce.xpay.sh/mcp/btracking-com",
              "descriptor": "https://agents.btracking.com/.well-known/mcp.json",
              "tools": [
                "search_catalog",
                "get_product",
                "create_cart"
              ]
            }
          ]
        },
        "signingKeyCount": 0,
        "hosted": "xpay"
      }
    },
    {
      "id": "discovery.robots_ai_allowlist",
      "name": "robots.txt does not block AI shopping agents",
      "status": "pass",
      "severity": "info",
      "message": "All 12 AI user-agents explicitly allowed",
      "url": "https://agents.btracking.com/robots.txt",
      "details": {
        "posture": {
          "GPTBot": "explicit-allow",
          "ChatGPT-User": "explicit-allow",
          "OAI-SearchBot": "explicit-allow",
          "ClaudeBot": "explicit-allow",
          "Claude-User": "explicit-allow",
          "Claude-SearchBot": "explicit-allow",
          "PerplexityBot": "explicit-allow",
          "Perplexity-User": "explicit-allow",
          "Google-Extended": "explicit-allow",
          "Applebot-Extended": "explicit-allow",
          "CCBot": "explicit-allow",
          "Amazonbot": "explicit-allow"
        },
        "shoppingBlocked": [],
        "trainingBlocked": [],
        "unaddressed": [],
        "allowed": [
          "GPTBot",
          "ChatGPT-User",
          "OAI-SearchBot",
          "ClaudeBot",
          "Claude-User",
          "Claude-SearchBot",
          "PerplexityBot",
          "Perplexity-User",
          "Google-Extended",
          "Applebot-Extended",
          "CCBot",
          "Amazonbot"
        ]
      }
    },
    {
      "id": "discovery.schema_org_product",
      "name": "PDP emits schema.org Product JSON-LD",
      "status": "warn",
      "severity": "warn",
      "message": "Product JSON-LD present but BuyAction missing — agents may struggle to find the buy target",
      "url": "https://agents.btracking.com/product/steel-lanyard-kit-for-bb502-asset-tracker",
      "details": {
        "name": "Steel Lanyard Kit for BB502 Asset Tracker | BA502L",
        "sku": "BA502L",
        "productType": "Product",
        "price": "14.99",
        "priceCurrency": "USD",
        "hasBuyAction": false
      }
    },
    {
      "id": "discovery.agent_card",
      "name": "A2A /.well-known/agent-card.json (watchlist)",
      "status": "pass",
      "severity": "info",
      "message": "Agent card present: \"btracking.com\"",
      "url": "https://agents.btracking.com/.well-known/agent-card.json",
      "details": {
        "name": "btracking.com",
        "version": "0.1.0",
        "capabilities": [
          "shopping",
          "cart",
          "inventory"
        ],
        "skillCount": 2
      }
    },
    {
      "id": "discovery.oauth_protected_resource",
      "name": "RFC 9728 /.well-known/oauth-protected-resource (optional)",
      "status": "pass",
      "severity": "info",
      "message": "OAuth resource metadata present (resource=https://agents.btracking.com/api/ucp/v1)",
      "url": "https://agents.btracking.com/.well-known/oauth-protected-resource",
      "details": {
        "resource": "https://agents.btracking.com/api/ucp/v1",
        "authorizationServers": [
          "https://auth.xpay.sh"
        ],
        "scopes": [
          "catalog.read",
          "cart.write",
          "order.read"
        ]
      }
    },
    {
      "id": "cr.product_feed",
      "name": "AI can read your full catalogue",
      "status": "fail",
      "message": "AI shoppers can't read your product catalog from a public endpoint (Shopify /products.json or WC Store API)."
    },
    {
      "id": "cr.live_pricing",
      "name": "Live prices visible to AI",
      "status": "pass",
      "message": "Your homepage exposes current prices in schema.org Offer / Product / AggregateOffer."
    },
    {
      "id": "cr.ai_guide",
      "name": "Plain-text guide for AI assistants",
      "status": "pass",
      "message": "You publish a /llms.txt guide telling AI what your store sells and where to look."
    },
    {
      "id": "cr.agent_checkout_discovery",
      "name": "AI assistants know where to send a buyer",
      "status": "fail",
      "message": "AI assistants can't find a checkout endpoint — they have to fall back to a web link."
    },
    {
      "id": "cr.agents_allowed",
      "name": "AI shoppers are allowed in",
      "status": "pass",
      "message": "AI assistants are not blocked from your store in robots.txt."
    },
    {
      "id": "cr.in_chat_checkout",
      "name": "AI shoppers can buy without leaving the chat",
      "status": "fail",
      "message": "AI shoppers can't complete a purchase here — they get redirected back to your website."
    },
    {
      "id": "cr.direct_buy",
      "name": "Direct buy link signals",
      "status": "fail",
      "message": "AI assistants have to guess which link is the buy button — no schema.org BuyAction emitted."
    },
    {
      "id": "cr.fresh_inventory",
      "name": "Stock & price kept current",
      "status": "fail",
      "message": "AI shoppers can't reliably see live stock or pricing from your public catalog."
    },
    {
      "id": "v2.pdp_deep_scan",
      "name": "PDP deep-scan",
      "status": "pass",
      "message": "Product+Offer found; 1/4 rich nodes; 1 <img>",
      "details": {
        "pdpUrl": "https://agents.btracking.com/product/steel-lanyard-kit-for-bb502-asset-tracker",
        "blockCount": 2,
        "hasProductNode": true,
        "hasName": true,
        "hasSkuOrGtin": true,
        "hasDescription": true,
        "hasImageArray": false,
        "requiredFieldCoverage": 0.75,
        "hasOfferNode": true,
        "hasPrice": true,
        "hasCurrency": true,
        "hasAvailability": true,
        "hasPriceValidUntil": false,
        "saleWindowValid": false,
        "hasAggregateRating": false,
        "hasBreadcrumbList": true,
        "hasFaqPage": false,
        "hasMerchantReturnPolicy": false,
        "imgTagCount": 1,
        "imagesAbsoluteHttps": 1,
        "altTextCoverage": 1,
        "imageArrayCount": 1
      }
    }
  ],
  "fellBackToHeadless": false,
  "runId": "42592409-b466-4662-b56c-75578e741851",
  "auditorVersion": "0.1.0",
  "commerceReadiness": {
    "checkout_score": 30,
    "checks": [
      {
        "id": "cr.product_feed",
        "label": "AI can read your full catalogue",
        "passed": false,
        "state": "fail",
        "weight": 20,
        "detail": "AI shoppers can't read your product catalog from a public endpoint (Shopify /products.json or WC Store API)."
      },
      {
        "id": "cr.live_pricing",
        "label": "Live prices visible to AI",
        "passed": true,
        "state": "pass",
        "weight": 14,
        "detail": "Your homepage exposes current prices in schema.org Offer / Product / AggregateOffer."
      },
      {
        "id": "cr.ai_guide",
        "label": "Plain-text guide for AI assistants",
        "passed": true,
        "state": "pass",
        "weight": 8,
        "detail": "You publish a /llms.txt guide telling AI what your store sells and where to look."
      },
      {
        "id": "cr.agent_checkout_discovery",
        "label": "AI assistants know where to send a buyer",
        "passed": false,
        "state": "fail",
        "weight": 14,
        "detail": "AI assistants can't find a checkout endpoint — they have to fall back to a web link."
      },
      {
        "id": "cr.agents_allowed",
        "label": "AI shoppers are allowed in",
        "passed": true,
        "state": "pass",
        "weight": 8,
        "detail": "AI assistants are not blocked from your store in robots.txt."
      },
      {
        "id": "cr.in_chat_checkout",
        "label": "AI shoppers can buy without leaving the chat",
        "passed": false,
        "state": "fail",
        "weight": 20,
        "detail": "AI shoppers can't complete a purchase here — they get redirected back to your website."
      },
      {
        "id": "cr.direct_buy",
        "label": "Direct buy link signals",
        "passed": false,
        "state": "fail",
        "weight": 6,
        "detail": "AI assistants have to guess which link is the buy button — no schema.org BuyAction emitted."
      },
      {
        "id": "cr.fresh_inventory",
        "label": "Stock & price kept current",
        "passed": false,
        "state": "fail",
        "weight": 10,
        "detail": "AI shoppers can't reliably see live stock or pricing from your public catalog."
      }
    ],
    "jsonld_types": [
      "WebSite",
      "SearchAction",
      "EntryPoint",
      "Store",
      "ItemList",
      "ListItem",
      "Product",
      "Brand",
      "Offer",
      "AggregateOffer"
    ],
    "soft404_detected": false
  }
}