Overview:
- Set up new install.
- Copy current install to new.
- Point DNS to new install.
- Update WP to domain name.
In my case, it was from Arvixe to Rochen.
Setup new install.
1. Install WordPress on new host.
Rochen let me install WordPress when I set up the site. Or, I could’ve also installed it through cPanel.
I had to use a domain name to set up the fresh install of WordPress. Then I couldn’t access the new install, because the domain name was pointing to the live site on the old host. To access the new install, use the temporary URL.
Temp. urls include the IP address and cPanel Username, like so:
http://12.345.67.89/~asdfghjk/
(~ mark is called a tilde. Don’t forget to use it before the cPanel Username.)
If you can’t figure out the temp. url, email support. There is one for every install of WordPress.
2. Access the temporary URL, to make sure it is correct.
I thought it was accessing the live site on the old host, as my site name was at the top but no styling on the page. I failed to look further down the page, to the “Hello, World” post and list of meta/login links. Then I realized it was a new install of WordPress, with my site name at the top.
3. Update new install to temporary URL.
The login button directed me to the live site, so I couldn’t login. I got around this by updating the Siteurl and Home via the database.
To do that, log into cPanel on your new host, go to phpMyAdmin.
Open the tables and click wp_options (or abc_options if your host secures it).
Edit 2 tables:
siteurl home
Change their values to your temporary URL.
4. Log into your new install.
Login so you can verify your admin credentials. If you don’t want to bother finding your new password, use “Lost your password?” link on the login screen to reset it.
The link will be something like http://12.345.67.89/~asdfghjk/wp-login.php
Copy current install to new.
Now you have the live install on the old host, and the new install on the new host. Your domain name is still pointing to the live (old) install.
Backup the live site before proceeding.
There are several ways to copy the old install to the new install. You can use FTP to drag and drop the WP files, and PHPMyAdmin to export and import the database.
You can also use a WP plugin to copy one site to another.
I like using ManageWP (Orion). It’s a paid feature, and doesn’t always work if moving from dedicated hosting down to shared hosting or vice versa. But for low-profile sites, it’s quick and easy.
I add both installs to ManageWP. In ManageWP, I activate backups on the old live install, and clone it over the new install. I need the new install’s admin credentials to do this.
Once the clone is successful and complete, the new install now uses the credentials of the live (old) install. No need for the fresh install creds anymore.
Check both WP installs (yourwebsite.com and http://12.345.67.89/~asdfghjk) to make sure that live is still working, and the new looks good.
Make sure the new install works and is ready to be shown to the world. I usually change something small (add New! to footer) so I can verify which install I’m seeing during the move period.
Point DNS to new install.
Get the new DNS (domain nameservers) from the new hosting, and update it on the domain (wherever the domain name is purchased from). DNS looks something like this:
ns1.mysitehosteddns.com ns2.mysitehosteddns.com
I’ve had some terrible website moves. Couple things I learned:
- Move DNS and update WP Siteurl/Home separately. (Change DNS first. Wait out the propagation before changing the WP Siteurl/Home!)
- Move domain and hosting separately. (I prefer to move hosting first, as monthly costs are usually associated with it.)
Wait for the DNS to propagate (24-48 hours.) Access yourdomain.com to verify which install it’s pointing to. It’s easy to tell if you have something changed on the new install.
Update WP to domain name.
Once yourdomain.com is pointing and accessing the new install, it’s safe to change the Siteurl and Home back to your domain name.
You can update them in WP Admin > Settings > General. But I like to change it via the database. Because if you do it wrong, it will break the site, and you won’t be able to access the WP Admin at all!
To do that, log into cPanel on your new host, go to PHPMyAdmin, open the tables and click wp_options (or abc_options if your host secures it) and edit 2 tables:
siteurl home
Change their values back to your domain name. Check your site (home and main pages) to see if they are showing correctly. Also, check Chrome Inspector’s Console for any errors.
You may have to do a database Search & Replace to update all image and page links from temp. url to domain name.
Helpful links on that:
- https://wordpress.org/plugins/search-and-replace/
- https://www.mstoic.com/phpmyadmin-search-and-replace/
If adding SSL, you’ll have to update the siteurl and home using the secure protocol https://.
[…] manually in cPanel (database via phpMyAdmin and wp_content via File Manager, see here, here, and […]