Each pillar shows the points earned against the maximum that was actually observable. Where a signal could not be observed it is removed from both sides rather than scored as a failure.
| Identity | 5.3 / 6 | |
| Identifiers | 3.8 / 12 | |
| Attribute depth | 2.5 / 7 |
| Descriptive content | 2.3 / 6 | |
| Imagery | 3.8 / 5 | |
| Ratings and reviews | 0 / 6 | |
| Catalog consistency | 0 / 3 |
| Public pricing | 5 / 5 | |
| Stock visibility | 2.5 / 4 | |
| Shipping in markup | 3 / 4 | |
| Return policy in markup | 4 / 4 | |
| Un-gated access | 3 / 3 |
| Product markup | 6 / 6 | |
| Required-field completeness | 5 / 5 | |
| Recommended-field depth | 2.1 / 5 | |
| Variant expression | 0 / 4 |
| Crawler access to products | 4 / 4 | |
| AI crawler stance | 3 / 4 | |
| Product sitemap | 1 / 4 | |
| Agent surfaceplatform | 1 / 3 |
We read every sampled page twice — once as a plain crawler reading your published markup, once through an extractor. Where the two disagree, an agent is likely to disagree too.
mpn
nothing — everything on the page is also in your markup
2 of 2 compared pages lost at least one identifier in extraction.
| robots.txt readable | yes |
| AI crawler stance | no AI user-agents named (an absent rule permits the crawler) |
| Sitemap | not found |
| UCP profile | none at /.well-known/ucp — this is not evidence against adoption |
| llms.txt | published |
Verified by hand from category listings — products taken from the middle of the list, never featured or best-seller placements. Open any of them and check our arithmetic.
| Page | Markup | Attributes | Images | GTIN |
|---|---|---|---|---|
| /brake-pad-set/brembo/brp78020n | not readable | 0 | 5 | — |
| /brake-pad-set/brembo/brp06107 | not readable | 17 | 4 | — |
| /oxygen-sensor/drivewire/repa960909 | not readable | 15 | 6 | — |
| /oxygen-sensor/drivewire/set-repd960910-2 | Product | 1 | 6 | — |
| /oxygen-sensor/mopar/mop05149171ab | not readable | 0 | 2 | — |
| /water-pump/vaico/vcov2050017 | not readable | 1 | 3 | — |
| /headlight/replacement/repd100155 | not readable | 1 | 5 | — |
| /headlight/replacement/set-rept100389 | Product | 19 | 6 | — |
Your storefront returned readable markup to a plain client on 25% of the sampled pages. Where it did not, we make no claim about what the markup contains.
hasVariant an agent sees unrelated products.It is not an audit and not a judgement of the business — it is a 8-page sample taken on a stated date, scored on a published rubric with no model judgement in it. Nothing here predicts whether any assistant will recommend you; for most answer engines that is decided by a private merchant feed we cannot see. If a number here is wrong, tell us and it goes in the public corrections log.
This scorecard is a sample — eight product pages, drawn at random from a published seed. It tells you where CarParts.com stands, not which SKUs are costing you. We’ll run a real sample of the whole catalog through the same extractor and send back the fields that are missing, by product.
Everything above stays free either way — the rubric, the sampled pages, the dataset, and every other company’s scorecard.