Migrating WordPress: to, from, or between environments — the complete plan
A WordPress migration is a move to or from WordPress, or a transfer between hosting environments, without losing your URLs, content, rankings or analytics history. That works with a fixed order: take inventory, map your URLs, build a staging site, transfer content, set up 301 redirects, test, go live, and monitor afterwards. Most problems don't come from the build itself, but from what gets forgotten along the way.
Why you'd migrate
There are two sides to this question. You migrate to WordPress because your current platform no longer fits, you want more content freedom, or you're moving away from an expensive custom build to something maintainable. You migrate from WordPress because your site has outgrown it — a webshop moving to Shopify, or a tool that really belongs in Lovable. If you're still unsure which platform genuinely fits better, read /en/wordpress/alternatives first before starting a migration.
Whichever direction it goes, the process itself barely changes. The risk sits in the same places: lost URLs, missing metadata, broken media, and a drop in search results you only notice weeks later.
What you must preserve, no matter what
| Element | Why it matters | What goes wrong if you forget it |
|---|---|---|
| URL structure | Determines whether external links and bookmarks keep working | 404s, lost link value |
| Content and media | The core of your site | Missing images, broken pages |
| Structured data (schema) | Rich results in search engines | Loss of star ratings, FAQ snippets, etc. |
| Analytics history | Comparing performance before and after | You can't measure the migration's impact |
| Rankings | Search visibility | Temporary or lasting drop in traffic |
| Meta titles/descriptions | Click-through in search results | Generic or duplicate meta text after migration |
Structured data and rankings are closely tied to how your site is technically built — read more on /en/wordpress/seo.
The step-by-step plan
1. Inventory. Map out which pages, posts, media, forms and integrations your current site has. Export a full URL list, including pages with low traffic that still carry link value.
2. URL mapping. Link every old URL to its new destination. This is the document most migrations fail on when it's skipped.
3. Build a staging environment. Build the new site on a non-public environment, separate from the live site, so you can test without risk.
4. Transfer content. Move text, images, metadata and structured data. Spot-check that nothing was dropped, especially with manual transfers.
5. Set up 301 redirects. Every URL in your mapping gets a permanent redirect to its new location. This is the most important step for preserving rankings.
6. Test. Walk through the site checking for broken links, missing images, forms that don't submit, and mobile display.
7. Go live. Switch DNS or routing at a low-traffic moment, and keep the old environment reachable for a while as a fallback.
8. Monitor after launch. Check the first weeks for crawl errors, traffic drops and error messages in Search Console.
The most common mistakes
- No redirect mapping. Without a complete overview of old-to-new URLs, you quietly lose link value and users land on 404 pages.
- Forgetting metadata. Title tags, meta descriptions and structured data are often not carried over automatically during a platform switch.
- Overlooking media. Images stored outside the content database, such as in a custom upload folder, are easy to miss.
- No before-and-after crawl comparison. Without comparing a crawl of the old and new site side by side, you only discover gaps when a user or Google reports them.
Example redirect mapping
| Old URL | New URL | Reason |
|---|---|---|
| /services/webdesign | /webdesign | Services restructured |
| /blog/what-does-a-website-cost | /website/costs | Content merged |
| /shop/product-a | /store/product-a | New webshop URL structure |
| /about/team | /about | Pages merged |
A compact site might need twenty rows, a large content site could need hundreds. Keep this document even after launch.
Realistic timelines
| Site size | Indicative timeline |
|---|---|
| Small site (up to 20 pages) | 1 to 2 weeks |
| Medium site (20-100 pages) | 3 to 6 weeks |
| Large content site or webshop | 6 to 12+ weeks |
These timelines are indicative and depend heavily on how much custom work, integrations and historical content need to be carried over. A migration to or from WordPress that also changes the structure takes longer than a simple hosting move. Read more about the WordPress side of this on /en/wordpress.
Frequently asked questions about migrating WordPress
Will I lose my Google rankings during a migration?
Not necessarily, as long as you set up 301 redirects correctly and content quality stays the same or improves. A temporary fluctuation is normal; a lasting drop is usually caused by missed redirects.
How long does an average WordPress migration take?
For a smaller site you can be live within one to two weeks; for a large content site or webshop, expect six to twelve weeks or more.
Do I always need 301 redirects?
Yes, for every URL that changes or disappears. It's the standard way to send search engines and users to the right new page without losing link value.
Can I migrate myself or do I need an agency?
Small, simple sites can be migrated yourself with the right preparation. For larger sites with lots of content, integrations, or a platform switch, guided support is usually faster and safer than finding out what you missed on your own.
What if I'm not sure WordPress is still the right platform?
Check the comparison on /en/wordpress/alternatives first before planning a migration, so you don't migrate the same problem into a different platform.
What's next?
Want to make sure your migration happens without losing rankings or content? Discuss your situation in a no-obligation call via /en/book-call — we'll look at the size of your site and the steps you'll actually need.
Continue reading about WordPress
Questions, or just want to spar?
We're happy to think along — call, email or drop by in the heart of Eindhoven.
