Migrating off WordPress without losing your rankings
A WordPress-to-static migration checklist: URL mapping, 301 redirects, content, email, monitoring, and the mistakes that sink traffic.
A botched migration costs months of traffic. I’ve seen sites lose 60% of their visits within two weeks of a platform change — always for the same reasons, and always avoidable.
The good news: migration traffic loss is almost never caused by the new technology. It comes from broken URLs and forgotten redirects. Here’s the method I follow, in order.
First: should you migrate at all?
A serious question, worth asking before spending anything.
Migrate if your site is slow despite optimisation, you’re paying significant maintenance, it has already been hacked, or you’re stuck on a theme nobody maintains.
Don’t migrate if your site works fine and you’re mainly chasing novelty. Migration carries non-zero risk. If your WordPress is clean, fast and up to date, the money is better spent on content and SEO.
Definitely don’t migrate right before your busy season. Schedule the switch for a quiet period.
Step 1 — Complete inventory
The dullest step and the one that decides the outcome. You need an exhaustive list of what exists.
Every URL. Crawl the site (Screaming Frog’s free tier covers 500 URLs) and export the full list. Add what the crawler won’t see: orphan pages, old posts unpublished but still indexed.
The pages that matter. In Google Search Console, export pages by clicks over 12 months. Typically 10–20% of URLs drive 80% of traffic. Those are the ones you must not break.
Inbound links. Still in Search Console, under Links: which external pages point at you, and at which URLs? A page with inbound links has value you cannot recreate.
Media. Export the whole library, not just visible images: PDFs, documents, old versions.
What your plugins actually do. Contact form, booking, gallery, multilingual — list every feature in use and what will replace it. This is where you discover a plugin was quietly handling something nobody mentioned.
Step 2 — URL mapping
The heart of the job. A two-column table: old URL, new URL.
The golden rule: if you don’t have an excellent reason to change a URL, don’t. The best redirect plan is the one you didn’t need.
When a change is unavoidable, each old URL should point to the closest equivalent page. Not the homepage: a mass redirect to the homepage is treated by Google as a soft error, and you lose the link value.
Watch for WordPress structures with no natural equivalent:
- Category and tag archives
- Date archives (
/2023/07/) - Pagination pages (
/page/2/) - Author pages
- Attachment pages, which WordPress sometimes exposes as standalone URLs
Decide for each: recreate, redirect, or accept a 404. A page with no traffic and no inbound links can legitimately disappear.
Settle two technical points early: trailing slash or not, and www or not. Pick one rule and apply it everywhere, or you create duplicate content.
Step 3 — Content
The WordPress export produces HTML. Converting it cleanly takes care.
What usually breaks: proprietary Gutenberg blocks, plugin shortcodes ([contact-form-7 ...] becomes literal text), tables, galleries, and internal links written as absolute URLs pointing at the old domain.
What you must not lose: existing SEO titles and descriptions (usually in Yoast or Rank Math), image alt text, original publication dates, canonical URLs.
It’s also a good moment to prune. A site with 200 posts of which 150 get no visits doesn’t need 200 posts migrated. Check the data first — a post with no traffic but real inbound links is worth keeping.
Step 4 — Staging
Never migrate straight to production.
Build the new site on a temporary address with indexing blocked (noindex or password protection). A staging site indexed by Google creates a complete duplicate of your site, and it’s painful to undo.
On staging, verify:
- Every page in the mapping exists and shows the right content
- Forms actually send, and the email arrives (test it, don’t assume)
- Structured data passes Google’s test
- Social sharing previews render
- Mobile rendering on a real phone
- Internal links no longer point at the old domain
Step 5 — The switch
Lower your DNS TTL to 5 minutes, 24–48 hours beforehand. Without this, rolling back can take hours to propagate.
On the day, in order:
- Remove the indexing block from the new site
- Activate all 301 redirects
- Point the DNS
- Confirm the old site is no longer being served
- Check the HTTPS certificate
- Manually test your 20 most important URLs
- Submit the new sitemap in Search Console
Don’t cancel the old hosting immediately. Keep it at least a month: it’s your safety net, and it holds whatever you forgot to export.
A classic trap in Morocco: email. If your @yourdomain.ma addresses are hosted with the same provider as the site, changing DNS can cut off your mail. Check your MX records before, not after.
Step 6 — The following four weeks
Week 1: check crawl errors daily in Search Console. A few 404s are normal — usually old URLs the crawler missed. Add the matching redirect.
Weeks 2–4: watch rankings and traffic. A 10–20% fluctuation over two to three weeks is common while Google recrawls and reassigns signals. Beyond that, or if the decline deepens after a month, something is genuinely wrong.
Usual causes of a lasting drop: missing redirects on high-traffic pages, a noindex left over from staging, a robots.txt block, or canonicals still pointing at the old domain. Check those four first.
The costliest mistakes
- Redirecting everything to the homepage. Treated as a soft error; link value lost.
- Using 302 redirects. A 302 is temporary and doesn’t pass the signal durably. Use 301.
- Forgetting noindex on staging. Duplicate site in the index.
- Not testing forms. Weeks of lost enquiries before anyone notices.
- Migrating before peak season.
- Killing the old hosting too early.
- Forgetting email.
Time and cost
A 10–15 page brochure site: one to two weeks, half of it preparation and checks.
A site with 100+ posts: three to five weeks, most of the time going into content rework and mapping.
A proper migration usually costs 40–70% of an equivalent new site. If a provider quotes a fraction of that, ask to see their redirect plan — it’s the line item that gets cut when prices are slashed, and precisely the one protecting your traffic.
Thinking about leaving WordPress? Send me your site URL — I’ll look at its structure and tell you honestly whether migrating is worth it.
See also: the website redesign page, which details the full method, and the WordPress vs Astro comparison.
Services related to this article
- Website Redesign in Morocco — WordPress Migration Modernise a slow, dated or unmaintainable site without losing the rankings you already earned.
- Local SEO in Morocco — Google Maps & Local Search Show up when a customer searches for your service in your city, on Google and on Maps.
- Brochure Website Design in Morocco — 3,500 MAD A clear site that presents your business and prompts contact, without unnecessary complexity.