**TL;DR.** Migrate from Shopify to Ordiko in three phases: (1) audit current SEO, (2) import catalog and configure redirects, (3) cutover DNS and submit updated sitemaps. If you preserve slugs and 301-redirect any legacy patterns, organic traffic recovers in 1–4 weeks and typically grows because Ordiko's default Product schema is more complete than Shopify's.

## Why merchants migrate

Common reasons in 2026:

- Multi-store: Shopify gates multi-store behind Plus (~$2,000+/mo). Ordiko includes it at $19/mo.
- Per-transaction fees: Shopify charges 0.5–2.0% on third-party payment processors.
- 2026 Product schema (`hasMerchantReturnPolicy`, `shippingDetails`): Shopify requires apps or custom Liquid.
- AI-search citation: Shopify has no native `llms.txt`, Markdown twins, or AI crawler controls.
- React-native theming.

## Step 1: Audit your current Shopify SEO surface

Capture a baseline before changing anything.

1. **Top URLs**: Google Search Console → Performance → Pages, export top 500 by clicks.
2. **Schema**: Run [Google Rich Results Test](https://search.google.com/test/rich-results) on 5 representative URLs (home, PLP, PDP, blog, page). Save the JSON-LD output.
3. **Canonical URLs**: View source on the same 5 URLs; note `<link rel="canonical">`.
4. **Hreflang**: If multi-locale, document the hreflang cluster.
5. **Sitemap inventory**: Save `/sitemap.xml` and follow all sub-sitemaps.
6. **Robots policy**: Save `/robots.txt`.

Store these in a folder. You'll compare post-migration to ensure parity (or improvement).

## Step 2: Export from Shopify

```bash
# Products: Admin → Products → Export → CSV (All products, all columns)
# Customers: Admin → Customers → Export
# Orders: Admin → Orders → Export
# Media: use Matrixify, Bulk Image Downloader, or the Storefront API
```

Required CSVs:

- `products_export.csv`
- `customers_export.csv`
- `orders_export.csv` (optional, read-only post-import)

Optional but valuable:

- `redirects_export.csv` from Shopify → Online Store → Navigation → URL Redirects.

## Step 3: Choose a slug strategy

| Strategy           | When to use                                         | SEO impact                |
| ------------------ | --------------------------------------------------- | ------------------------- |
| Preserve slugs     | Default. URL stays identical (`/products/red-shirt`) | None — best for SEO       |
| Rename slugs       | You're consolidating duplicate SKUs                  | Requires 301 per product  |
| Restructure        | You're moving to a new URL scheme                    | Requires 301 sitewide; expect a 2–6 week dip |

Preserve unless you have a strong reason not to.

## Step 4: Import the catalog into Ordiko

In your Ordiko dashboard:

1. Go to **Settings → Import → Shopify**.
2. Upload `products_export.csv` and your media archive.
3. Map variants (Ordiko auto-detects standard size/color/material patterns).
4. Choose locales (Ordiko supports es, en, fr, de, pt, it, ru, uk).
5. Click **Import**. Background job runs via Trigger.dev; you can monitor progress in real time.

The importer:

- Preserves slugs by default.
- Mirrors collection structure.
- Imports product images with original filenames as `alt` (you'll improve these later with the AI alt-text generator).
- Imports product metafields where they map to Ordiko's typed schema.

## Step 5: Configure redirects

Ordiko's path conventions match Shopify's for the most common patterns (`/products/`, `/collections/`, `/pages/`). For anything that diverges:

1. **Old → new mapping CSV**:

```csv
from,to,status
/products/old-slug,/products/new-slug,301
/collections/sale-2024,/collections/sale,301
/pages/old-about,/about,301
```

2. Upload via **Dashboard → SEO → Redirects → Import CSV**.
3. For deleted SKUs, use status `410` (and optionally a `to` path for soft-recovery).

Ordiko's gone-paths layer ensures 410 URLs return HTTP 410 with a noindex page suggesting alternatives via pgvector cosine similarity.

## Step 6: Set up hreflang for multi-locale stores

If your Shopify store used Shopify Markets:

1. In Ordiko, enable the same locales on the store (Settings → Localization).
2. For each translated entity, set `availableLocales` to the subset where translations exist.
3. Ordiko's `alternates.languages` metadata respects this intersection — you won't accidentally advertise a `fr` translation for a product that only exists in `en` and `de`.

## Step 7: Configure 2026 Product schema fields

Most Shopify stores rely on schema apps. In Ordiko this is built-in:

1. **Settings → SEO → Return Policy** — set store-wide return policy:
   - `applicableCountry`
   - `returnPolicyCountry`
   - `returnPolicyCategory` (e.g. `MerchantReturnFiniteReturnWindow`)
   - `merchantReturnDays` (e.g. 30)
   - `returnMethod` (e.g. `ReturnByMail`)
   - `returnFees` (e.g. `FreeReturn`)
2. **Settings → SEO → Shipping Policies** — set shipping rates, destinations, handling time, transit time.
3. Per-product overrides are available if a specific SKU has a different policy.

The schema renders on every PDP automatically.

## Step 8: Cutover DNS and submit sitemaps

1. **Pre-cutover**: run Ordiko on a subdomain (e.g. `new.example.com`) and QA at least 20 URLs end-to-end.
2. **Cutover window**: change apex DNS to Ordiko (CNAME or A record per Ordiko's onboarding doc).
3. **Within 1 hour of DNS propagation**:
   - Submit new `https://example.com/sitemap.xml` in Google Search Console.
   - Submit in Bing Webmaster Tools.
   - Submit in Yandex Webmaster.
4. Ordiko auto-pings IndexNow on every product/category mutation going forward.

## Step 9: Monitor and recover

For the first 72 hours, check:

| Surface                                    | What to watch                         |
| ------------------------------------------ | ------------------------------------- |
| Google Search Console → Pages              | Spike in 404s? Add 301s immediately.  |
| Google Search Console → Performance        | Click/impression dip ≤ 15% normal     |
| Bing Webmaster → IndexNow                  | Pings logged                          |
| Ordiko dashboard → SEO → Web Vitals        | LCP/INP/CLS green                     |
| Ordiko dashboard → SEO → Revalidation Events | No errors                           |

For unexpected 404s, add 301 redirects from `/seo/redirects`. For confirmed-deleted products, write 410 entries.

## FAQ

**Will I lose Google rankings during the migration?**
Not if you preserve slugs and 301-redirect any legacy paths that change. Migrations done in a single cutover with redirects in place typically see a temporary 5–15% organic dip for 1–4 weeks while Google re-crawls, then recover and often grow because the new Product schema is more complete.

**How long does a Shopify-to-Ordiko migration take?**
For a 1,000-SKU single-locale store: 2–4 hours for catalog import, 1–2 hours for redirect setup, 1 hour for theme work, plus DNS propagation. Larger or multi-locale stores: a day to a week of preparation, then a short cutover window.

**What happens to my Shopify customer accounts?**
Shopify customer records export via the Customers CSV. Ordiko imports them with hashed passwords flagged for reset — customers receive a password-reset email on their first login attempt. Order history can be imported via the Orders CSV but is read-only in Ordiko.

**Do I need to keep the Shopify store running during cutover?**
Run them in parallel for at least 24 hours. Use a subdomain (e.g. new.example.com) for Ordiko while testing, then swap DNS. Keep the Shopify subscription active for 7 days post-cutover as a safety net.
