Shopify structured data and schema markup after migrating from WooCommerce (2026)
How to ensure your Shopify store has correct schema markup and structured data after migrating from WooCommerce — product schema, breadcrumb, FAQ, review markup, and rich results in Google.
WooCommerce stores typically have structured data handled by plugins like Yoast SEO, RankMath, or WPSEO WooCommerce. When you migrate to Shopify, all of that plugin-generated schema is replaced by your Shopify theme's built-in structured data. How good that structured data is depends entirely on which theme you're using — and it's worth auditing immediately after migration.
Why structured data matters after migration
Schema markup (JSON-LD structured data) enables rich results in Google Search:
- Product rich results: Price, availability, star rating in search snippets. Significantly higher CTR than standard results.
- Breadcrumb trails: Collection path shown in the URL display area under the title.
- FAQ rich results: FAQ sections expand in Google Search for pages with FAQPage markup.
- Review snippets: Star ratings from product reviews appear in search snippets.
If your WooCommerce store had working rich results (product stars, FAQ dropdowns), these will break temporarily after migration until the Shopify theme's schema is verified correct.
What Shopify themes include by default
Most quality Shopify themes (Dawn, Sense, Craft, Crave, and most premium themes) include:
- Product schema with
@type: Product, name, image, description, offers (price, currency, availability) - Breadcrumb schema on product and collection pages
- Organization schema in the footer or root layout
- Article schema on blog post pages
What they typically don't include without customisation:
- AggregateRating (review star schema) — requires integration with your review app
- FAQPage markup — must be added manually to relevant pages
- HowTo markup — for tutorial/guide content
- Correct
gtin,mpn, andskuin Product schema - Multiple Offers (for variant-specific pricing in schema)
Auditing your Shopify schema after migration
Use these tools to check what schema your Shopify store is generating:
- Google Rich Results Test: Test individual product, collection, and blog URLs. Shows which rich result types are eligible and any validation errors.
- Google Search Console → Enhancements: After migration, within 2–4 weeks Search Console will report any schema errors found during crawling. Check Products, Breadcrumbs, and any other enhancement types.
- Schema Markup Validator (schema.org/validator): Validates raw schema JSON without Google-specific eligibility checks.
Common schema issues after WooCommerce → Shopify migration
Price not in schema
Some Shopify themes only add price to schema for single-price products. If your product has multiple variants at different prices, the schema may show no price or only the lowest variant price. Fix: ensure your theme's product schema includes offers with an array of Offer objects per variant, or at minimum lowPrice and highPrice.
Availability incorrect
Google requires availability in the Offer. Accepted values: https://schema.org/InStock, https://schema.org/OutOfStock, https://schema.org/PreOrder. Some themes output plain text ("In stock") rather than the schema.org URL — this causes a validation warning.
Missing GTIN
Google's Product schema guidelines recommend including gtin (GTIN-13/EAN), mpn, or sku. After migration, if your WooCommerce product EANs/barcodes were migrated to Shopify variant barcodes, ensure your theme includes the barcode field in the gtin8/gtin13/gtin14 property of the Product schema.
Review schema missing
Product reviews from your WooCommerce store may have migrated (via a reviews import process), but the review app on Shopify (Judge.me, Okendo, Stamped) needs to inject aggregateRating into the Product schema. Check that your review app is configured to output JSON-LD, not just microdata, and that it's not conflicting with the theme's own Product schema block.
Breadcrumbs showing wrong path
In WooCommerce, breadcrumbs follow the parent category hierarchy. In Shopify, products belong to multiple collections without a hierarchical relationship. Breadcrumb schema may show an unexpected or incorrect path. Fix: ensure your theme generates breadcrumbs from the referring collection URL (Shopify's canonical_url and collection context), not from a hardcoded path.
Adding FAQ schema to Shopify pages
FAQ rich results can significantly increase click-through rates from search. To add FAQPage schema to Shopify:
Option A — Via a metafield-driven FAQ section
// In your Shopify theme, add a section that reads from a page metafield:
page.metafields.custom.faq_items = JSON array of {question, answer} objects
// The section template outputs both the visible FAQ and the JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How long does migration take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most migrations complete within 24 hours..."
}
}
]
}
</script>
Option B — Via a Shopify schema app
Apps like Schema Plus for SEO, JSON-LD for SEO, and Smart SEO can inject FAQ schema without theme customisation. These are useful for stores that need FAQ schema on many pages quickly.
Product schema best practice for Shopify
A complete Product schema for a Shopify product page:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "{{ product.title }}",
"image": ["{{ product.featured_image | img_url: 'master' }}"],
"description": "{{ product.description | strip_html | escape }}",
"sku": "{{ product.selected_or_first_available_variant.sku }}",
"brand": {
"@type": "Brand",
"name": "{{ product.vendor }}"
},
"offers": {
"@type": "Offer",
"url": "{{ canonical_url }}",
"priceCurrency": "{{ shop.currency }}",
"price": "{{ product.selected_or_first_available_variant.price | money_without_currency }}",
"availability": "{% if product.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}",
"itemCondition": "https://schema.org/NewCondition"
}
}
Post-migration structured data checklist
- Run Google Rich Results Test on 5 product pages — verify Product schema valid
- Check price and availability are correct in schema (not just visible on page)
- Verify breadcrumb schema on product pages reflects actual collection path
- Confirm review app outputs
aggregateRatingJSON-LD (not just microdata) - Add GTIN/barcode field to Product schema if products have EANs
- Add FAQPage schema to product FAQ sections and FAQ pages
- Check Search Console Enhancements 2–4 weeks post-migration for errors
- Verify Article schema on blog post pages (date, author, image)
- Test Organisation schema in site footer
- Fix any "missing field" warnings in Rich Results Test before seeking indexing
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.