Are you looking to switch hosting providers and want to know how to transfer web hosting without breaking your site? By following our simple step-by-step guide, you’ll have no problems migrating your website to a new web hosting provider.

Web hosting migration simply means moving your website’s files, database and settings from one hosting provider to another. When done properly, you can transfer web hosting with little or no downtime, and all your content, data, and emails stay intact throughout the move.

Before you start your web hosting migration

Before you begin the process, make sure you have everything you need for a smooth migration:

  1. Login details for your current hosting account and your domain registrar
  2. A recent backup of your website files and database
  3. A list of any email accounts currently set up with your host
  4. Access to your DNS settings so you can update them later

Having these details ready will make it much easier to transfer web hosting without delays or unexpected issues.

How to transfer web hosting step-by-step

To transfer your website to another hosting company, complete these nine steps:

1. Choose a new hosting provider

Before you start with any technical steps in transferring web hosting, you first need to choose a new web hosting provider. This is one of the most important factors you'll need to consider when migrating your web hosting, as you'll want to find a good host to transfer your site to. Below are some of the factors you should keep in mind:

  • Cost: Look at both the initial and long-term costs associated with your contract and find out whether the hosting provider offers a scalable plan that can fit within your budget.
  • Reliable performance: Make sure the hosting provider guarantees high uptime and stable performance, especially if you’re moving an existing website that already gets traffic.
  • Security: Your web host should have a variety of security protocols to keep your website and data safe, such as SSL certificates.
  • Tools: Ensure that your web host supports numerous platforms, whether you use a content management system like WordPress, or you’ve coded the website from scratch. Another tool to look out for is a plugin that allows for easy integration.
  • Extra features: Look out for any features that a particular web hosting provider may be offering, such as 24/7 customer support, free website transfers and promotional offers.
  • User experience: Keep in mind the user experience when looking at your web host – for example, we have a Control Panel that allows you to manage all your services from one place.
  • Extra migration support: It’s worth checking whether your new host offers a free website transfer as part of the move. This can save time and reduce the risk of mistakes during your web hosting migration.

If your new host offers a managed migration or free website transfer service, this is often the easiest option, especially if you’re not comfortable using FTP or handling databases. If they don’t, you’ll need to do a manual website transfer, which we’ve outlined below.

2. Save your website's files

Before you start to transfer your website, it’s important that you save your website files, so you have a complete backup before you transfer your web hosting. The easiest way to do this is to download your files using an FTP (File Transfer Protocol) service called FileZilla (it’s one of the best, and it’s completely free).

a. Download and install the FileZilla Client

Download and install the FileZilla Client by following this link: FileZilla.

b. Create a folder on your desktop

Create a folder in a place you’ll easily find later and include a date and name so you can identify that this is your first download.

c. Create a new FTP account with your current hosting provider

You should be able to find your FTP details in your Control Panel under the “Hosting & Domains” menu. These details normally include your server name, username, password, and Port number. For more help using FileZilla with your Fasthosts hosting, see our FileZilla guide.

d. Link FileZilla to your current hosting account

Open FileZilla and enter your FTP login details (server, username and password). In the Port field, enter 21. Press Quick Connect and you should be connected to your FTP space.

Your website files are usually stored in a folder called public_html or www.

e. Download your website files to the folder you created

In FileZilla, you’ll see your hosting files in the right-hand window and your desktop folders in the left-hand window. Open the public_html (or www) folder on the right and drag and drop all files and folders into the backup folder you created on the left.

FileZilla will confirm the transfer once it begins. How long this takes depends on your site size. If FileZilla asks whether to overwrite, skip, or resume files during the transfer, choose Resume.

Once complete, you’ll have a full backup of your site saved on your device.

3. Export your database

Before we jump into this step, you should be aware that not all websites have a database, so this may not be a necessary step. If this is the case, skip this step (and go straight to number six).

Static websites where the content within them remains largely unaltered tend not to have a database. Any site that permits user generated content (such as comments) or dynamic pages (which change automatically depending on where they’re accessed from) will certainly have a database attached.

Most popular CMS platforms like WordPress, Joomla and Drupal use a MySQL database to store posts, pages, users and settings. If you’re using one of these, you’ll almost certainly need to export and import a database as part of your website transfer.

The most common type of database is MySQL. This can be exported using the app phpMyAdmin, which you can easily access from any hosting account using the standard cPanel dashboard.

If your database is not a MySQL database, or you can’t find the phpMyAdmin option in your current hosting account control panel, it’s best to check in with your hosting support team.

Here’s how to export your database:

  1. Once you’re logged into phpMyAdmin, find your site’s database name from the List of Current Databases and click it to open the database.
  2. Tick the Check All box at the bottom of the tables list to select all tables and click the Export tab at the top of the page.
  3. Select SQL from the Format drop-down menu and click the Go button to start downloading.
  4. Find the SQL file you’ve downloaded and move it to the same folder as your website files to keep everything in one place.

4. Create a new database

To import your database into your new hosting dashboard, you first need to create a blank database.

Start by logging into your newly created hosting account.

