Here’s the NEW and BEST way to move a WordPress site to a new domain for 2018. Things have changed this year so you cannot rely on older sites and articles prior to 2017, they are working under currently inoperable assumptions and techniques. For one, WordPress and Bluehost both have new homepage designs which will not get your site migrated from <oldurl.com> to <newurl.com> using phpMyAdmin or other gimmick plugins like Duplicator.
I just successfully moved this website from its old url <now-power.com> to its current url <familyhistoryfoundation.com> via this technique, basically only using ftp. Forget all the fancy, schmancy plugins or exporting databases, tables, and homepages, they are all a gigantic waste of time with multiple, redundant steps that will only confuse the daylights out of the less technically inclined.
I found several very reputable websites and followed their advice only to find out that what they were preaching was outmoded and outdated for 2017/18. No fault of their own, times simply change. I just want to share with you what I learned so that you don’t have to suffer through what I did to figure this all out on my own.
Ok, so here’s the NEW and BEST way to move a WordPress site to another domain for 2018 and it’s all based on using ftp! It will require some download and upload time but it is the most streamlined way to accomplish moving or migrating your website from <oldurl.com> to <newurl.com> using the same hosting company.
1. Claim Your New Domain (this will be your <newurl.com>)
The first thing you will need to do is register the new url you would like. If you are on Bluehost simply go to your Home > Domains and purchase the one you would like there. Note, the new Bluehost site is radically different from the old one and severely limits the functionality of your admin capabilities! I found this out the hard way that the two are not compatible to simply do a domain transfer via the “backup wizard” functionality; it’s just not possible so you will need to use ftp as I am advising.
If you are not on Bluehost then it still doesn’t matter as ftp is a universal file transfer protocol that you can use via an external program like Filezilla or internally via your web hosting company. Bluehost has a very reliable ftp platform under Advanced > File Manager.
2. Purchase A New Hosting Plan (depending on your current plan)
Here’s the kicker! Depending on your current Bluehost or other plan you may need to purchase a completely NEW hosting plan for your new url <newurl.com>. If your current plan allows for multiple domains then you are good; if not you will have to purchase a new plan exclusively for your new site and then discontinue your old plan once your new site is up and running.
If your current hosting company allows for multiple sites then you probably don’t need this step, all you really need to do is create a new database via MySQL Databases or Wizard and then upload your site there. You will still need to follow along through the rest of the steps to get you there safely.
3. Write Down Login, Pass, User, IP, Database
Once you have registered your new hosting plan, the clock is ticking because you are now paying for 2 plans while you only are running 1 site. Make sure you write down or screenshot the account information that Bluehost sends to your email. They do not send you your password so when you decide on one, copy it into a text file immediately and do not lose it. You will need all of this account information to successfully complete the remaining steps.
4. Create A New Database (just do it)
Now that your new hosting plan is in action, it is waiting for your old site to populate it. This is the fun part because we will now begin to actually migrate your old site to your <newurl>. Although it seems obvious to say, while you are migrating your website from one url to another do NOT add any new content to your old site! Once you backup your old site that is exactly what will appear on your new site, any changes you make after the fact to your old site will not be included and you do not want to do this twice!
Just because it’s prudent, create a new database. Go into MySQL Database Wizard (Bluehost) and name your new database. When it comes to permissions/privileges since you are the admin always check “all.” It is imperative to copy the DATABASE NAME, USER, and PASSWORD for your new database to a text file or write it down as you will need this when editing your wp-options and wp-config files a few steps from now.
5. Back Up Your Old Site Via FTP
Get Filezilla (it’s free and ultra reliable, I’ve never had an issue with it) and download your entire <public_html> file. If you are not familiar with Filezilla, go to the Site Manager (Command S) and input your server’s information there. You will need your HOST (remember it’s not just your website name but with “ftp” in front of it, like “ftp.newsite.com”), PORT, USER, and PASSWORD. You are entering information for your OLD SITE in this step!
You can find all of this on Bluehost under Domains > Zone Editor. In the “Protocol” option, always use SFTP. For “logon type” you can choose “normal.” Below that enter your username and password. You can also find your username on the Bluehost Advanced page on the right column under General Information.
Bluehost has the option of using its internal ftp to download files under Advanced > Files > FTP but I have not tried this but I’m sure it works freakishly good.
Now that you are connected to Filezilla, find your root directory or “public_html” folder and download the entire FOLDER to your desktop somewhere exclusive, that is without any other junk around it. Download it there for safe keeping; you can use ‘Control D’ to download.
Depending on your internet speed and the size of your website this could take HOURS. Be prepared for this before you download your files, that is to say be somewhere where you are prepared to leave your machine to work on its own while your site files are transferred. A good hint is to turn off your energy saving permissions so that neither your hard drive, screen, or screensaver will go to sleep during this time as it may interfere with the functionality of Filezilla.
When the process is complete make sure there are no ‘failed transfers.’ If there are figure out why and redownload if you need to, do not leave anything to chance.
6. Log On To Your New Server (via Bluehost)
Log onto your new hosting server site (Bluehost) and from your homepage go to Advanced > File Manager. Once you are in the File Manager, look at what is there and then empty any files that came with your stock version of WordPress. Delete all of the files in the public_html folder, but not the folder itself.
Remember that you should have screenshotted the information that your new hosting account emailed you; your username and ftp information are also on there. You can also find your username on the Bluehost Advanced page on the right column under General Information.
Once you have a blank slate, upload all of your public_html FILES that you downloaded as backup in step 5. You can also do this with Filezilla, simply drag and drop from the “Local Site” files to the “Remote Site” folder. Just like the download step, this could take HOURS depending on your internet speed and the size of your webpage, especially if you have a lot of images.
In this step don’t upload the actual public_html folder, but rather all of its contents, all of its files and subfolders.
If you are uploading your files via Filezilla I’d still recommend to log onto your new server hosting page and double-check that all your files are showing on Bluehost after you are done. Again, Advanced > File Manager.
7. Change Your SITEURL and HOME in WP-Options
Now that you have uploaded all your old stuff up onto your new server you are not done yet because you cannot yet log into your new WordPress page! All of your old passwords and configurations are still active. Go into your hosting account (Bluehost) and go to Advanced > phpMyAdmin.
From the phpMyAdmin panel choose the “Databases” tab on the top left and then select the database that you created back in Step 4 from the list. This will load a menu to the left of the page. Find the file that has the words “options” on there, actually it may not even give the full name but only end in “_options” with some database prefix in front. This is your wp-options file. Don’t worry, this is the new Bluehost look and why you can’t rely on other outdated articles to navigate this process.
Click on the only file that ends with “_options.”
Make sure that option_id rows 1 and 2 have your current NEW url, that is your <newurl.com>. If it has your <oldurl.com> then simply change it by selecting it and typing over it. Make sure you spell everything correctly and make sure you update BOTH the “siteurl” and “home!” Save when you are done.
8. Change Your WP-Config File Via FTP
Your going to use ftp again for this step. You can either use Filezilla but at this point, since you are already logged on to Bluehost or its equivalent, just use their ftp function: Advanced > File Manager.
Once you are in the File Manager, double click on the “public_html” file folder to reveal its contents. Scroll down until you find the “wp-config” file and edit it. Before messing with this file just download a copy of it to your computer just in case you muck this step up.
Highlight the file and use the edit function to on the top menu to scroll down to around line 20 where the database passwords and names are usually kept. You will be changing the information for DB_NAME, DB_USER, and DB_PASSWORD.
Simply cut and paste the new information from your text file into the single quotes where the old information is. This is the information from Step 4 that you will be editing. Note, make sure you include the entire NAME and USER when doing this, not just the suffix name that you entered into the field to create a new database. If you are not sure what this is, go to Advanced > MySQL Databases and look there; copy and paste those names.
Once you finished editing and hit save you should be good to log into your new WordPress site.
9. A Few Housekeeping Jobs
Once you log onto your new WordPress site make sure it looks exactly like your old site. If you cannot log in or receive a database error message then go back to Step 8 and ensure the names and passwords you entered are correct and exactly match and include the single quotes.
How do you get into your new page? Easy, for Bluehost plans that are WordPress linked simply log into your Bluehost dashboard and there is a WP link right there! If not it’s simply <newsiteurl/wp-login.php>
Make sure your <newsite.com> urls are all showing in place of your old urls, step 7 is supposed to have handled this. Do random checks of pages and posts to double-check your site is functioning properly. You can also run broken link checks online or download a link checking plugin if you like.
Only if you are switching hosting companies you will need to point your NAME SERVERS! In Bluehost go to Domains and then select the TAB above your domain information in the window to the right that says NAME SERVERS. You can edit the information there. When you registered for your Bluehost account, in addition to your user, domain, and other account information, they will have included the 2 name servers.
10. Shut Your Old Site Down
I gave my old site a few days before I shut it down just to make sure everything is cool on your new site and WordPress page. All my plugins and settings were about 98% the same, which is to be expected. You should go through your WP Settings and your User info and make sure all your plugins still have the same settings you left them with before their migration over to your new house.
I would also recommend placing a permanent redirect to your new site from your old site. You will need to log back into your <oldsite.com> hosting plan and do a PERMANENT redirect to your <newsite.com>. I went the extra step and used a Maintenance Mode plugin and checked the “Discourage search engines from indexing this site” in your Settings > Reading options.
Once you are happy with your new site you should contact your hosting company to cancel your hosting account immediately, this may or may not effect the ownership of your old domain name but make sure if you want to keep the old domain name yours. Cancelling the old account serves 2 purposes: (1) it saves you money not paying for 2 accounts; but (2) it also helps your new url’s SEO by not having duplicate content on the net which is discouraged by Google’s analytics.