Have you wondered if there could ever be such a thing as lifetime hosting? I did to, and then I went ahead and got lifetime hosting, from the aptly named, lifetime.hosting. I went ahead and transferred my site to my lifetime.hosting server, and I’ve listed all the steps for you.
Follow along and you can get your site transferred too.
How to transfer your site to Lifetime.Hosting
The site I use in the example below is currently hosted at HostGator. I’ll be transferring my site from my Hostgator server, to my new Lifetime.Hosting server.
So, let’s fire away! First log in to your site’s dashboard. You can do so via something like: yoursite.com/wp-admin.
Next we’ll need to back up your site. There are a number of ways to do so, but in this example, we’ll use a very handy and free plugin called Duplicator.
Easily create a Backup of your website with this plugin
Once logged in to your Dashboard, select ‘Plugins’, then ‘Add New’.
Now, search for ‘duplicator’ in the search box. You should see something similar to the screenshot below.
Click on Install and then Activate as you would for any other plugin.
Then you’ll see a new menu item, under settings, click on Duplicator.
Create a new Duplicator Package of your Website
On the top right corner, you’ll see ‘Create New’
You’ll then be presented with the screen below. You can create your own filename, but you can simply leave this to the default filename.
Then click Next.
The plugin will scan your site and present you with any issues it finds, for example large files that you may want to exclude.
In my example I was presented with the screen below:
You can click on those with warnings, but the one you want to focus on is the ‘Large Files’ section.
Here you may find backup files that don’t need to be transferred.
Expanding the ‘Show Paths’ option will list the largest files.
Copy the paths, then click back and under ‘Archive’, click the ‘Enable File Filter’s option.
Paste each path into the box. This will exclude the folders in the path you specify.
As an example, I use Infinite WP, which has backups:
You can also exclude ‘zip’ files, since these are most likely the backup file extensions.
Then simply click next. Rinse and repeat this until you don’t have any large backup files included.
Once you’re happy, click the checkbox and then click on ‘Build’
While the package is building, you simply need to wait.
When the package has been built, you’ll see this:
Click on both the Installer and Archive button. Store these in a safe place on your local pc, since this is a backup of your site should anything go wrong.
With this duplicator package, you have a valid backup that can be used should you need it. You can never have too many backups, believe me!
What I like to do here is to update the home page so that I know which install I’m looking at, i.e. the original host or the new host, i.e. lifetime.hosting
Something as simple as: [This page was updated 02 December 2016] will suffice. By doing this, you’ll know the old site has this update, the new site won’t.
Log out of your site.
Get the Files onto your New Host
Now log into your new hosts Cpanel account.
Click on ‘Addon Domains’.
Here you want to enter your domain name and add it as a subdomain.
Now head on over to the File Manager.
You’ll notice a folder is created with the same name as the domain you just added as an addon domain.
Double click on the folder and upload both of the Duplicator files you downloaded earlier.
This includes the installer.php file and the zip file.
Click on ‘Upload’, and then simply drag both files into the box as instructed on the page.
Once done, simply go back to your file manager, and you should see the two files in the folder.
We’re done with this for the moment.
Next we’ll need to create a SQL database for your website, but before we do, we want to see what database was previously created, this way we can keep things simple.
Head on over to the backup files you downloaded earlier. In the zip file, look for the wp-config.php. Extract this file, it’s got all the details we’ll need for later.
In the wp-config.php, look for a line similar to this:
define(‘DB_PASSWORD’, ‘a bunch of characters’);
Create a SQL database in cPanel
Back in your cPanel account, you should look for MySQL Database Wizard under the ‘Databases’ section.
Click on this. You’ll then be presented with a new database name to create. You can enter any name here, but make a note of it, you’ll need it later. For example, you could create a database name as mysite_wpdb1.
Next, you’ll need a user with access to this database. Create a name similar to what you used for the database, but not identical. You could create a user mysite_dburs1.
In the password section, I like to use the password from the wp-config.php file. Copy that into the fields.
You want to give this user ‘ALL PRIVELGES’.
Once you’ve done that you’ve just created the SQL database for your website on your new host.
Duplicator Installer file
Now back to the installer we uploaded earlier.
We have everything we need to transfer our entire website over to the new host.
What you want to do is to type the path of the installer.php file. Because you created this folder (your site) as an addon domain, you can get to the file via your main site.
So, if your main site is: mainsite.co.business, you’ll enter: www.yournewsite.yourmainsite.co.business/installer.php
This should take you to the Duplicator Installer screen.
On this screen you can leave host to localhost, but MySQL Database name, user and password will be those you created earlier.
For example, we created a database called: mysite_wpdb1. Enter your database in the name field.
Next, enter the user you created with all privileges, i.e. in our example it was: mysite_dburs1.
The password will be the one you used. If you used the one from your original site, then simply copy the password into the field.
Leave the action as ‘Create New Database’.
Then click ‘Test Connection’.
You should see something like the screenshot below. I removed my website details for the example though.
You want to see ‘Success’. If not, check your database, user and password in cPanel again to make sure you’ve got everything set correctly.
At the bottom of the page, you need to check the box ‘I have read all warnings & notices’, and then click ‘Run Deployment’.
By clicking this button you’ll be duplicating your website to your new host.
Next check that the website url is correct and click the button to continue.
Here you can change your url from http to https if you plan to use a Lets Encrypt SSL certificate.
We’ll cover this in the next section, but you’ll know if you purchased this upgrade or not.
You’re done! Your website has been transferred!
We still have a few steps to go, like adding a SSL certificate and updating your DNS name servers, but you’ve now duplicated your site to another host, congratulations.
Update your WordPress URL and Site Address
Now we need to update our URLs in WordPress. Remember, we haven’t pointed our domain name yoursite.com to this site yet. We’ll do so in a minute.
For now, to log into your website, you’ll use the same url you did when you installed duplicator, only without the ‘installer.php’ part. Here you’ll include wp-admin and login with your old details.
The url would look something like: www.yournewsite.yourmainsite.co.business/wp-admin
Now head on over to ‘Settings’ then ‘General’ from within the dashboard.
Update the ‘WordPress Address (URL)’ to https://yoursite.com, and the same for the Site Address.
Click ‘Save Changes’.
You’ll be logged out at this stage, but it’s ok. We’re going to point out domain name (via the name servers) to our new hosts name servers.
Change your Domains Name Servers to Lifetime.Hosting
In my example, my site was with Namecheap.
Once you’ve logged into your account, head over to ‘Domain List’.
Next to the applicable domain, click on ‘Manage’.
Under the ‘Nameserver’ section, you would already have set up your original hosts name servers.
For Hostgator you might expect to see something like nsxxx1.hostgator.com and nsxxx2.hostgator.com.
For Lifetime.Hosting, you can expect something like: dns1.mysecureservers.com and dns2.mysecureservers.com
Update both name servers, and click on the check. You’ll now need to give your domain up to 48 hours to implement the change.
While waiting, you can check your name servers at WHOis.net. There you can see if the name servers have been updated or not.
You can log out of your domain account. While we wait, let’s get the https or SSL certificate installed for our new site.
Installing a Lets Encrypt SSL for HTTPS
This step is optional, but if you took the HTTPS option of lifetime.hosting, then your main website will already have a https address.
We’ll need to set a https certificate for your new site too.
As of 2017, I believe Google will be penalising sites that aren’t secure, so make sure you get your https sorted.
In cPanel, under the security section, click on the ‘Lets Encrypt SSL’ icon.
You should see your new site under the ‘Issue a new certificate’ section.
Click on the ‘Issue’ link. Uncheck everything other than your sites www.yoursite.com address.
Once issued, it should show under the ‘Domains with Let’s Encrypt certificates’ section.
And now you wait…
Check back every once in a while to see if the new https address works ok. If not, you’ll get the ‘Privacy error’ screen. Don’t worry about it, it only means your site isn’t ready yet.
Of course, your original site is still there, all the files still present on your original host. If for any reason you need to revert back, you can simply update the name servers to their original name servers, and you’re good to go.
How to secure your non-secure site even with SSL
A simple plugin will help fix the http references you may have lying around on your site.
Search for ‘Really Simple SSL’ in the Add New Plugin section.
Install and activate the plugin, and refresh your site. Where you noticed the ‘I’ before your site url, now you’ll see the coveted green lock.
I hope this has helped you transfer your site to Lifetime.Hosting. If you have any problems, please give me a shout, I’d be happy to help. Over the course of the next few weeks, I’ll be transferring all my Amazon Affiliate sites over.
I have more than a few, it’s going to take a while. 🙂
I believe the effort will be worth it, after all, the idea behind getting lifetime.hosting is so that I don’t need to keep paying hosting fees for sites that aren’t necessarily making me an income.