In the past, when HTML websites were the norm, you just had to move your website files, and voilà, your website was working properly from the new location. Nowadays, most websites use PHP and MySQL, which makes the process of moving a website slightly more complex. To avoid any configuration mistakes, it is very good to have a step-by-step guide that is easy to follow. Since WordPress is the most widely used website software application, we will explain the different types of "moving" a WordPress website and provide step-by-step guides for each of them.

In general, the process of "moving" a WordPress website may refer to any of the following actions:

We offer free website migration for new hosting accounts. To move your WordPress from another hosting provider to us, all you need to do is to send us a request through a support ticket and provide access to your account at your old hosting provider. We will take care of the rest.


Switch Hosts and Keep the Domain

If you do not want to take advantage of our free website migration service, you can move your WordPress website to another host on your own and keep the same domain name. Here are the steps that you need to perform:

At your old hosting:

1. Download the website files to your computer.

If your old hosting provider offers you any backup utilities, use them. They will allow you to download one backup file instead of several hundred/thousand WordPress files.

We have a cPanel backup importing tool, so if your old hosting provider uses cPanel, you can create a full account backup and import the backup directly into your new account with us. You can learn more about the cPanel backup tool in the "cPanel migration" article from our online documentation.

You can also download your website files directly from your old hosting provider to your account with us through our FTP Migration tool that is available in the hosting Control Panel > "Migration" page. It will allow you to connect to a remote server and download your WordPress files to our servers through FTP.

You can find more information about this tool in the "FTP Migration Manager" article from our online documentation.

Of course, you can download your website files from your old hosting provider to your computer using an FTP application like FileZilla. Please refer to the online documentation of your old hosting provider for the correct FTP settings of your account there.

2. Export your WordPress database to your computer.
If you are not sure about the name of your WordPress database, you can find it in the wp-config.php file. The database name will be specified in the 'DB_NAME' variable.
Since not all hosting providers offer the same database exporting tools, we recommend that you check their knowledge base or contact their support team for assistance on the export process.

<strong>At your new hosting:</strong>

Upload your website files and database from your computer.

You can skip this step if you used the migration tools of our hosting Control Panel in step #1 as your website files are already uploaded to your ICDSoft account.

We suggest that you use an FTP application like FileZilla to upload your website files. You can refer to our "Uploading with FileZilla" guide to get started. If you want to use another FTP application, feel free to do so. You can find step-by-step tutorials on configuring the most commonly used FTP applications in the "Uploading files" category from our online documentation.

Create a new database

You can skip this step if you used the migration tools of our hosting Control Panel in step #1 as your database is already imported to your ICDSoft account.
You have to create a new database for your WordPress website using the hosting Control Panel > "MySQL Databases" section > "Create new database" subsection.

Import your WordPress database

Now, you need to import the database dump file from your computer to the database created in the previous step. You can do this very easily in two ways:

Hosting Control Panel > MySQL Databases > Import Wizard
Go to your hosting Control Panel > "MySQL Databases" section, click the "Import" button for your newly created database, and select the exported database file from your computer. You can find an in-depth tutorial on how to use the "Import Wizard" in the "Importing a database" article.

phpMyAdmin

You can access phpMyAdmin through the hosting Control Panel > "phpMyAdmin" section. Once there, click on your database from the navigation menu on the left, select the "Import" tab from the main window, and proceed with the import. We have a great tutorial in the "Importing a database using phpMyAdmin" article from our online documentation that covers the steps of importing a database through phpMyAdmin.

Update wp-config.php to use the new database.

You need to get your WordPress files and database at your new hosting provider working together. You can use the hosting Control Panel > File Manager interface to edit your wp-config.php file and update the "MySQL settings" of your WordPress, so the new database is used. This file must be in the main directory of your WordPress installation.

<strong>At your registrar:</strong>

Point your domain name to your new hosting provider.

There are a few ways to this; however, we recommend that you point your domain to your new hosting provider by name server (NS) records. You can change the name servers of your domain only through your registrar. This is the company where you renew your domain name, and they can be different from your hosting provider. If you do not know who your domain registrar is, you can use our WHOIS lookup tool to find that out.


Switch Hosts and Change the Domain

To move your site to a new host and change your WordPress domain, you have to complete the steps of the "Switch hosts and keep the domain" process, as well as one extra step at your new hosting provider:

<strong>At</strong> <strong>your old hosting</strong>

