What actually goes wrong in a migration
Rankings fall after a platform move for one main reason: the old addresses stop working and nothing tells Google where the pages went. A new platform gives you new URL patterns. Every page that earned its ranking at an old address must send visitors, and Google, to its new address.
The second cause is quieter. The new site launches with thinner pages. Descriptions got shortened in the import, titles reset to defaults, category intros disappeared because there was no field for them. The new pages are live and fine, but they are weaker than what they replaced.
The third cause is technical leftovers: a staging site that was indexed, a robots file that blocks everything, a missing sitemap submission, or a redirect chain that wanders through three addresses.
None of these is exotic, and all of them are preventable. A move to Shopify is also a chance to fix old weaknesses, as long as you protect what already works first. If you are weighing whether to do this yourself or bring someone in, read how to hire a Shopify SEO expert. A migration is one of the moments where an experienced person pays for themselves.
Expect a dip anyway. Even clean migrations often see a temporary wobble in traffic for a few weeks while Google re-processes the site. The goal is a short, shallow dip and a full recovery, not zero movement.
Inventory every old URL, map each to a new one, load the redirects before launch, keep the content at least as strong, and watch Search Console closely afterwards.
The plan, in order
Migrations go wrong when steps happen out of order. This is the order that works.
1. Inventory the old site. Crawl it and export every URL. Include products, categories, blog posts, pages, images and PDFs.
2. Rank the pages by value. Pull clicks and impressions from Google Search Console for the last 12 months, and links from any backlink tool you have. Mark the pages that earn traffic or links. Those are the ones you must not lose.
3. Decide what carries over. Some old pages are dead weight: duplicate tag pages, empty categories, expired promotions. You do not have to migrate them, but you must decide where their addresses go.
4. Build on Shopify with staging. Use an unpublished theme and a protected preview so the build is not indexed.
5. Map every old URL to a new one. Covered in the next section.
6. Move content and check it. Titles, descriptions, headings, alt text, intros.
7. Test redirects and launch. On staging first, then live.
8. Watch and fix. Weeks of Search Console monitoring.
The timeline below marks the four moments where the work concentrates. Notice that two of them happen before anyone sees the new site.
Mapping old URLs to Shopify URLs
This is the heart of the job, and it is a spreadsheet, not a clever trick.
Shopify's address structure is fixed. Products live under /products/, collections under /collections/, pages under /pages/ and blog posts under /blogs/. You can control the last part of each address, the handle, but not the prefix. If your old site used addresses like /shop/mens/linen-shirt, those cannot be reproduced as they were. They need to be redirected. See Shopify URL structure for how the fixed paths work.
Build the map
Make two columns: old address, new address. Fill in one row for every old URL that matters, starting with the pages from your value list. Where you can, keep the handle the same as the old last segment. Then the mapping is predictable and easy to check.
Map each old page to the closest equivalent, not to the home page. A product that no longer exists should point to its closest alternative or its collection. Sending thousands of old addresses to the home page looks like a soft error to Google, and it does not pass the page's strength along.
Also include variants of the old addresses that were in use: with and without a trailing slash, with tracking parameters you want to preserve, and old versions of the domain such as non-www.
Keep the map. It is your reference when something looks wrong in Search Console three weeks later.
Loading redirects with Shopify
Shopify has a built-in URL redirects tool in the admin, under the online store's navigation settings. Each redirect is a pair: path to redirect from, and where to send it. These are permanent redirects, the kind that tell Google the move is final. Our glossary page on 301 redirects on Shopify explains what that means.
Bulk import
You do not enter hundreds of redirects by hand. The tool accepts a CSV file with two columns, Redirect from and Redirect to. Paste your map into that format and import it. Redirects are written as paths, such as /shop/mens/linen-shirt, not full web addresses.
Rules to follow
Avoid chains. If A redirects to B and B redirects to C, point A straight to C. Avoid loops. Avoid redirecting to a page that itself no longer exists.
Shopify applies a redirect only when there is no live page at the old address. If a path on your new store already holds a page, the redirect will not trigger. Check for overlaps, such as an old /pages/about that now exists with different content.
If your old site used a different domain, the domain change is handled separately at the domain level by connecting the old domain to the store and forwarding. Keep the old domain registered for years.
Redirects are not free forever. They are the bridge. Keep them in place for at least a year, and for pages with strong links, indefinitely.
Carry the content, not just the addresses
A redirect passes strength to the new page only if the new page is a fair replacement. Google compares the two. If the old page was a rich 800-word category intro and the new one is an empty grid, the ranking can fall even though the redirect works.
Check these on the new site, page by page for the valuable ones:
Page titles and meta descriptions. Imports often reset them. Copy the old ones across, improving them only where the old ones were clearly weak. Changing too much at once makes it hard to know what caused any drop.
Headings. Keep the main heading wording close to the original.
Body copy. Category intros and product descriptions should come across in full. Shopify's collection description field takes the place of a category intro.
Image file names and alt text. They often get lost or renamed.
Internal links. Links inside content that pointed to old addresses should now point straight to new ones. Redirects work, but direct links are cleaner and faster. Read internal linking on Shopify for what to preserve.
Structured data. Product markup should carry across with a theme that outputs it. Review data may need your review app reconnected.
Where something cannot come across, such as a feature the old platform had, write that down and plan a replacement.
Launch day checklist
Launch is a short list of checks, done in order.
Before the switch: confirm the new theme is the one you meant to publish, the redirect file is imported, and a few dozen old URLs from your map redirect to the right place. Check the store's password protection is off. A password-protected storefront blocks search engines.
Check the robots file. Shopify generates a standard robots.txt that blocks internal and checkout paths and allows the rest. If you customized it on the old site, do not copy the old rules across blindly. Our page on robots.txt on Shopify shows the default.
Check indexing settings. Make sure no page you want ranked carries a noindex tag. Theme and app settings sometimes add one during build.
After the switch: the sitemap lives at /sitemap.xml and Shopify keeps it current. Submit it in Google Search Console. If you changed domains, add the new domain as a property and use the change-of-address tool on the old one. See sitemaps on Shopify.
Test live: click through the top fifty old URLs. Confirm each reaches the right page in one hop. Test on mobile.
Update outside links you control: social profiles, email signatures, Google Business Profile, ads, marketplace listings, and the links from partner sites you can ask.
Launch early in the week and avoid your peak season if you can, so there is time to fix problems.
The weeks after launch
The work does not end at launch. This is where you catch what you missed.
Week one. Open Search Console daily. Look at the Pages report for new "Not found (404)" errors. Each one is an old address that had no redirect. Add it to the redirects tool. Look at "Crawled, currently not indexed" and "Discovered, currently not indexed" and note which page types appear.
Weeks two to four. Compare clicks and impressions for your top pages against the same period before launch. Expect movement. A drop of a modest size that is recovering is normal. A steady slide on a group of pages means something was missed for that group, such as thin descriptions or a redirect pointing at the wrong target.
Months two and three. Rankings should settle. Look for pages that lost ground and compare them to their old versions. Restore the lost content where you can.
Keep the old crawl export. If a page is behaving oddly, compare the old and new page side by side.
Keep records of what you changed and when. If you later hire help, the notes save hours. The Shopify SEO audit page explains what a thorough check of the new store looks for, and the Google Search Console entry covers the reports above.
If the store was slow before and the new one is fast, that can help. If the new store has acquired many apps, check that speed has not gone the other way.
Use the move to fix old problems
A migration is the cheapest time to clean up, because you are touching every page anyway. Resist doing it all in one go, but a few improvements are low risk.
Merge duplicate or near-duplicate products and categories, redirecting the extras. Remove thin tag pages. Shorten long, ugly handles where the page has little traffic. Fix broken internal links. Replace manufacturer descriptions on your top products. Add the missing alt text.
Keep the changes to pages you protect modest. Pages that rank well should move as they were, with titles and key copy intact, so that any drop can be traced to the platform and not to your edits. Improve those pages in a second phase, a month or two after things settle.
Decide what you will leave out. Old pages with no traffic, no links and no purpose can be redirected to a relevant parent and retired. Fewer, better pages is a good outcome.
One more consideration: Shopify may handle some things for you that the old platform did not. It writes canonical tags, builds a sitemap, serves images quickly and generates clean mobile pages. You do not need to recreate hand-built fixes for those. Our page Is Shopify good for SEO? lists what it covers and where it limits you.
Migration mistakes that cost the most
A few errors account for a large share of lost traffic after a move.
Redirecting everything to the home page. It is fast to set up and it throws away most of the value. Map to the closest equivalent.
Launching with the staging site indexed or the live site blocked. Check both the password setting and the robots file on launch day.
Changing too much at once. New platform, new design, new titles, new URLs and new copy all together make it impossible to tell what caused a drop. Move first, improve second.
Dropping pages that had links. A page with no traffic can still hold links from other sites. Check before you retire it.
Forgetting non-page files. PDFs, images and old landing pages sometimes carry traffic. Include them in the inventory.
Not keeping the old site's data. Export your Search Console data and your crawl before the old site goes away. You will want it for comparison.
Where RunOctopus fits after a move
RunOctopus does not move your store or build your redirect map. It is a done-for-you service for the content work that comes after, and for the long run of publishing that makes a new site grow. Its AI, Ollie, researches your business and writes and publishes pages directly on your own site.
It works with Shopify, WordPress, WooCommerce and Wix. You install, approve, upload and schedule nothing. In week one you get 8 long-form articles, 6 pages and a custom interactive tool for your niche, then 175+ pieces of content a month, written, published and linked. Reports show where ChatGPT, Perplexity, Claude and Gemini name your business. Results are measured against the 90 days before you joined, and if visibility is not up, you get every dollar back.
You can see what Ollie would do for your store before spending anything. Paste your address into the free site read. Ollie reads the site and shows you the plan. There is no account and no call.