The facts about WordPress migrations: Back in May 2020, I had a call out-of-the blue from someone I’d met at a pre-lockdown networking event. One of their friends was having website issues and needed my help. They were a small but essential business in South Wales, still open during the lockdown; their website was being held hostage but their current marketing company and they wanted me to ride in on a white horse and rescue it, so to speak.
To cut a long story short, I was able to successfully migrate the site on the same day. There are several types of website migrations that I’ll explain in more detail, but this turned out to be a migration where I didn’t have access to the hosting account (which poses its own problems)
Ever since that day last year when I did the urgent rescue, I’ve somehow ended up doing over 35 more website migrations in the months that followed. I didn’t initially offer this as a service, but it’s definitely something that has been in high demand.
This article is everything you need to know about moving your website from A to B. There are quite a lot of variables, so expect this to be a long article.
Please note this does not cover migration of emails, as that’s a different process entirely. I always advise that your business emails are handled by a professional business email providers like Google or Microsoft and never bundled together with your web hosting.
Different Types of WordPress Migrations
Moving to a new host with FTP and Database access
Yes! This is absolutely the ideal way to move from one hosting company to another. In this type of migration, a website technician or developer will roughly follow this process:
- Take a copy of the DNS zone and update the DNS Zone on the new hosting account – this is vital so that any custom MX, TXT or other DNS entries are still there after changing nameservers later on.
- Take a copy of the entire database using PHPMyAdmin
- Download the entire WordPress directory using FTP or SFTP.
- Create a new database on the new hosting account, taking note of the database user details.
- Upload all the files to the public_html directory
- When the upload is complete, edit the config file with the new database details and remove any rules from the previous host (GoDaddy have a required file and other hosts may have their own configurations)
- Take a backup of the .htaccess file before restoring it to the default version.
- Edit your operating system’s hosts file to make the site accessible (only for you) on the new host via the same domain (SSL will not work at this stage)
- Login to WordPress and test the site, enabling the debug log to troubleshoot any potential errors
- Repoint the main nameservers and install the SSL certificate
Moving to a new host without S/FTP and Database access
This is still possible but not an ideal way to migrate a site from one host to another, depending on the size and complexity of the site in question.
There are two ways to do this, and both require you to be an ‘administrator’ of the site as you’ll need permissions to install a plugin.
With a Migration Plugin
There are several migration plugins that can do this, but it’s important to understand the difference between your website’s files and its database. Some migration plugins do one well, but not the other.
These migration plugins offer an ‘all-in-one’ solution, migrating both the files and the database at the same time. However, there are some issues with these plugins, namely:
1. Some of these plugins compress the entire site into a proprietary filetype, which can only be unpacked by the exact same plugin.
2. For large sites, this results in very large file sizes. Some hosts do not permit uploads above a certain file size, and even if they do, you’ll need enough knowledge to adjust some PHP settings yourself.
3. There are free and paid versions of all-in-one-migration plugins, sometimes the free versions have limited features.
However, I have successfully migrated a couple of sites using All in One Migration (the free version). This usually works best for small and simple websites.
Without a Migration Plugin
I use a service called ManageWP, which has a backup, restore and clone functionality. It also lets you download zipped versions of the files and database locally.
However, the ManageWP service also requires a plugin to work, and the backup feature costs $1 per month (you can cancel it whenever you want)
It’s possible to export a site using ManageWP, then import it to the new host without any plugins at all. This would be my preferable method of migration if I didn’t have direct S/FTP or database access.
Related: How to maintain a WordPress website
Migrating from WordPress.com to self-hosted
It’s very straightforward to migrate from wordpress.com to a self-hosted WordPress site. There are some things to consider, such as whether you have a free or paid-level wordpress.com account, if you’re going to be using the same domain name or a new one, etc.
WordPress has a built-in import and export tool, which you can use when your new hosting account is ready. Self-hosted WordPress sites have access to more themes and plugins, as well as loads of other benefits.
Many bloggers in particular will often start with a free wordpress.com blog before migrating when their blog begins to grow.
Migrating a non-WordPress site to WordPress
I hate to tell you, that it’s not really possible. The site can only be rebuilt using WordPress but it won’t be exactly the same. It’s the same for any CMS, you can’t move from one to the other without significant work.
Migrating any website to a new domain or URL structure
This needs careful management and expert oversight because there is a huge SEO impact to changing URLs without redirects. It’s absolutely essential that you put a lot of thought and planning into changing domain names or URLs. I’ve seen sites lose all their traffic overnight because of a botched domain migration. Don’t let this be you.
Other things to be aware of when migrating WordPress Websites
Existing hosting environments
All webhosts have different interfaces. Most commercial web hosts for small businesses will be using something familiar like cPanel or Plesk. But larger enterprises or experienced developers will have sites hosted in different ways.
Headless deployments of WordPress are becoming extremely popular. Google Hosting and AWS offer scalable cloud hosting services and there are also Managed hosting providers with proprietary interfaces.
Occasionally, I am contacted by clients with restrictive hosting, like GoDaddy or FastHosts, which all have proprietary interfaces and their own unique quirks I’ve come to get familiar with over time.
It’s important to know what you’re working with as some hosting companies restrict access to areas required to do a successful migration. If you host restricts access to your own database, files or DNS zone then consider finding a host who will give you access!
Most websites, prior to migration will have some out-of-date software. Websites without proper maintenance may be running on an outdated version of PHP, WordPress or have themes and plugins with depreciated functions.
Errors during or after import are likely, but easy to overcome with an unrestrictive, non-managed webhost.
Related: WordPress Best Practices
Potential downtime is highly unlikely during a straight-up A-to-B migration, due to the fact that nameservers are not changed until the very last minute. Nameservers propagate extremely quickly around the web these days, almost instantly, but thanks to DNS edge caching, it may take up to 24 hours for the changes to be fully visible to all users.
This doesn’t mean your site will go down, but some regular visitors may be looking up cached versions of your website’s nameservers, because their computer, modem or internet service provider keeps a cached record which is much more efficient than performing a fresh lookup each time. Sadly, this does mean that your DNS update won’t be visible to them straightaway, all you can do is wait.
Domain Name Registrations
Sometimes, the domain name is registered with a different company than the host (this is actually best practice to keep your domains and hosting separate!)
You must know exactly where the domain name is registered before starting. On occasion, small businesses do not register their own business domain name because an agency does it on their behalf. This can be really annoying when it comes to tracking down domain ownership!
I’ve encountered situations where the person who registered the domain name has changed careers, gone travelling, become otherwise reachable and it’s a real pain.
If you’re transferring domain ownership, you’ll need to either change the IPS tag (for .uk domains) or get an approval code before transferring it.
Config, .htaccess and Security Headers
It’s also important have understand the impact of these files and their contents, especially if custom rules have been added.
WordPress Migration Service
I offer a WordPress migration service and affordable web hosting for small businesses. Before starting any migration, I scope the project and gather all the required information that I’ve talked about in this article.
Key Points to Consider before starting any WordPress Migrations
- Where is the domain name registered?
- Who is the current host?
- What access do you have at the current host?
- Are there any special DNS zone entries?
- What’s the current technical configuration?
- Is the new hosting environment prepared?
- Is there a project plan in place for domain name or URL changes?