Skip to content
Back to blog
5 min read

Moving WooCommerce to headless without losing your rankings

Team planning a website migration with sticky notes on a glass wall

Short answer: keep WooCommerce exactly where it is, build the new storefront next to it, and treat the URL list as a contract. Every address that has traffic or links either stays the same or gets a permanent redirect to its new home, written down before launch. Launch by switching the domain to the storefront, then watch Search Console daily for the first weeks. Rankings dip when pages, titles or links go missing, not because the site became headless.

This is the migration plan we follow, in order. It assumes an existing WooCommerce shop that already ranks and sells, moving to a Next.js storefront over the same WooCommerce.

Why shops lose rankings in a replatform

Search engines rank pages, not platforms. When a relaunch loses traffic, the cause is almost always one of these:

What went missingHow it shows up
URLs changed without redirectsOld pages return 404; links from other sites stop counting
Content left behindCategory descriptions, FAQs or blog posts not rebuilt on the new site
Titles and descriptions resetThe storefront renders its own defaults instead of the SEO plugin’s fields
Structured data droppedProduct, breadcrumb and review markup missing, so rich results disappear
Pages rendered only in the browserCrawlers see an empty shell or wait for JavaScript
Internal links thinned outNew navigation or filters no longer link to deep categories
The CMS address gets indexedThe WordPress domain shows up in search next to the real one

Headless does not cause any of these. A rushed migration does, on any platform.

Step 1: inventory every URL that matters

Pull URLs from four places and merge them: your sitemap, Search Console pages with impressions over the last 16 months, analytics landing pages, and the pages other sites link to. Add product, category, tag, blog, author and filter URLs. Filtered and paginated URLs are where surprises live, so list the ones that actually get traffic.

Step 2: decide keep or redirect, one row per URL

Keeping the address is always the safest choice. Product and category URLs can usually stay identical because the storefront can mirror WooCommerce’s permalinks. Where a URL has to change, it gets one permanent (301) redirect straight to its final destination, not a chain.

We keep every redirect in one file in the storefront’s code, reviewed like any other change. When we moved our own site from a Romanian WordPress theme to an English Next.js front end, the old Romanian addresses and the old /en/ prefix were all mapped in that single file before launch. The rest of that rebuild is in our own case study.

Step 3: carry content and metadata across, not just design

The storefront should read titles, meta descriptions, canonical URLs and schema from the SEO plugin in WordPress, so editors keep one place to change them and nothing resets at launch. Check the pages that rank best by hand: same heading, same body copy, same FAQs, same images with alt text. If the design changes, the content that earned the ranking should not.

Step 4: build and test on a staging address

  • Staging is blocked from indexing, with a noindex header rather than only robots.txt.
  • Every page is rendered on the server, so a crawler gets full HTML without running JavaScript.
  • Crawl staging with a desktop crawler and compare it with a crawl of the live site: status codes, titles, canonicals, word counts, internal links.
  • Test every redirect in the list against staging and fix any that land on a 404 or chain.
  • Render every customer email with a real order and check that no link points at the WordPress address.

Step 5: launch by switching the domain

Because the storefront was built next to the live shop and reads the same WooCommerce, launch is a DNS or proxy change, not a data migration weekend. Orders placed during the switch land in the same WooCommerce either way. Straight after the switch: remove the noindex from the storefront, keep it on the WordPress address, submit the new sitemap, and purge the CDN.

Step 6: the first eight weeks

WhenWhat to check
Launch daySitemap submitted, robots.txt correct, a sample of redirects returns 301 to the right page
Daily, first two weeksSearch Console coverage and 404 report; fix new 404s with redirects the same day
WeeklyImpressions and positions for your top 50 pages against the pre-launch baseline
WeeklyCore Web Vitals for the main templates in the field data
Week eightCompare traffic and revenue from organic search with the same weeks last year

A small wobble in the first two weeks is normal while search engines recrawl. A drop that lasts is a signal that something from the first table went missing, and the reports above tell you which.

What to decide before you start

Migration is one of the twelve decisions we settle before estimating a headless WooCommerce build, together with checkout, accounts, search and emails. The bigger picture is in our guide to headless WooCommerce.

Frequently asked questions

Will moving WooCommerce to headless hurt my SEO?

Not if every URL is kept or redirected, content and metadata are carried across, and pages are rendered on the server. Traffic drops after a migration come from missing pages, titles or redirects, not from the headless architecture.

Can I keep my WooCommerce product URLs when going headless?

Usually yes. The storefront can reproduce WooCommerce permalinks for products and categories, which is the safest option. Only URLs that must change get a permanent redirect.

Do I need to migrate my orders and customers?

No. In a headless build WooCommerce stays the database, so products, customers and order history stay where they are. Only the front end is replaced.

How long do rankings take to settle after a headless relaunch?

A short fluctuation over the first one to two weeks is normal while search engines recrawl. Anything lasting longer points to a specific problem, such as a missing redirect or reset titles, that the Search Console reports will show.

Should the old WordPress site stay online?

WordPress stays online as the back end, but its address should send a noindex header and never appear in the storefront’s pages, images or emails.

Share this article