# Sextant - full context Sextant scores an ecommerce store on the signals AI shopping agents use to find, understand and recommend products. ## The problem we address AI shopping agents do not browse. They fetch, parse and compare. A store whose product data lives only in rendered HTML, whose robots.txt blocks GPTBot, or whose product pages carry no JSON-LD, is not ranked badly by those agents. It is absent from the comparison entirely. ## How the score works Forty checks in five categories. Each check returns pass, fail, warn or not_applicable and carries a weight inside its category. A pass earns full weight, a warn earns half, a fail earns none. Checks that cannot apply leave the denominator, and if a whole category cannot be measured its weight is redistributed across the categories that did run. Category weights: discovery 20, crawl access 25, product schema 25, merchant data 15, content quality 15. Crawl access and product schema carry the most because they are gating: if a crawler cannot get in, or a page has no structured data, nothing else can be seen. Grades: A is 90 and above, B is 80, C is 70, D is 60, F is below 60. ## The checks Discovery - llms.txt published and substantive, not a placeholder - llms-full.txt expanded index - agents.md present - UCP manifest at /.well-known/ucp, valid JSON with commerce keys - sitemap.xml valid and populated - product URLs discoverable from the sitemap rather than only by crawling Crawl access - served over HTTPS - homepage returns a success status to an unauthenticated bot - robots.txt published - no blanket Disallow: / for the wildcard user agent - GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot and Google-Extended each allowed, checked against the site root and a real product path - homepage responds in under 3 seconds Product schema, sampled across up to 5 product pages - Product JSON-LD present - Offer carries price and priceCurrency - Offer declares availability - sku populated - gtin (8, 12, 13, 14) or mpn populated - AggregateRating present - BreadcrumbList present Merchant data - MerchantReturnPolicy structured data, not only a link - OfferShippingDetails structured data, not only a link - FAQPage schema on the homepage, a product page or a policy page - Organization, OnlineStore or LocalBusiness schema on the homepage Content quality, sampled across the same product pages - product titles of 30 characters or more - descriptions of 500 characters or more - 3 or more distinct product images detectable from schema or og tags ## How the scan behaves Identifies as SextantBot/1.0 (+https://sextantscan.com/bot). Fetches the homepage, robots.txt, llms.txt, llms-full.txt, agents.md, /.well-known/ucp and sitemap.xml, follows one level of sitemap index, samples up to 5 product pages and up to 3 policy pages. Three requests in flight at most, 12 second per request timeout. Read only. It fetches nothing a search engine would not already fetch. On robots.txt, precisely: a scan someone requested for a specific store runs whether or not that store's robots.txt would allow us, because the fetch is user directed and because a store that blocks crawlers is a store whose blocking we are being asked to report. Crawling we start ourselves, with nobody having asked, reads robots.txt first and skips any store that disallows us. A missing file is recorded as a finding, not an error. HTML served with a 200 status in place of a missing text file is treated as absent, so a soft 404 cannot inflate a score. ## Pricing - Scan: free. Full report, every failing check with its fix, shareable link, 3 scans per IP per day. - Pro: GBP 29 to 49 per month, in development. Weekly rescans, change alerts, score history, larger product samples, competitor tracking. - Done for you: GBP 300 to 500 fixed, agreed before work starts. We implement the failing checks, then rescan and hand over in writing. ## Contact hello@sextantscan.com