Published:  25th Feb 2021

Wordpress Site Migration

WordPress Site Migration: Headaches To Avoid

Recently I was asked by a customer what to look for when moving a website away from Wordpress. There is a lot to consider but since their goal was to make sure they maintain as much SEO rankings as possible - from the SEO perspective it is simple.

The most critical thing to consider is maintaining as much of the old structure as possible while minimizing the on-page content changes and URL changes - especially for media like images.

TLDR Version

Make sure your new sitemaps are clean so Google knows all of the new site's pages. Manually resubmit them to Google through Google Search Console.

Make to do doing proper one-to-one redirects and monitoring 404 errors logs.

The worse thing you can do is leave everything up to chance and hope Google figures it out.


1. The most important question you should ask yourself is WHY?

Why are you migrating? Did some marketer/programmer/nutcase tell you to go to React/Ruby on Rail/Ghost or some new technology cause it's FUN? Or is there a business reason that's reasonable in doing the transfer?

There should be a situation where you are going to guarantee that making the switch away from WordPress or the current CMS is going to increase revenue. If not it's what I call a "No Money Project", and it could be a programmer thinking this new shiny object is "cool".

For example, if you are switching cause you are creating a marketplace to sell XYZ services and since WordPress is just a blog software, then that makes sense. If you are switching cause a programmer thinks it's a "cool idea", it's a "No Money Project".

The reason I am saying this is that a site migration can take up to 1 year to recover if done well, it can take 2 weeks if done perfectly - which I rarely see. Or it can tank a site for years if done poorly and NEVER recover.

If you got 100 visitors a day coming in from Google, then it's not a big deal. But if you got 10,000 visitors a day coming from Google, ask yourself can you afford to lose 70-80% of that traffic for 1 year until your site fully recovers?

Shocked Look

Are you confident in the person that's managing the migration's ability to make sure you don't lose your SEO rankings? Have they done it before, and shown you examples of what the SEO recovery looks like?

Maintain URLs

2. Make sure all the new URLs stay exactly the same.

2A. HOWEVER IF you have to change URLs, try to minimize the impact. Use 301 redirects on the pages you have to update the URLs.

Make sure to do this at the .htaccess level or nginx config. Never rely on a plugin or some other software for this type of site migration since 3 to 4 years from now you might forget and delete the plugin or it fails and then old AGED backlinks created will start going to 404 errors.

Your currently AGED backlinks are a key to your domain authority and power, so the redirects need to be correctly done 301 redirects:

Nginx & Apache2: How to Create 301 Redirection on Nginx and Apache

BuSo: How to do a page-by-page 301 redirect

404 Errors

3. MONITOR your 404 errors.

At SERPWoo we monitor every time a user lands on our 404 error page:

404 error Page

Whenever a user hits that page or get an internal error it gets logged into a Slack channel:

404 error Slack Channel

If it's 1 or 2 visits a week that's some user trying to type in a URL wrong.

However, if you are getting dozens or hundreds of hits to your 404 error page, it can be a misspelling of an important URL. It might be from internal pages on your site OR from an external source that IS still sending traffic to that URL.

Fix the link or get a 301 redirect in place.

Google Search Console (Coverage Tab) has a section for 404 errors - this is the worst-case scenario:

Google Search Console (Coverage Tab)

If Google is getting 404 errors then it WILL drop those pages' rankings and the impact can last up to 30 days. I've seen situations where domains were not properly renewed and the bounce back took 30-60 days. You don't want Google to be the one telling you about the 404 errors.

At SERPWoo we use a JavaScript script that sends an AJAX signal that writes to the 404 error Slack channel (Slack API). So when a user or even bot hits that screwed-up page we fix it right away.

Get creative, you can have the AJAX script send you an email every time for example. Another idea is to have a programmer create a script that sends you the 404 errors at night off of the server logs. Slack is the fastest and has been the most user-friendly solution for us.

The Content

4. The content make-up of your pages should stay should be 80% and more the same.

The titles of your pages should stay relatively the same.

What I mean by this is when doing site migrations sometimes the new CMS will change the Title From "Help Center |" to "Help Center For Awesome SEO Tool - SERPWoo". That's a weak example, but it can go to the extremes.

The content of the pages should stay the same. I am repeating it since it's important!

When too many important elements on a page update: Title, H1, H2, H3, meta descriptions, length of content, or new content, Google WILL re-evaluate the page.

This will result in a drop in rankings for 24 hours to about 3 days. However, this re-evaluation period can last up to 2 weeks or 3 months.

Huge site migrations that change the structure of a website can take up to a year to recover to their pre-migration numbers! Again this is why the "WHY?" is so important.

To avoid a ton of this, the content, title, and URL structures - INCLUDING image URL should stay exactly the same on the new site.


5. EVERYONE overlooks images redirects, yet images are a huge part of your content, which means that's how Google understands what's going on within the page.

Now doing image redirects is a bit difficult to do on WordPress since the structure of images is usually:

They have the /wp-content/ folder and WordPress structure.

You can do one of two things, simply copy the whole /wp-content/uploads/ folder into the root of the new location, so all your images stay the same and screw the attempts at redirecting the old image paths.

OR you'll have to do directory level redirects:

Let's say your new image folder is /images/. You will redirect /wp-content/uploads/ to /images/ within your Apache2 .htaccess/nginx config file. I would recommend manually updating your file path of all images within all of your content (very tedious).

Then you would verify the images 301 redirect work perfectly by visiting the old image URL and making sure you go to the new image URL.

This method corrects the URL paths so they are perfect going forward while at the same time letting Google see the 301 redirects for the images so you don't lose your image rankings.

Rank Tracking

6. Monitoring your rankings with a rank tracker in a project for the migration (Project Wizard Help).

Let's say you've got 10,000 keywords that are your money makers, throw them into a rank tracker project under "SITE MIGRATION", then input your domain to monitor their position. Do this 1-2 weeks before the site migration is scheduled.

Once the site migration starts note the exact date, make sure your alerts are set to the most sensitive (Adjust Alerts), 1 position.

Breathe, because YOUR RANKINGS WILL DROP the first couple of days.

Don't panic, you should start seeing the overall project increase back to proper levels in a couple of days up to 2-4. weeks.

Wordpress Site Migration Pattern

The above is an example of a site that took about 30 days to recover its rankings.

That means the person that migrated the site knew their stuff (me of course). You shouldn't be getting any 404 errors if each page's redirects were correct - but monitor them.

If you have any questions about the above or have topics you want us to talk about just let us know!

To the top of the SERPs,


Ready to get started?

Get in touch or create an account.