Shopify to Custom Storefront: What Changes During Migration

Shopify handles SEO, redirects, and structured data automatically. When you build a custom storefront, all of that becomes your problem. Product pages, collection URLs, and canonical tags need explicit handling.

What changes

These are the specific pitfalls of moving from Shopify to a custom storefront. Every one of them causes problems if you don't catch it before launch.

Shopify auto-generates structured data you need to build manually

Shopify automatically adds JSON-LD structured data for products (name, price, availability, reviews), collections, and organization pages. A custom storefront generates nothing. Without manual implementation of Product, Offer, and BreadcrumbList schema, you lose every rich snippet in Google - product prices, stock status, and star ratings all disappear.

Collection URLs change

Shopify uses /collections/[handle] for collection pages. Custom builds often use /category/[slug], /shop/[category], or other patterns. If you change the URL structure, every collection link breaks - including links from Google, social media, and email campaigns. You need 301 redirects for every collection URL.

Product handle URLs differ

Shopify product URLs follow /products/[handle] where the handle is derived from the product title. Custom builds may use different slugs, add category prefixes, or change the format entirely. Product URLs are the most-linked pages in an e-commerce store - changing them without redirects tanks your search rankings.

Canonical logic needs replication

Shopify has built-in canonical URL logic that handles variant parameters, filter URLs, and pagination. Products with variants (size, color) get proper canonical tags pointing to the base product URL. In a custom build, you need to implement this logic yourself - without it, Google may index dozens of duplicate product pages for each variant combination.

Checkout is Shopify-specific

Shopify's checkout is a proprietary system that handles payment processing, tax calculation, shipping rates, and order management. You can't replicate it in a custom build. Your options are Shopify Checkout (via API or Checkout Extensibility), Stripe, or building a full custom checkout - each with different tradeoffs for conversion rate and compliance.

Image URLs change

Shopify serves product images from cdn.shopify.com with auto-generated filenames and responsive sizing. Custom builds use different CDN URLs, filenames, and optimization strategies. Every product image URL changes, which affects page speed, image search rankings, and any external sites linking to your product images.

What MigrateKit checks for this migration

MigrateKit compares your old Shopify store against the new custom storefront page-by-page. Here's what the scorecard covers.

Product metadata

Compares every product page's title, description, and Open Graph tags between Shopify and the custom build. Flags missing or changed metadata.

Structured data

Verifies that Product, Offer, and Organization JSON-LD exists on every page where Shopify was generating it. Flags missing schema that would lose rich snippets.

Collection URLs

Maps every Shopify collection URL to its custom equivalent. Flags broken URLs, missing redirects, and 404 pages.

Canonical URLs

Checks that canonical tags handle variant parameters correctly and point to the right product URLs - not duplicate variant pages.

Product handle URLs

Maps every /products/[handle] URL to its new location. Flags changes that break existing links from search engines and external sites.

Image integrity

Verifies that all product images load correctly and that alt text was preserved during the migration to new CDN URLs.

See how it works View a real example

Verify your Shopify to custom storefront migration before launch.

Send the old Shopify URL and the new custom URL. The scan starts immediately and the pass/fail scorecard appears on the page.