Just like moving to another city, migrating a website can also be a bothersome experience. There are always the little things that you need to look into and missing small details can have bad results. While WordPress migration is not the most difficult task, there are certain things that you need to keep in mind. In this tutorial, you will learn three different methods to migrate WordPress websites. In case you are moving your site to a VPS or another hosting platform, you will surely find a method that gets the job done.
IMPORTANT! This tutorial is a step by step guide how to move the WordPress website itself. In most cases, you’ll need to point the domain name to your new hosting provider as well. You can find detailed instructions how to point a domain name here.
What you’ll need
Before you begin this guide you’ll need the following:
- Access to WordPress admin area
- WordPress file and database access
- Access to new hosting account control panel
Table of Contents
- Option 1 – Manually Migrating WordPress to a New Hosting
- Option 2 – Using Cloning Plugins to Migrate WordPress
- Option 3 – Migrating from WordPress.com to Stand-alone WordPress Installation
Option 1 – Manually Migrating WordPress to a New Hosting
This is the recommended method if you want to migrate WordPress from a regular hosting account and have access to WordPress files and database. Basically, all you need to do is to transfer files and databases from one hosting provider to another and edit wp-config.php file. The transfer can be done using File Manager or FTP client and phpMyAdmin. The steps below show how to properly migrate WordPress website:
Step 1.1 – Backing up WordPress Files and MySQL Database
- First of all, you need to download WordPress files to your computer. Connect to your hosting account using an FTP client and download all files from the main WordPress directory to a folder on your computer. In this example, WordPress is installed in the public_html folder. Therefore, it’s necessary to download all files from this folder.
- Once the download is complete, you can proceed and export the MySQL database. You may find a step by step tutorial on how to export a MySQL database using phpMyAdmin here. Simply save the MySQL backup file on your computer as you will need it shortly.
Step 1.2 – Uploading WordPress to a New Host
- At this step, you should have the required WordPress files and database backup file on your computer. Connect to your new hosting account using FTP client or use File Manager and upload WordPress files. Detailed tutorial how to upload website files using an FTP or File Manager can be found here.
- Now create a MySQL database at your new hosting account control panel. Write down the database name, database username and database password values as you will need them in the next step. Afterward, import the MySQL backup using phpMyAdmin.
Step 1.3 – Updating wp-config.php with new database details
- Finally, you need to edit the wp-config.php file and specify the credentials of your new MySQL database. The wp-config.php file is in the main WordPress directory and once you locate it, change these three values:
DB_NAME– MySQL database name.
DB_USER– MySQL database username.
DB_PASSWORD– MySQL user password.
DB_HOST– MySQL database hostname. This value is usually
localhost, but it may vary depending on your hosting platform. For example, on Hostinger the hostname is in
mysql.hostinger.xxformat. In case you are not sure, try contacting your hosting provider for the exact value.
That’s it! The transferred WordPress site should work just fine on the new hosting platform. Keep in mind that this will only work if you use the same domain name. If you plan to change the domain too, an additional step will be needed to get everything up and running.
Step 1.4 – Updating WordPress URLs (optional)
You should follow this step only if you plan to use a different domain name on your migrated WordPress web site. Before proceeding, make sure that the new domain is functional and correctly pointed to your new hosting platform.
Initially, your WordPress admin area will not work, as the MySQL database will still be making calls to the old domain name. In order for it to open up with our new domain, we should first change WordPress site URL using phpMyadmin. Begin by accessing your newly imported database and look for wp_options table. Once you find it, edit the siteurl section with the new domain value.After entering and saving your new value, you will see a confirmation screen.Now your WordPress admin area will be accessible. Open it and install Velvet Blues Update URLs plugin. After activating it, you will be able to change all remaining URLs via Tools -> Update URLs section.
In case the plugin is not working, it is also possible to update all WordPress URLs by running a query via phpMyadmin. You may find our step by step tutorial on how to do it here. Aside from that, congratulations! You have now learned how to migrate WordPress manually.
Option 2 – Using Cloning Plugins to Migrate WordPress
Cloning plugins are a great tool to migrate WordPress sites. These plugins create a backup of the whole WordPress site which can be easily restored at new hosting. The only downside is that in order to restore the backup, you must already have WordPress installed on your new hosting account. Although there are hundreds of PHP cloning scripts, we recommend using All in One WP Migration or WP Clone by WP Academy. They are straightforward and offer all the features you need to perform a transfer.
Option 2.1 – Using All in One WP Migration plugin
- Firstly, find and install All in One WP Migration plugin on the site you are transferring.
- Then, navigate to the plugin in your dashboard and choose the Export section.
- Select the File option in the drop-down menu to generate a downloadable backup.
- Next, set up WordPress on your new hosting platform and install the same plugin. Use the Import section this time to restore the generated backup.
- Follow the instructions on the screen and a confirmation message will appear once the restoration finishes.
- The plugin also requires you to re-save permalink structure. This can be done via WordPress Settings -> Permalinks section. If you are using Custom Structure, copy it first. Then select a different setting, such as Post name and Save Changes. Then, paste down the previous structure and save it again.
Congratulations! You have successfully transferred a WordPress site using All in One WP Migration plugin.
Option 2.2 – Using WP Clone by WP Academy plugin
- Start by installing WP Clone by WP Academy plugin on WordPress site you want to migrate.
- Navigate to WP Clone settings page and press Create Backup button.
- Depending on the size of your WordPress site, it may take some time to generate the backup. Once the creation completes, press the Copy Url button.
- Now install the same plugin on WordPress hosted at your new hosting account. Navigate to WP Clone settings page, paste the backup link into ‘Restore from URL’ field, check I AGREE and press Restore From URL button.
- It can take a few minutes for the plugin to download and restore the backup. After the process finishes, you will see a success message on your screen.
- To ensure that everything is working smoothly, you should navigate to your Settings -> Permalinks section and re-save the structure twice by switching to a different one and changing it back.
Congratulations, you have successfully migrated WordPress website with WP Clone plugin.
Option 3 – Migrating from WordPress.com to Stand-alone WordPress Installation
Choose this option if your WordPress site is hosted by WordPress.com and you do not have access to database and files. Do not worry, this method is easier than transferring everything manually. However, you must already have WordPress installed on your new hosting account. Follow these simple steps and it will take no more than 10 minutes to finish the transfer:
Step 3.1 – Generating a backup via WordPress.com
- Login to your WordPress.com blog administrator area.
- Then, navigate to WordPress.com dashboard and press on Settings.
- Scroll down to the bottom of the page and you will locate the Export section under Site Tools category.
- Once you enter it, press on the Export All button and it will generate a .ZIP archive.
- Press Download button and download .ZIP file to your computer. Once the download is complete, extract the archive on your local machine.
Step 3.2 – Migrate WordPress to a new platform
- At this point, you should already have a fresh WordPress installation on your new hosting platform. To begin, open your WordPress Dashboard. Navigate to the left menu and choose Tools section. Then, press the Import button.
- On this section, you can see all available import options. Choose WordPress which is located at the bottom of the list and press Install Now.
- Once it is completed, select Run Importer to continue with your WordPress migration process.
- You will then see an upload screen, where you will be able to import your generated backup. Press Choose File and select the .XML you got by extracting the backup. Hit the Upload file and import button to begin.
- On the new page you will be asked to assign authors for imported content. To make the import easier, it’s recommended to assign content to an existing author and enable Download and import file attachments option. Lastly, press Submit button when ready.
- It should not take more than a few minutes to complete the import. As soon as it is completed, you will see a success message at the top of the page.
As you can see, it’s pretty easy to transfer a site from WordPress.com using an inbuilt importer tool. If you run into any kind of trouble or get errors while importing .XML file, contact your hosting support staff. Be aware, that using this method you will transfer posts, pages and media files only. Plugins and themes used on WordPress.com will not be transferred, thus you will have to install them manually.
As you can see, it is not that hard to transfer WordPress to a different hosting if you break down the process into separate steps and follow them carefully. By finishing this tutorial you have learned 3 different ways to migrate WordPress sites.