1. Download the website files to your computer.
If your old hosting provider offers you any backup utilities, use them. They will allow you to download one backup file instead of several hundred/thousand WordPress files. We have a cPanel backup importing tool, so if your old hosting provider offers cPanel, you can create a full account backup and import the backup directly in your new account with us. You can learn more about the cPanel backup tool in the "cPanel migration" article from our online documentation.
You can also download your website files directly from your old hosting provider to your account with us through our FTP Migration tool that is available in the hosting Control Panel > "Migration" page. It will allow you to connect to a remote server and download your WordPress files to our servers through FTP. You can find more information about this tool in the "FTP Migration Manager" article from our online documentation.
Of course, you can download your website files from your old hosting provider to your computer using an FTP software application like FileZilla. Please refer to the online documentation of your old hosting provider for the correct FTP settings of your account there.

2. Export your WordPress database to your computer.
If you are not sure what is the name of your WordPress database, you can find it in the wp-config.php file. The database name will be specified in the 'DB_NAME' variable.

Since not all hosting providers offer the same database exporting tools, we recommend that you check their knowledge base or contact their support team for assistance on the export process.

<strong>At your new hosting</strong>

1. Upload your website files and database from your computer.
You can skip this step if you used the migration tools of our hosting Control Panel in step #1 as your website files are already uploaded to your ICDSoft account.

We suggest that you use an FTP software application like FileZilla to upload your website files. You can refer to our "Uploading with FileZilla" guide to get started. If you want to use another FTP software applications, feel free to do so. You can find step-by-step tutorials on configuring the most commonly used FTP software applications in the "Uploading files" category from our online documentation.

2. Create a new database
You can skip this step if you used the migration tools of our hosting Control Panel in step #1 as your database is already imported to your ICDSoft account.

You have to create a new database for your WordPress website using the hosting Control Panel > "MySQL Databases" section > "Create new database" subsection.

3. Import your WordPress database
Now, you need to import the database dump file from your computer to the database created in the previous step. You can do this very easily in two ways:

3.1 Import Wizard in the online Control Panel
You can find an in-depth tutorial on how to use the "Import Wizard" in the "Importing a database" article.

3.2 phpMyAdmin
You can access phpMyAdmin through the hosting Control Panel > "phpMyAdmin" section. Once there, click on your database from the navigation menu on the left, select the "Import" tab from the main window, and proceed with the import. We have a great tutorial in the "Importing a database using phpMyAdmin" article from our online documentation that covers the steps of importing a database through phpMyAdmin.

4. Update wp-config.php to use the new database.
You need to get your WordPress files and database at your new hosting provider working together. You can use the hosting Control Panel > File Manager interface to edit your wp-config.php file and update the "MySQL settings" of your WordPress, so the new database is used. This file must be in the main directory of your WordPress installation.

5. Change the domain (Site Address/URL) of your WordPress.
There are many ways to change the domain (Site Address/URL) of your WordPress in its database.
We do not recommend that you change your domain (Site Address/URL) through the WordPress Dashboard as there is a high chance that some images or page elements will continue to load from the old domain. We also do not recommend that you use phpMyAdmin as it can cause data serialization issues.

Our hosting Control Panel's WordPress Manager (that was announced in our blog) and WP-CLI have proven to work properly, so we will explain how to use them to change the domain (Site Address/URL) of your WordPress:

5.1 Control Panel > WordPress Manager
This method is super easy to use and is quite safe. It uses the WP-CLI "search-replace" command, so it will replace all the entries of the old domain (Site Address/URL) with the new one in your WordPress database. You will also be able to take advantage of the additional tools and features available in the WordPress Manager for your WordPress.
To change the domain of your WordPress installation, you have to import it to the WordPress Manager. After the import is complete, click on the pencil (edit) icon next to your WordPress installation, and select the new domain name of your website in the "Site URL" subsection. You can find more detailed instructions on how to change your domain (Site Address/URL) through the "WordPress" section in the "Changing the Site URL" article from our online documentation.

5.2 WP-CLI

We do not recommend this method for people with little experience as WP-CLI works over SSH, and you can quickly break your WordPress with it.
WP-CLI is the command line interface for WordPress, and it is supported on all ICDSoft hosting accounts. You can use it to complete both simple and complex tasks. You can find step-by-step instructions on the most widely used WP-CLI commands by our customers in the "WP-CLI Tutorial" from our online documentation.

To use WP-CLI, SSH must be enabled for your account in the hosting Control Panel > "SSH Access" section. You can find out how to enable SSH access for your account in the "SSH Access" article from our online documentation. After that, you should connect to your hosting account through SSH; you can find a step-by-step guide in the "SSH" category from our online documentation. Once you connect, you should navigate to your new WordPress directory by executing the following command:

