Backup your WordPress website:To be on safe side, take full backup of your WordPress website before you make any changes. Now, copy all your WordPress files including .htaccess to your local computer either through FTP or through cPanel.
- Login to your cPanel and go to phpMyAdmin.
- Select the database you have been using for WordPress website.
- Click on Export on top of the page. Keep the default Quick option and press Go to download backup of database to your local computer.
Create Wordpress database at new host:
- At cPanel, go to MySQL Database.
- Create a New MySQL Database.
- Create new MySQL User.
- Add User to the database and grant All Privileges.
- Keep these database details handy, you will need to replace them in wp-config file soon.
Edit wp-config.php for newly created database:Now, browse the folder where you downloaded your WordPress website files and locate the file called wp-config.php. Before you edit the wp-config.php, keep a copy of it as safeguard. Replace the database login details (you just created in above step) in file wp-config.php. Now, update the following lines with database, username and password.
- Open phpMyAdmin and select newly created WordPress database.
- Click on Import tab at the top of page.
- Under File to Import, select database fiile which we exported earlier.
- Under Partial Import Option, Uncheck option of “Allow the interruption of an import in case the script detects it is close to the PHP timeout limit". Click on Go.
Upload WordPress file to new host:Now using FTP, copy your WordPress website files at new WebHost in root directory(public_html).
Edit database(Edit Site URL):After migration, to make images and posts linking work appropriatelty, you’ll need to update your domain name database. Just opening wordpress database and updating it won't work as it may break any serialized data.
Hence, you will need a script that will preserve serialized PHP strings when performing a search and replace. You just need to upload this script to your website, scan all the tables and then input what you want to find (your old domain name) and replace (your new domain name).