Most users find difficult to transfer WordPress site to new host while keeping same domain name or changing domain of site. Many people are faced with the need to migrate to a new host because of problems with their current hosting provider.
But all too often, moving WordPress site to a more reliable host is delayed because of fear of making a mistake and damaging site(s).
To get around the problem, people will either pay a professional to move their site for them or find a host that offers free or paid migration site service as part of a new hosting package.
If your new host doesn’t have free WordPress site transfer as offer in package, I recommend you do it by yourself. I will show you how to transfer WordPress site to new host free using WordPress plugins (beginner friendly) and some other methods.
If you spend a little time preparing your own website, migrating is nothing to be concerned about. It can be a very straightforward project if approached correctly and can easily be reversed out of should any problems occur.
Transfer WordPress Site to New Host
Moving WordPress website between hosts is easy task but for many it can become complicated. Each site may have different needs for migration. I have selected a range of options that I believe should provide best free solution for just about every site migration.
First you should backup your site just in case using your prefered method or plugin. The WordPress Codex offers guide, but I find it confusing. Most times I don’t like to look at WordPress codex as 70% of written looks like alien language to me.
Basically, WordPress migration from one host to another consists of moving files, moving database and reconfiguration.
There are few ways you can move WordPress to another host. I will explain transferring site when you are keeping domain name and not changing URLs.
If you are transferring WordPress site and changing domain name you will need to update your internal links. Depending on migration method that would be or not needed.
In case you need to update links to your new domain after migration, here is additional step:
The simplest way to do this is to use a plugin such as the Velvet Blues Update URLs plugin. Once you install the plugin, enter your old and new URLs, and then check the first four boxes before selecting the update button:
You could also use Search & Replace plugin.
How to Transfer WordPress Site to New Host Methods
Here are methods to move your WordPress site or blog to new server/host:
1. Let your new host move website(s) from previous hosting provider
Usually there are some limitations so they offer free migration for only 2-3 sites or if sites are not bigger than 500 MB….
This is probably the best and easiest method as you only need to provide few information like FTC access etc. and then just sit back and wait for someone else to do the work for you for free (ok not free as you paid for hosting).
PROS: You don’t have to do much and it is free.
CONS: Sometimes you have to wait for a week for your site to be migrated. Also you need to be carefull and check in which cases hosting provider offers free site migration.
2. Transfer WordPress site using All-in-One WP Migration
All-in-One WP Migration plugin allows you to export your database, media files, plugins, and themes and then import with few clicks.
To export your WordPress site, head to ‘Site Migration’ on your Dashboard, and choose ‘Export’ from the dropdown menu.
You can click on ‘Advanced Options’. This will expand extra options for you. Extra options consist of leaving out sections of your database before you download it.
This is a good way of clearing out any dead wood, including spam comments, post revisions, media libraries, themes and plugins. Tick the boxes of the files you want to exclude and then click ‘Export’.
When export finished you will get option to download export file on your computer which you can easily import to another site. In order to migrate your website to another location, you need to restore a saved backup in an already existing site.
That means that in order to clone your WordPress site somewhere else, you’ll first have to install fresh versions of WordPress and All-in-One WP Migration, then import your content.
Lets say you want to transfer WordPress site to new host and keep your domain name (same URLs).
You export all your site file using All-in-One WP Migration plugin. Then you change nameservers for your domain to nameservers of your new hosting (every hosting has tutorial how to change nameservers in case you don’t know how to do it)
On your new hosting you will have empty site for your domain so you need to install WordPress. After that install All-in-One WP Migration plugin and go to import section.
Then just import file you have downloaded when exporting site. After importing finished you will have site same as before.
METHOD PROS & CONS
PROS: Very simple and easy to transfer smaller WordPress sites. It can be used as backup plugin too. It automatically detects the old and new site URL and performs all necessary database adjustments by itself.
CONS: Size restriction is up to 512MB while commercial version supports up to 5GB. If you want to migrate WordPress to most popular cloud services you will need to buy desired extension(s).
You need to set up a fresh WordPress site in the new location and install the plugin before you can import your old data (this is not exactly disadvantage, just additional step which some may find too much).
Creating the backup file with All-in-One WP Migration takes much time and it also resulted in the biggest file.
3. Transfer WordPress site to new host using Duplicator plugin
I have made extensive post on how to migrate site using Duplicator free version so for detail instructions please refer to my post. Duplicator will create two files from your WordPress site. An archive file and an installer file.
The archive contains both your site data and the MySQL database. The installer file is a PHP file that will extract and install the archive in the new location.
During setup, you can configure what should and shouldn’t be included in the archive, and include all necessary information for the site’s new location in the installer file. Doing this will automatically populate the
wp-config.php with the values of the new host.
After configuration, a backup of your site is created. You can download both files directly at the end of the process or find them inside the
wp-snapshots folder in your WordPress installation.
Redeployment of the site is just as simple as creating the package was. All you need to do is upload both the installer and archive files to the new location of your site (i.e. the server), and access the
installer.php file via your browser.
The installation will then let you either create a new database or connect your site with an existing one.
METHOD PROS & CONS
PROS: You can exclude certain directories and file extensions from being included in the archive. The same is also possible for database tables.
CONS: While not necessarily meant for beginners, if you have some basic experience working with WordPress and MySQL databases, you shouldn’t encounter any serious problems.
4. Moving WordPress site to another host using cPanel
If old and new hosting providers have cPanel just select all your website data and Compress as .zip
After that download .zip file to your computer
You can then transfer it to your new host by going to cPanel and choosing upload in File Manager. When upload completed extract ZIP file. This will save you time because transferring one big file is much faster than transferring thousands of small ones via FTP
The second step is to move your database. First you need to export your database from the old hosting account. If it uses cPanel you can safely follow my instructions.
If not, contact the support team of your previous hosting company in order to receive more information on how to export your database.
- Access the phpMyAdmin tool available in your cPanel
- Select the database that you would like to back up from the Database menu
- In order to proceed with the backup click on the Export tab
- Also I like to add compression type zipped (you can leave default if you want). It will reduce the database export file size as some hostings have import limit
- The options that you should select apart from the default ones are Save output to a file (if it isn’t already checked) and Add DROP TABLE (which will add the drop table functionality if the table already exists in the database backup)
- Click on the Go button to start the export/backup procedure for your database
- A download window will pop up prompting for the exact place where you would like to save the file on your local computer. It is possible that the download starts automatically. This depends on your browser’s settings
- After you have your data exported, create a new database on your new hosting account
- To restore (import) a database via phpMyAdmin, first choose the database you’ll be importing data into (the database you created in step above)
- Then click the Import tab (it is right from export tab)
- Choose the file from your computer and import database from your old host
- In order to start the restore click on the Go button at the bottom-right. A notification will be displayed upon a successful database import (if you get error message you probably didn’t choose newly created database to import old one)
Now, you have your files and database transferred. All you have to do is to reconfigure your WordPress application to work from the new place To do this, open the wp-config.php file in your WordPress root folder with code editor.
Locate the following lines:
define('DB_NAME', 'user_wrdp1'); /** MySQL database username */ define('DB_USER', 'user_wrdp1'); /** MySQL database password */ define('DB_PASSWORD', 'password');
You need to replace those values with your actual database, database username and password (so replace old database values with new). Now save this file and your WordPress site should be up and running from your new hosting account!
You may need to login to your site admin, go to settings/permalinks and just click save without changing anything so that URLs work. Also be sure to update DNS settings.
Note that if you changed the domain name of your site additional reconfiguration is required. Simply add these lines to the functions.php file of your theme:
Then simply load your site from its new location. It should work just fine. Note that after you run your site once and make sure it works, you should delete those lines from your functions.php file.
The settings are already stored in your database and should not be modified each time your site is loaded.
METHOD PROS & CONS
PROS: Totally free method without use of plugins.
CONS: Requires to have some knowledge with cPanel.
Why Migration Matters?
There are several reasons you might need to move a WordPress website. For example moving to a new web host, cloning a website to work on it locally, or moving a local installation to a live server.
While setting up a WordPress website is simple with the famed five-minute install, moving a site requires multiple steps if done manually.
You will need to back up the data, restore the database, move and re-activate plugins and widgets, and test everything to ensure that the entire process has been completed without error. With a site that contains thousands of posts and images, this process can be both time-consuming and labor intensive.
Plugins can simplify this process by providing simple configuration, automatic backup of data during migration, and confirmation that data is intact. Using plugins to handle website migration helps to ensure data integrity, reduce the risk of errors and minimize downtime of your website.
Choosing a Migration Plugin
Choosing the right plugin to transfer WordPress site to new host is an essential step in minimizing the hassle involved in moving your website.
The best method of migration will depend on your technical experience, the complexity of your site, and the specific type of functionality you want. Other factors to consider are the size of your site and whether a multisite network is involved.
If you are non-technical and just want the simplest option, a managed backup solution that enables migrations would be your best bet. Unfortunately, that kind of services like VaultPress, ManageWP and BlogVault are paid which means you will need to invest.
If you have the basic technical skills and need free option, Duplicator is likely to be your go-to plugin. Multisite networks remain a tricky area of WordPress and most plugins do not support migrating either entire networks or single sub-sites.
If you need to do so, you should take a look at Updraft Plus and All in One WP Migration. Updraft may be particularly useful if you need to migrate a large site.
Moving WordPress Site to New Host Summary
Producing an exact copy of a WordPress site and moving it to a new location is something any serious WordPress user will likely have to do in their life/career.
While it’s possible to do the whole thing manually, it quickly gets too cumbersome (not to mention time-consuming) when done on a regular basis.
The above plugins aim to help users make this task a lot easier. As you’ve seen, their approaches are quite different, with unique advantages and disadvantages to each one.
Hope you now have more insights in how to transfer WordPress website from one host to another. If any questions feel free to contact me or leave comment below.
If you’ve used any of the plugins I highlighted, I would love to hear about your experience.
Is there one migration plugin that you always use and recommend? Or did I miss one that you think should be considered? Let me know in the comments below!
DISCLOSURE: Posts may contain affiliate links. If you buy something through one of those links, I might get a small commission, without any extra cost to you. Read more about it here.