cd ~/www/www/

Replace http://old-domain.com with the exact URL of your old domain name's WordPress website and http://new-domain.com with the new one in the command listed below, and execute it:

wp search-replace 'http://old-domain.com' 'http://new-domain.com' --skip-columns=guid

This will replace all the entries of the old domain (Site Address/URL) with the new one in your WordPress database.

WordPress should store its domain (Site Address/URL) only in its database; however, the domain may be hard-coded in the files of your WordPress installation. This usually occurs by a caching plug-in or a theme's cache. So, you need to make sure that you purge your WordPress cache. If you still notice missing images, CSS files, or any other discrepancies, you should check the console of your browser for specific errors. It can help you find resources that link to the old domain. You can open the browser console on most browsers with the F12 function key of your keyboard. Of course, if you are unable to resolve the problem, you can contact us through a support ticket via our support website.

<strong>At your registrar</strong>

Point your domain name to your new hosting provider.

There are a few ways to this; however, we recommend that you point your domain to your new hosting provider by name server (NS) records. You can change the name servers of your domain only through your registrar. This is the company where you renew your domain name, and they can be different from your hosting provider. If you do not know who is your domain registrar, you can use our WHOIS tool to find that out.


Change the Domain of WordPress

To change the domain (Site Address/URL) of WordPress, you need to update all records in your WordPress database that are associated with your domain. You can do this in a lot of ways. We advise against changing your domain (Site Address/URL) through the WordPress Dashboard as there is a high chance that some images or page elements will continue to load from the old domain. We also advise against using phpMyAdmin as it can result in data serialization issues.

Our hosting Control Panel's WordPress Manager (that was recently announced in our blog) and WP-CLI have proven to work properly, so we will explain how to use them to change the domain (Site Address/URL) of your WordPress:

Control Panel > WordPress Manager

This method is super easy to use and is quite safe. It uses the WP-CLI "search-replace" command, so it will replace all the entries of the old domain (Site Address/URL) with the new one in your WordPress database. You will also be able to take advantage of the additional tools and features available in the WordPress Manager for your WordPress.

To change the domain of your WordPress installation, you have to import it to the WordPress Manager. After the import is complete, click the pencil (edit) icon next to your WordPress installation, and select the new domain name of your website in the "Site URL" subsection. You can find more detailed instructions on how to change your domain (Site Address/URL) through the WordPress Manager in the "Changing the Site URL" article from our online documentation.

WP-CLI

We do not recommend this method for people with little experience as WP-CLI works over SSH, and you can quickly break your WordPress with it.
WP-CLI is the command line interface for WordPress, and it is supported on all ICDSoft hosting accounts. You can use it to complete both simple and complex tasks. You can find step-by-step instructions on the most widely used WP-CLI commands by our customers in the "WP-CLI Tutorial" from our online documentation.

To use WP-CLI, SSH must be enabled for your account in the hosting Control Panel > "SSH Access" section. You can find out how to enable SSH access for your account in the "SSH Access" article from our online documentation. After that, you should connect to your hosting account through SSH; you can find a step-by-step guide in the "SSH" category from our online documentation. Once you connect, you should navigate to your new WordPress directory by executing the following command:

cd ~/www/www/

Replace http://old-domain.com with the exact URL of your old domain name's WordPress website and http://new-domain.com with the new one in the command listed below, and execute it:

wp search-replace 'http://old-domain.com' 'http://new-domain.com' --skip-columns=guid

This will replace all the entries of the old domain (Site Address/URL) with the new one in your WordPress database.

WordPress should store its domain (Site Address/URL) only in its database; however, the domain may be hard-coded in the files of your WordPress installation. This usually occurs by a caching plug-in or a theme's cache. So, you need to make sure that you purge your WordPress cache. If you still notice missing images, CSS files, or any other discrepancies, you should check the console of your browser for specific errors. It can help you find resources that link to the old domain. You can open the browser console on most browsers with the F12 function key of your keyboard. Of course, if you are unable to resolve the problem, you can contact us through a support ticket.


Move WordPress from One ICDSoft Hosting Account to Another

It takes a few simple steps to move a WordPress website from one ICDSoft hosting account to another. You can find a short overview of the steps listed below; for an in-depth guide on the process, please check the "Moving WordPress between hosting accounts on our servers" article from our online documentation.

  • Create a backup through the hosting Control Panel (where WordPress is currently installed) > WordPress Manager > "Manage WordPress installations" subsection > click the "Manage" button for your WordPress installation > "Backup" section > "Backup now" button.
  • Download the backup to your computer using the "Download" button next to the newly created backup.
  • Import the downloaded backup to the account where you want to move your WordPress installation through the hosting Control Panel > WordPress Manager > "Import" tab.
  • Last but not least, you have to change the name servers of your domain name, so they point to the hosting account where you just imported your WordPress website.

