Move WordPress without downtime
You can move a WordPress site without interruption if you respect the order of steps: first transfer files and database, then test on the new server, and only then switch the DNS. At WWW4 we do that transfer for you; it is part of the hosting service and not a separate line on your invoice. You supply access to your current hosting, we do the rest.
WordPress has a few peculiarities that a plain file copy does not solve: the site URL in the database, the permalinks, cache plugins that remember the old address. Below you can read how we handle that and where it goes wrong in practice.
What we do, what you supply
A move goes most smoothly when it is clear in advance who does what. Most of the work is ours; from you we mainly need access and a few answers.
What WWW4 does
The complete transfer, from the first copy to the check after the DNS switch.
- Pull files, uploads folder and database from your current hosting
- Adjust wp-config to the new database and set new salts
- Check site URL, permalinks and cache on the new server
- Create mailboxes before the DNS switches, and check that forms arrive
- Set the PHP version that suits your theme and plugins
What you supply
Without these details we cannot start. Request them from your current provider in good time.
- Access to your current hosting: control panel or FTP and the database
- Access to the management of your domain name, or its transfer to us
- Which plugins and which theme you use, and whether licenses are attached
- A moment when you can check the new site yourself before the switch
After the transfer your site immediately runs on hosting with Redis object caching and with the Jaan Performance Engine, our own WordPress plugin for caching and images. It comes free with your plan and we install it along with the move if you wish.
How the move runs
Five steps. Your old site stays online the whole time; only in the last step does the outside world notice anything, and by then everything has been tested.
Inventory and access
We look at what is running: which WordPress version, which theme, which plugins, how large the media library and the database are, which mailboxes exist and whether there is a WooCommerce shop on it. You provide us with access to your current hosting and to the domain management. Missing access is in practice the most common cause of delay.
Transfer files and database
The complete web space, including the uploads folder, and the database are copied to our server. We create a new wp-config with the new database details and fresh salts, and set the PHP version to what your theme and plugins expect. Your old site simply stays up.
Check site URL, permalinks and cache
WordPress stores its own address in the database. We check the site URL and home URL, have the permalinks rewritten so the rewrite rules are correct, and flush the cache of cache plugins that still hold the old address. This is the part most often skipped in a do-it-yourself move.
Test on the new server
The site is tested on our server while the DNS is still unchanged. Do all pages and images load, do forms arrive, does logging in work, does the checkout work if you have a webshop? You check along with us. Whatever turns out to be broken here costs nothing; after the switch it does.
Switch the DNS and check
Only now do you point the DNS at our server, or we do it if your domain name is with us. Then we check that https works, that no error pages have appeared and whether mail is still arriving on the old server that needs collecting. You only cancel your old hosting once everything has run well for a few days.
Where WordPress moves go wrong
A WordPress site is more than a folder of files. Six things that go wrong in a plain copy, and that we therefore always check separately.
Site URL and home URL in the database
WordPress stores its own address in the database. If that is no longer right, the new site sends you back to the old one or loads without styling. If the site runs on a temporary address for testing, that has to be set back afterwards.
Re-saving the permalinks
The readable addresses of WordPress depend on rewrite rules on the server. After a move the home page often works, but all underlying pages return a 404. Saving the permalinks once more fixes that.
wp-config and salts
The wp-config contains the database details of the old server and the keys that secure your login sessions. On the new server it needs new database details and new salts. Also carry over any extra settings your developer added there.
Uploads folder and large media libraries
On a site with years of photos, the weight is not in WordPress but in the uploads folder. You only notice a partial copy by missing images somewhere deep in the site. That is why we compare the number of files and the size on both sides after the transfer.
Cache plugins that hold on to the old URL
Cache plugins store ready-made pages with the old address in them, and sometimes separate configuration files too. If that cache is not flushed, the new site still seems to point to the old one. We flush it after the transfer and again after the DNS switch.
Email that has to come along
Your mailboxes move along and are created before the DNS switches. Look at WordPress itself too: an SMTP plugin still pointing at the old mail server sends no form or order mails after the move. We test that as part of step four.
What you get after the switch
Further reading
Moving something other than a WordPress site, or want to do it yourself? These pages help you further.