Skip to main content
Checklist

Schema Markup Checklist: 12 Items Every Ecommerce Store Should Audit

By · Updated · 6 min read

How to Use This Schema Markup Audit Checklist

Schema markup tells search engines—and AI answer engines—exactly what your page content means. For ecommerce stores, missing or broken structured data translates directly into lost rich results: no star ratings in SERPs, no price displays, no availability callouts. This checklist covers the 12 schema elements that matter most for product-driven sites, each with a defined pass condition and a clear fail condition so your audit produces actionable results rather than vague observations.

Run this audit using Google's Rich Results Test, Schema.org's validator, and a crawl tool that can extract JSON-LD from page source. Check your highest-revenue product pages first, then category pages, then site-wide templates. A single broken template can invalidate schema across thousands of URLs.

Product-Level Schema Checks (Items 1–5)

1. Product Type Declaration — PASS: Every product page contains a schema.org/Product type declared in JSON-LD. FAIL: The page uses Microdata inconsistently, mixes markup formats, or omits the Product type entirely. JSON-LD in the document head is the format Google explicitly recommends; Microdata embedded in HTML is error-prone during template updates.

2. Name Property — PASS: The 'name' property matches the H1 exactly, with no truncation or appended SKU codes that don't appear on-page. FAIL: The name is pulled from a backend field that differs from the visible product title, creating a mismatch that Google's quality algorithms flag.

3. Description Property — PASS: A 'description' property is present and contains at least one complete sentence describing the product. FAIL: The field is empty, contains only a product code, or duplicates the name property verbatim.

4. SKU and MPN Properties — PASS: Either 'sku' or 'mpn' (or both) are populated with the manufacturer or internal identifier shown elsewhere on the page. FAIL: Both are absent, or the value is a placeholder like '0' or 'N/A'. These identifiers are critical for Google Shopping surface eligibility.

5. Brand Property — PASS: The 'brand' property is present and contains a schema.org/Brand object with a 'name' value matching the brand displayed on the page. FAIL: Brand is a plain string rather than a nested object, or the field is missing entirely. Nested Brand objects improve entity recognition.

Offer and Pricing Schema Checks (Items 6–8)

6. Offer Type and Price — PASS: An 'offers' property is present, typed as schema.org/Offer, with a numeric 'price' and an ISO 4217 'priceCurrency' code (e.g., 'USD'). FAIL: Price is formatted as a string with a currency symbol inside it ('$29.99'), which parsers misread. The price value must be a number; currency goes in the separate priceCurrency field.

7. Availability — PASS: The 'availability' property uses a full schema.org URL (e.g., 'https://schema.org/InStock') that matches actual inventory status. FAIL: The field uses a shorthand like 'InStock' without the namespace, or the declared status contradicts the page's visible stock message. Mismatches trigger Google's structured data manual actions.

8. PriceValidUntil — PASS: Sale prices include a 'priceValidUntil' date in ISO 8601 format (YYYY-MM-DD) that has not already passed. FAIL: The property is absent on sale pages, or the date is in the past—both cause Google to suppress price-related rich results for that listing.

Review and Rating Schema Checks (Items 9–10)

9. AggregateRating — PASS: Pages with customer reviews include an 'aggregateRating' property with both 'ratingValue' and 'reviewCount' populated from real, on-page review data. FAIL: The rating is hard-coded in the schema but not visibly displayed to users, or the review count in markup differs from the count shown on the page. Google's guidelines prohibit structured data that describes content not visible to users.

10. Individual Review Markup — PASS: If individual reviews are displayed, at least a sample is marked up with schema.org/Review, including 'author', 'datePublished', and 'reviewBody'. FAIL: Only AggregateRating is present but full review text is visible on-page with no accompanying Review markup, leaving signal on the table for AI-powered answer engines that parse review content.

Site-Level and Technical Schema Checks (Items 11–12)

11. BreadcrumbList — PASS: Every product and category page includes a BreadcrumbList schema with 'ListItem' entries that mirror the visible breadcrumb trail, using correct 'position' integers starting at 1. FAIL: Breadcrumb schema is present but positions are non-sequential, duplicated, or the URLs in 'item' properties return 4xx errors. Broken breadcrumb schema suppresses the breadcrumb display in SERPs, which reduces click-through rates on category-driven queries.

12. Sitelinks Searchbox (Homepage Only) — PASS: The homepage includes a WebSite schema block with a 'potentialAction' of type SearchAction, pointing to a functional internal search URL with the query parameter correctly templated. FAIL: The SearchAction URL is hardcoded without the query placeholder, the internal search returns no results, or the schema exists on non-homepage URLs. Google only renders the Sitelinks Searchbox for the canonical homepage, so placement elsewhere wastes crawl processing.

Completing the Audit: Priority Order and Validation Tools

Fix items in this order: Offer/Availability errors first (they trigger manual actions), then AggregateRating mismatches (they affect rich result eligibility immediately), then Product-type completeness (affects long-tail discovery), then BreadcrumbList and SearchAction (affect display but not indexing). Address template-level errors before page-level errors—one corrected template can resolve thousands of failures simultaneously.

Validate every fix using Google's Rich Results Test before pushing to production. After deployment, monitor the 'Enhancements' section of Google Search Console for at least 14 days. Search Console reporting lags by several days, so a clean Rich Results Test result that later shows errors in Search Console usually indicates a caching or server-rendering problem, not a schema logic error. Confirm that your schema renders in the fully-executed DOM, not just in raw HTML source, especially if you use a JavaScript-heavy storefront.

Frequently asked questions

Which schema markup error causes the most damage for ecommerce stores?

Availability mismatches are the most damaging. When schema declares 'InStock' but the page shows 'Out of Stock'—or vice versa—Google treats it as a policy violation and can issue a manual action that removes all rich results for the affected pages. Pricing errors have similar consequences. Factual accuracy between markup and visible content is non-negotiable.

Does every product page need its own unique schema, or can templates handle it?

Templates handle the structure; dynamic fields supply the unique values. A single JSON-LD template can serve thousands of product pages if it pulls name, price, availability, SKU, and review count from the correct data layer variables. The schema is only unique when the values are unique. Hardcoded schema templates that don't pull live data create bulk errors at scale.

Is schema markup a direct Google ranking factor?

Google has stated that schema markup is not a direct ranking signal. It affects how pages are displayed in search results—star ratings, price callouts, breadcrumbs—which affects click-through rate. Higher CTR from rich results can improve traffic without changing rank position. For AI-powered answer engines, schema is increasingly used to extract and cite product-level facts directly.

How often should an ecommerce store re-audit its schema markup?

Audit after every major template change, platform migration, or theme update—any of these can strip or corrupt JSON-LD blocks. Beyond event-triggered audits, run a quarterly crawl-based check across all URL types. Monitor Search Console's Enhancements reports continuously; a spike in errors is the earliest signal that a template-level schema break has occurred.

Can duplicate schema markup on the same page cause problems?

Yes. If a page contains two Product schema blocks—one from a theme and one from an app—parsers may read conflicting values for price, availability, or name. Google typically uses one block and ignores the other, but which one it chooses is unpredictable. Audit page source and rendered DOM separately to confirm only one canonical schema block exists per entity type.

MG
Written by

Matt is the founder of RunOctopus. He built All Angles Creatures from zero to page-1 rankings in reptile feeder insects in under 60 days using exactly this method — turning a hard, entrenched niche into RunOctopus's proof store for programmatic SEO and AI search citation.

Connect on LinkedIn →

See what Otto would build for your store

Free architecture preview. No card required. Five minutes.

Generate Preview →