Move WordPress to a Subdomain or a Different Directory

To get an existing WordPress website working from a subdomain or a different directory within the same hosting account, you need to move the files of your WordPress website and change its Site Address (URL) in the database. There are multiple ways to achieve this result; however, we will list only the two most commonly used ways below:

Control Panel > WordPress Manager

The WordPress Manager can move the files of your WordPress and update its database, so this is the preferred and easier method to move a WordPress website to a subdomain or a different directory. To use it, you need to import your WordPress installation to the WordPress Manager. Once your WordPress installation is imported and ready for management, click on the pencil (edit) icon next to it. You can select the new location (subdomain/domain/subdirectory) of your WordPress at the "Site URL" subsection.

You can find more detailed instructions on the entire process in the "Moving WordPress between directories or subdomains on the hosting account" article from our online documentation.

Manual transfer and update

We do not recommend this old-fashioned method as it is more prone to errors and requires more time and effort.

As explained above, you need to move the files of your WordPress installation to the new subdomain or directory and get the database records updated. To move your WordPress files from the directory where it is installed to a subdirectory or a subdomain, you can use the hosting Control Panel's "File Manager" interface or an FTP software program.

After the files are moved to the new location, you need to update the Site Address (URL) of your WordPress in its database. We have already explained this process earlier in this post (Change the domain of WordPress).

Since the first method is the hosting Control Panel's WordPress Manager, you should refer to the WP-CLI method from the third tab.

WP-CLI

WP-CLI is the command line interface for WordPress, and it is supported on all ICDSoft hosting accounts. You can use it to complete both simple and complex tasks. You can find step-by-step instructions on the most widely used WP-CLI commands by our customers in the "WP-CLI Tutorial" from our online documentation.

To use WP-CLI, SSH must be enabled for your account in the hosting Control Panel > "SSH Access" section. You can find out how to enable SSH access for your account in the "SSH Access" article from our online documentation. After that, you should connect to your hosting account through SSH; you can find a step-by-step guide in the "SSH" category from our online documentation.
Once you connect, you need to navigate to the directory where you want to move your WordPress installation and replace the all entries of the old Site Address (URL) with the new one in your WordPress database.

We do not recommend this method for people with little experience as WP-CLI works over SSH, and you can quickly break your WordPress with it.

If you moved your WordPress to a subdomain (i.e. new-subdomain.domain.com), you need to execute the following commands:

cd ~/www/new-subdomain/

and

wp search-replace 'http://domain.com' 'http://new-subdomain.domain.com' --skip-columns=guid

Make sure that you replace http://domain.com with the exact URL of your WordPress website and http://new-subdomain.domain.com with the exact URL of your new subdomain name.

If you moved your WordPress files to a subdirectory of your main domain (i.e. domain.com/directory/), you should execute the following commands:

cd ~/www/www/wordpress

and

wp search-replace 'http://domain.com' 'http://domain.com/directory' --skip-columns=guid

Make sure that you replace http://domain.com with the exact URL of your WordPress website and http://domain.com/directory with the exact URL of your new WordPress directory.

WordPress should store its Site Address (URL) only in its database; however, the domain may be hard-coded in the files of your WordPress installation. This is usually caused by a caching plugin or a theme's cache. So, you need to make sure that you purge your WordPress cache. If you still notice missing images, CSS files, or any other discrepancies, you should check the console of your browser for specific errors. It can help you find resources that link to the old domain. You can open the browser console on most browsers with the F12 function key of your keyboard. Of course, if you are unable to resolve the problem, you can contact us through a support ticket.


Move WordPress to HTTPS

We have made a dedicated topic for this, since it is a very common question: How to move WordPress to HTTPS.

Conclusion

As you can see, people may have something completely different in mind when they say they want to "move" their WordPress website. That is why we tried to explain all the possible ways of "moving" WordPress. Now, you know where to look if you need to “move” WordPress websites just about anywhere – from one host to another, from one domain to another, from a domain to a subdomain or a subdirectory, and even from HTTP to HTTPS.

We hope you liked this post and learned something new. If that is the case, please share it.

Author

A web hosting provider since 2001. We host over 58,000 websites for customers in over 140 countries around the globe.