Time to time, you will need to move your WordPress site to another new web hosting. There are three ways you can move WordPress site.
With WordPress, it allows you to custom almost everything you need. With huge customization, your WordPress site may become a complex site and may have any issues when you move WordPress site to new web hosting. Some of WordPress site is a multisite and some is a single site. The multisite sometime may be impossible to move by the plugins even you buy the paid version. A few cases, the web hosting can not move your WordPress site to their web hosting smoothly. That’s why I wrote three methods how to move your WordPress site. All those methods come from my experiences and I think it may be helpful for you.
- Method 1: Moving WordPress site to new hosting manually – This method, you will change the database manually and import the database file to new hosting. Also, you will move all WordPress files manually. My method works for a single and multisite. However, if you need to migrate GUID too, you will use WP Migration DB plugin for the database migration and Yes!, this plugin works for single and multisite. The plugin will help you migrate only database. You will get the migration SQL file from the plugin. Then you will import manually at your database in new hosting. For the WordPress files, you still need to move manually to the new hosting.
- Method 2: Moving WordPress to new hosting with plugin – There are two plugins I use. First one is Duplicator plugin. The plugin will generate the installation file for you. You just use the installation file to install your site at new hosting. Oh, you will need to create the new database and database user login at new hosting in order to finish the installation with Duplicator plugin. Check how to use Duplicator plugin(free version). Another one is All in One WP Migration plugin which I am talking about in this post.
- Method 3: Asking your web hosting move the whole site for you. You must check the new hosting offers any migration service or not. Most of web hosting I see, they offers the migration version to their host. You may need to prepare the cPanel backup file from old hosting for them if you have ton of websites to move.
Moving WordPress site with All-in-One WP Migration plugin
With All-in-One WP Migration plugin, you can use the plugin to export the database and all WordPress files from your current hosting and import the migration file to fresh WordPress installation at new hosting.
Now let’s do it.
At your current website:
- First, install All-in-One WP Migration plugin and activate it
- At the WordPress admin, you will see “All-in-One WP Migration” menu. Open its menu and choose Export
- At the Export Site page, choose FILE at EXPORT TO dropdown
- Wait until the process is done
- Download the migration file. The migration file is the database and all WordPress files except WordPress code files. Meaning, it includes themes, plugins and media files. Another word, the migration file includes the wp-content folder only.
At your new hosting:
- Install fresh WordPress
- Install All-in-One WP Migration plugin and activate it
- At the WordPress admin, you will see “All-in-One WP Migration” menu. Open its menu and choose Import
- Drag the migration file you have earlier to import area
- Wait until the import is done
- Follow the instruction on the screen which basically you need to save the permalink twice. Saving the permalink without changes, it just flushes all URLs in WordPress and make sure all URLs are still working after import.
- That’s it.
Deal with Maximum Upload Filesize
If you are at the stage you drag the migration file to import area and it struck because the migration file is bigger than the maximum upload filesize that WordPress allows.
On the import site page, you will see the instruction for increasing the maximum upload file size for WordPress. You can follow along or continue read on.
Update htaccess file
This file is VERY important. You must backup the htaccess file before changing any thing in the file. One you have your htaccess backup file, you can continue to change the values or add the new php settings below into the htaccess file.
For example, your migration file is 500MB, you will need to increase the upload maximum filesize from 128M to 600MB. Also, you must to change the post maximum size value to be the same as upload maximum filesize.
You may need to increase the maximum execution time and max input time if your internet is slow.
Once you upload the htaccess file, go back to the import site page and refresh the page. And see the Maximum Upload fie size is changed to be your number or not. If not, it means your hosting won’t allow you to change the PHP settings via htaccess file. Then you will need to use the htaccess backup file to replace it back.
But after reload the import site page, the site breaks, it means you add something wrong in htaccess file, just use the htaccess backup file to replace it. Then try to change or add PHP settings again.
Change PHP settings at cPanel
Login to cPanel at your new hosting and look for MultiPHP INI Editor. You can change PHP settings from there. Once you finish the changes, go back to the import site page and refresh page. The maximum upload filesize should be changed now.
Change PHP settings via php.ini
Some web hosting allows you to change the php settings via php.ini. You will find this file at the webroot(htdoc or public_html or etc). If you don’t have one, create the php.ini file (it is configuration file type) and transfer the file to your host at webroot of your site. In the php.ini, you will add the code below. Make sure you change the number to meet your need.
Change PHP settings via .user.ini
If the php.ini doesn’t work, you may try to use .user.ini file instead. You will find this file at the webroot. If you don’t see one, just create one and add the php settings below in it.
If none of method above works, you need to contact your host provider for supporting you. Or you may try alternative methods below.
An issue I fond for using All-in-One WP Migration plugin
This is only one issue I have experience with. One time, I was importing the migration file to the new hosting via fresh WordPress installation. At some point, the process struck at 100% and it doesn’t show the imported successfully page to me. Later, I found the solution on All-in-One WP Migration site (Extension file). Download the extension plugin(Under Basic title and click on Download button) and then upload that plugin zip file to Plugins page and activate it. Next, try to import the migration file again. You can not download from the All-in-One WP migration site, you can download from the link below.
Because each WordPress site can be simple or complex, one migration method may work with the single site but it is not working at all with the complex site. Hope this post will help you have less headache.