Important note: We’re assuming that you're using a MySQL database.

Here’s the process, step by step:

  1. Log in to your new hosting account.
  2. Open the MySQL Databases section (stored under Databases in your account control panel).
  3. Under the heading Create New Database, type in the chosen name of your new database (put this in the field labelled New Database).
  4. Click the Create Database button.

After creating the database, you’ll also need to create a database user and assign a password. Make sure you remember these and grant yourself full user permissions when prompted.

5. Import your database

Next, we’re going to add the downloaded database file to the new database we’ve created in our new hosting account.

  1. Go into your new hosting account and navigate back to the Database section.
  2. Select the new database from the left-hand menu to open it. You should see the message No tables found in database.
  3. Navigate to the Import tab in the top menu.
  4. Click the Choose File button and select the SQL file you saved earlier. The name of the file will appear next to the button.
  5. Do not change any other fields on this page, and click the Go button at the bottom of the screen.
  6. You’ll see a loading wheel appear while your database is imported. When it’s complete, you’ll see the message Import has been successfully finished.

6. Modify your website's files

So far so good. Your database has been successfully moved across to your new hosting provider. Next step, move your files across.

For websites that have both files and databases, we need to complete an extra step before we do this.

Beware, it’s going to involve a little bit of coding, but nothing even a novice can’t handle, and we’re going to take you through it step by step so you can’t make a mistake. You’re only updating a few lines with your new database details, and you won’t need to change anything else.

Here’s how you can edit the files for Joomla and Drupal, two popular CMS platforms. WordPress is the most popular CMS platform, so we’ve made a separate guide on how to back up your WordPress website in more detail.

For the following examples we’re using this information:

New database name: mynewdatabase

User: abc123

Password: fasthostsarethebest

a. Joomla

File name: configuration.php

How to edit: Using Ctrl + F, search the term localhost (this should not appear far down the page). Plug in the details for your new database, so the three fields underneath this line read:

public $user = ‘abc123’ ;

public $password = ‘fasthostsarethebest’ ;

public $db = ‘mynewdatabase’ ;

b. Drupal

File name: settings.php

How to edit: Using Ctrl + F, search the term databases (this should not appear far down the page). Plug in the details for your new database, so the three fields underneath this line read:

‘database’ => ‘mynewdatabase’ ,

‘username’ => ‘abc123’ ,

‘password’ => ‘fasthostsarethebest’ ,

7. Upload your website's files

Now that we’ve successfully modified our website files so they’re in sync, we can start to upload your website files across to your new hosting provider. As usual, we’ll be doing this using an FTP.

a. Create an FTP account with your new hosting provider

Since this is the first instance your new account has used an FTP, you’ll need to create a new FTP user account.

To do this, go to the files section of your dashboard and select FTP accounts. Then create a new user and password and take note of these and your Port number (which will likely be 21).

b. Sync FileZilla to your new hosting account

This is the exact same process we used to sync FileZilla to your old hosting account in step 2d, but replace the details with the ones you just created.

c. Upload your website files to your new hosting account

Just like before, you’ll see your desktop files in the left quadrant, and the website setup on the right quadrant. On the right-hand side, you’ll see your new hosting space. Most websites are stored in a folder called public_html or www, so open that folder if it’s available. Upload all the files and folders you downloaded earlier into this directory, keeping the same structure as on your old host.

When you’ve successfully completed this, you should see the files appear in the correct location on the quadrant on the right side.

8. Test your website

Now that your site’s files and database are on your new hosting provider, it’s time to test everything in a private ‘risk free environment’ before you put it live for the whole world to see.

The quickest way to do this is through a test domain or temporary preview URL, which is offered by most hosting providers. This lets you view your site on the new host without updating DNS.

Once you have access to the test URL, check that your homepage loads, your main pages open correctly, and that forms, links and images all work as expected.

If you’re unsure where to find your test URL, get in touch with your hosting provider and they will be able to guide you through the process.

9. Update your DNS settings

This leaves us with one final step: updating your DNS records. You can do this by logging into your domain registrar’s portal or contacting your domain registrar to get access to your advanced DNS settings. But remember that you don’t have to transfer your domain name to migrate web hosting. You can keep your domain with your current registrar and just update the DNS records to point to your new host.

The two A records you'll need to change are the www record and the apex record (sometimes called the blank record, depending on your domain host).

Next, get the IP address of your new hosting location (which should be visible on the portal or control panel) and enter it into both A records, then save your changes.

Once you save your DNS changes, they can take anywhere from a few minutes to 24–48 hours to fully update worldwide. During this DNS propagation period, some visitors may still see your old host while others see the new one, so it’s best to keep your old hosting plan active until everything has settled.

If your current host also manages your email, remember that you may need to update your MX records after the migration, so your email continues to work correctly.


You’ve done it! You now know exactly how to transfer web hosting from one provider to another. Remember that throughout this process, if you’re experiencing issues, you can always get in touch with your hosting provider who can help you throughout the process. In case you have any questions, don’t hesitate to get in touch with our sales team.