Migrating from WordPress step by step
Leaving WordPress doesn’t have to cost you traffic. Here’s how to inventory your content, build a URL map and 301 redirects, test the new site before switching the domain, and what to watch in the first weeks after launch.
A WordPress migration rarely fails because of technology. It fails on details: forgotten pages, changed URLs with no redirects, images linked from folders that no longer exist. The good news is that all of these problems are predictable. This guide walks you through the whole process step by step — from a content inventory, through a URL map and 301 redirects, to the SEO checks that matter in the first weeks after launch.
Key takeaways
- A WordPress migration starts with a complete URL inventory, not with picking a theme.
- A URL map is a spreadsheet that pairs every old address with its new one; without it, 301 redirects are guesswork.
- Each 301 redirect should point to the closest equivalent content, never to the homepage by default.
- Redirects, forms, meta tags and tracking should all be tested on staging before the domain is switched.
- Ranking fluctuations right after a move are normal; a sustained traffic drop on specific URLs is the real warning sign.
When migrating from WordPress makes sense
WordPress is a capable tool, but over time many business sites accumulate a dozen or more plugins. Each needs updates, each can conflict with another, and some quietly stop being maintained. A move is worth considering if at least two of these sound familiar:
- plugin updates regularly break something, so you keep postponing them;
- the people editing content are afraid to touch layouts in case something falls apart;
- basics like SEO, forms, multilingual content and redirects each depend on a separate, often paid, plugin;
- the site is slow, and speeding it up means adding yet another caching layer;
- hosting and backups depend on one person who “knows how it works”.
Migration is not a goal in itself. Before you start, write down in two or three sentences what should improve: speed, security, editing experience or running costs. You will come back to that list when you sign off the new site.
Step 1: Build a content inventory
A content inventory is a complete list of everything on your current site: pages, posts, files and any URL that earns traffic or links. Don’t rely on the menu — a WordPress site almost always has far more URLs than its navigation shows. Useful sources:
- the XML sitemap (usually /sitemap.xml or /sitemap_index.xml) for pages, posts, categories and tags;
- a crawler such as Screaming Frog, which finds URLs missing from the sitemap and old internal links;
- Google Search Console, whose Performance report shows which URLs actually earn impressions and clicks;
- Google Analytics for pages with traffic and conversions over the last 12 months;
- the WordPress export (Tools → Export), which gives you the full text of posts and pages as XML.
Pull everything into one spreadsheet. For each URL, record the content type, traffic, inbound links if you have the data, and a decision: keep, merge or retire. This is the right moment to tidy up — years-old news items and empty tag archives usually add nothing but noise.
What people miss
- campaign landing pages, “thank you” pages after forms, and members-only pages;
- PDFs and other attachments that external sites link to;
- content generated by plugins (portfolios, job listings, FAQs), which needs to be rebuilt as proper structured content;
- shortcodes inside posts, which turn into unreadable bracketed fragments after export.
Step 2: Design the new content structure
WordPress splits everything into posts and pages, with plugins and custom post types bolted on. When you migrate, design the structure afresh instead of copying it one to one. Ask three questions:
- Which repeatable content types do you have? Articles, case studies, team members, job openings, products.
- Which fields does each type need? Title, lead, main image, date, category, related services.
- What URL should each type live under? For example /blog/{slug} or /case-studies/{slug}.
Well-designed content types mean editors fill in a form with defined fields instead of hand-building every entry. Read more about content structure in LessCMS.
Step 3: Create a URL map
A URL map is a spreadsheet with two columns, old URL and new URL. It is the single most important document in the whole project. Every URL from your inventory that had traffic or links needs a row.
- Keep URLs where you can. If the new structure allows the same slug, use it — the safest redirect is the one you never need.
- Redirect to the closest equivalent, not the homepage. A retired service post should point to that service page, not to “/”.
- Avoid chains. If an old URL already redirected somewhere, map it straight to the final destination.
- Cover the variants: trailing slash or not, legacy parameters (?p=123), category archives and pagination.
Step 4: Move content and media
If you are migrating from WordPress with only a dozen pages, moving content by hand is simplest — and a chance to fix headings and trim bloated paragraphs. With hundreds of posts, convert the WordPress XML export into a CSV whose columns match the fields in your new system, then import it into a collection.
Media needs its own pass. Download wp-content/uploads, remove duplicates (WordPress stores several resized copies of each image) and upload the originals. After import, check that no content still references old image paths.
Step 5: Redirects and SEO
A 301 redirect tells browsers and search engines that a page has moved permanently, so Google transfers its signals to the new URL. Once content is in place, load the redirects from your URL map. Then recreate what your SEO plugin used to handle:
- meta titles and descriptions — carry them over from the export, or rewrite weak ones;
- the XML sitemap and robots.txt;
- structured data, if you used it;
- image alt text;
- internal links — update them to the new URLs rather than relying on redirects.
Step 6: Test before switching the domain
Before you finish migrating from WordPress and touch DNS, run this checklist on the staging version:
- Spot-check a few dozen URLs from the map — each should return a 301 and land directly on its target.
- Crawl the new site for 404s and links pointing at old URLs.
- Submit every form: do submissions arrive, and does spam protection work?
- Compare titles and descriptions of your key pages against the pre-migration state.
- Check tracking (GA, GTM) and the cookie consent banner.
- Review the site on a phone, a tablet and a desktop.
Step 7: SEO after migration — the first weeks
After the switch, submit the new sitemap in Google Search Console and watch the indexing report. For the first few weeks, check 404s regularly and add any missing redirects. Some ranking fluctuation right after a migration is normal; what should worry you is a sustained drop on specific URLs. If you see one, go back to the map and check the redirect lands on the right page.
Common WordPress migration mistakes
- redirecting every old URL to the homepage;
- launching with the staging site’s noindex setting still switched on;
- deleting content with external backlinks and no redirect;
- changing domain, structure and content all at once, leaving no baseline to compare against.
Moving to LessCMS: we can do it for you, or you can do it yourself
If you’d rather not run the process yourself, the LessCMS team will migrate your site for you — it’s a service we provide, not a self-service tool in the dashboard. If you prefer to do it yourself, LessCMS has what the steps above need built in:
- collections with custom fields, URL patterns like /case-studies/{slug}, automatic list pages and sitemap entries, plus CSV import;
- 301 redirects in the dashboard with CSV import and export, and changing a slug creates a redirect automatically;
- built-in SEO: server-side rendering, automatic sitemap and robots.txt, and meta tags per page, entry and language — no plugins;
- a test subdomain for checking everything before you connect your own domain, which gets SSL automatically.
See SEO in LessCMS for details.
Frequently asked questions
How long does a WordPress migration take?
A WordPress migration for a small business site usually takes anywhere from a few days to a few weeks. Most of the time goes into the inventory, the URL map and testing rather than moving the content itself. A large site with hundreds of posts and several content types takes proportionally longer.
Will migrating from WordPress hurt my Google rankings?
A well-executed move away from WordPress should not hurt rankings in the long run. Short-term fluctuations are normal while Google reprocesses your URLs. Lasting drops almost always come from missing or incorrect 301 redirects, or from deleted content.
Can I keep the same URLs after a WordPress migration?
Yes — if the new system lets you set the same slugs and URL patterns, keeping them is the safest option. You then only need redirects for URLs you deliberately change or retire. Remember to handle trailing-slash variants as well.
How do I export posts from WordPress to another CMS?
Most people use the WordPress XML export (Tools → Export) and convert it into a CSV whose columns match the fields in the new system. For a handful of posts, copying content by hand is often faster. Either way, check shortcodes, images and internal links after the import.
Can someone migrate my site from WordPress to LessCMS for me?
Yes, the LessCMS team migrates sites on behalf of clients — it is a service, not a self-service tool. You can also handle the move from WordPress yourself using collections, CSV import and 301 redirects in the dashboard.
Compare plans on the LessCMS pricing page — no setup fees and no fixed-term contract.