k-sync
Back to blog

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.

·By k-sync
5 min read · 927 words

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:

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:

What they typically don't include without customisation:

Auditing your Shopify schema after migration

Use these tools to check what schema your Shopify store is generating:

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

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 free

Related reading

Browse all migration guides