Cartiq

How we score

35 checks, 100 points, no AI anywhere in the scoring path. Every point traces to a rule below. Two scans of the same signals return the same number, and this page is generated from the same registry the scorer uses, so it cannot drift from what actually runs.

Grades

A Structured product data 25 pts

B Catalog & feed availability 15 pts

C Agent access policy 20 pts

D Commerce signals 15 pts

E Protocol & checkout readiness 10 pts

F Non-JS accessibility 10 pts

G Identity & trust 5 pts

Confidence

Every result carries a confidence level, because a store we could not fully read should never be presented as if we had.

A file that simply is not there — an llms.txt that returns 404, for example — is an absence, not a failure. We successfully determined it does not exist. The check scores zero; our confidence in the scan is unaffected.

Known limitations

Stated here rather than left to be discovered by whoever is disputing a score.

Platform points and your points

Some of your score is earned by your platform rather than by you. Shopify generates your sitemap and product feed, and ships an llms.txt to every store; a merchant on a custom stack has to build all of that. Those points are real — an agent genuinely reads a Shopify store more easily — but you did not do anything to earn them, and you cannot lose them without moving platform.

So your result separates them. From your platform is what your stack provides by default. From your store is what you built. Available to you is what you could still earn without replatforming.

Which checks count as platform-provided depends on the platform, not on the check. A machine-readable product feed is free on Shopify and real work on a custom stack, so the same check is attributed differently for two different stores — and our list of what each platform provides is verified against real captured stores rather than assumed. Where we cannot identify your platform, every point is attributed to you.

“Available to you” is deliberately conservative. We never offer a point your platform would have to provide, and we exclude checks whose applicability we cannot determine from the outside — a product with one size and one colour cannot expose variants, and a store with no reviews has none to mark up. If we cannot establish that anything is winnable, we show the fix list and no total rather than a number we cannot stand behind.

We withhold the whole breakdown for a store we could not read — one that blocks crawlers, or refuses our request with a 403 or a bot challenge. A total of points you could win is a promise that the work pays off, and until an agent can reach your store it is a promise about work nobody will ever see.

This is presentation, not scoring. The score itself is unchanged, and the number on your result page is the whole score including platform points. If our public leaderboard ever ranks on a different basis — for example on what each store earned itself, so a ranking cannot move because someone else’s vendor shipped a feature — the leaderboard will say so plainly.

How we crawl

We honour robots.txt strictly. If your robots.txt disallows us, we fetch robots.txt and nothing else from your domain. A store that blocks all crawlers is scored only on what is readable without visiting it, is labelled as blocked rather than simply scored badly, and is excluded from our public leaderboard entirely — ranking it against a fully-scanned store would compare different amounts of evidence.

Cartiq fetches only from the store’s own domain and its subdomains, and reads robots.txt for every host it touches. A link that leaves the store’s domain is never followed, so a store is never scored on a page that is not its own.

A scan makes at most 14 requests, spaced 500ms apart, within a 20 second budget. We respect Crawl-delay up to a 2 second cap; beyond that the 20 second budget wins and the result says so rather than silently scoring the dropped checks zero. Full crawler details and how to opt out.

Scores reflect public data only. Cartiq has no affiliation with, and no relationship to, the brands it scores.