How to Migrate WordPress Site Manually to a New Host (2026 Guide)

If you are looking for a manual way to move WordPress to a new hosting server, this guide covers the file-and-database method. Unlike a plugin-based migration, you work directly with the site’s files, database, DNS, and hosting environment. Our separate UpdraftPlus migration guide covers the plugin-based approach.

If you are tired because the plugins in the market specially developed for migration are not working at all. I am the same as you. Once I tried to migrate my website to a new host using duplicator as well as All-in-One WP Migration plugins. Sadly, Duplicator, as well as All-in-One WP Migration, are both stuck at certain points resulting a huge resource usage.

The migration requires a copy of the WordPress files and database. The SSL/TLS certificate is handled separately on the destination server; in most modern hosting environments, you should provision a new certificate rather than copy private keys from the old server.

If you want to perform the migration yourself, follow the sequence below. A carefully planned cutover can minimize or potentially avoid visible downtime, but no manual migration can honestly guarantee zero downtime: DNS caching, server configuration, application errors, and last-minute changes can all affect availability.

How to Migrate WordPress Site Manually to a New Host: Step-by-Step

You can prepare most of the new server before changing DNS, which is the key to minimizing downtime. The safest workflow is to keep the old site running, prepare and test the new copy, then perform the final backup and DNS cutover.

Manual migration is not automatically easier than using a plugin; it simply gives you more direct control. It can be useful when you have server/file/database access or when a plugin-based migration is unsuitable.

  • You can save the time required to set up the plugin in an existing host as well as the new host.
  • The time required to upload and download the files between your server and third-party storage is higher than the time required when you download files from the old server and upload the files to a new server.
  • You can minimize downtime by preparing the destination before changing DNS. However, keep a rollback copy of the old server until the new site has been tested.

So, the following is the step-by-step guide you can apply to migrate the WordPress site manually to the new host.

Decide the New Host to Migrate

If you are already searching for site migration, you may probably have a hosting server. But how about your host? Is it fast, reliable, and able to handle the mass file transfer during the migration of your large site? If your server is not the best, here is what we recommend from our side.

You can get a hosting plan for your WordPress site from Bluehost. Which of course is the secure, fast, and trusted hosting service provider. It is also recommended by WordPress itself. Alternatively, you can also go for Hostinger, which also provides the best solution at a really reasonable price.

If your site is large and getting a lot of traffic, you can also go for VPS or Managed to host service. For a managed server, we recommend WP Engine in the first place and Kinsta as it is a bit expensive although it is worth it.

Add The Domain To New Host

You may probably have added the domain as the main domain during purchase. Although, this step is not essential to mention we recommend at least adding the domain to your server control panel. If you have purchased a single domain hosting, you might be having the same domain as the main domain.

Adding Domain

If your hosting allows you to add multiple domains, you can add your desired domain to the new server as an addon domain if the main domain is occupied by another domain. You can even change the main domain to your desired domain generally by submitting a ticket if you wish. The main message of this point is to get the domain added to the new server.

Compress and Export the Site Files

When we are planning to migrate the WordPress site manually to a new host, it requires all the site files to be downloaded to local storage. You can export the site files from the server to local storage with the help of the following steps.

  • Login to cPanel or Server control panel
  • Identify the desired site’s installation directory.
  • Compress the site installation directory to a ZIP file.
  • Download the zip file
Compressing Files

You can either make a zip of the “Yourdomain” installation directory or the files and folders located inside the directory.

The compression type depends upon the hosting plan you own. If you own a single domain hosting, you can zip all the files inside the public_html. If you own multiple domain hosting, you have to choose the appropriate directory.

Export the Database

As I said earlier, the manual migration is just a matter of identifying the associated files on the existing server and making an exact duplicate of them on the new server. The database is another most important thing that we need to replicate to migrate the WordPress site manually to the new host.

To export or download the database, you may need to identify the database location. In the cPanel control panel, you can easily find the WordPress site’s database inside the Databases section.

To download the database, scroll down to Databases Section and find the PHPMyAdmin option and open it.

  • Identify the database (in case you have multiple) and open it.
  • Click on Export Tab
  • Choose the format as SQL
  • Click on the Go
Export Databases To Migrate Website

This will initiate the database download process in database_name.sql format. The download time depends upon the size and the server you own.

Prepare HTTPS/SSL on the New Server

HTTPS redirects in WordPress or .htaccess do not install an SSL/TLS certificate on the new server. Before switching traffic, make sure the destination server has a valid certificate for the domain and that HTTPS works correctly.

Migrate Ssl During The Manual Migration Of Wordpress Site

Do not make copying the old certificate and private key your default migration method. On the new host, use its SSL/TLS manager or ACME/Let’s Encrypt integration to issue a certificate for the domain. If your organization uses a separately managed certificate, follow the certificate provider’s documented installation procedure.

Avoid storing private keys in plain text notes unless your certificate workflow explicitly requires it. For a managed or ACME certificate, let the destination host provision and renew it automatically.

Upload the Files to New Host

The files are the body of your site. So, it is important to create a duplicate of it on the new server. Therefore, you have to upload the site files while you migrate the WordPress site manually to a new host.

When both the files and databases are saved on the local storage, log in to the new host’s control panel. Identify the location where the files for the desired domain lie. Upload the zip file of the WordPress files on the domain directory or public_html (in case, the domain is main)

How to Identify the Directory?

If the domain is added as the main domain on the control panel, you have to upload the files to the root directory called public_html.

If the domain is added as an addon domain, there are two possibilities.

  1. The Addon Domain may be inside the public_html/yourdomain.com folder. Or
  2. The Addon Domain may be outside the public_html folder. If it is not, you can even move the addon domains outside the public_html folder.

Extract the Files and Place Properly

If you have zipped the domain directory, it will create a folder inside the directory. Then you may have to move the files after extracting the zip files to the actual root of the domain. If you have compressed the files inside the domain directory, you can simply extract the files and delete the zipped one.

After extraction, delete the compressed file.

Upload the Database

Similar to exporting of the database, you can also import the database from local storage to the server. Go to phpMyAdmin and import the data in .sql format.

Import The Database To Migrate Wordpress Site Manually

There is nothing much to do with the database while you migrate the WordPress site manually to a new host. If the same has to be done during migration to a new domain, there would be some modifications.

Upload and Install SSL Certificate

A valid HTTPS configuration is essential for a clean migration. Do not treat a specific ranking drop as an automatic consequence of missing the certificate for a few hours; the practical priority is to avoid HTTPS errors, downtime, redirect problems, and inconsistent URL handling.

On the new host, open the SSL/TLS or security section and provision a certificate for the domain. ACME validation can use different challenge methods, so do not assume that changing nameservers is always required. Follow your host’s current certificate instructions and verify HTTPS before the final cutover.

After the certificate is issued, test the HTTPS version of the destination site before changing DNS where your hosting setup allows it. The goal is to have valid HTTPS, redirects, and the correct canonical site URL ready before traffic moves to the new server.

Set DNS Records (Nameservers or A record)

The domain name system is the last thing you will need to set/map to migrate the WordPress site manually to a new host. After properly completing all the steps, recheck if there is anything to complete.

Now, it is time to point your domain to your new host. If you are using the nameservers to point to the old host, you may want to change the nameservers to the new one.

If you are using the DNS manager of your registrar, Cloudflare, or any other third parties, you can also point using the A records.

DNS caching means visitors and resolvers may switch to the new server at different times. Do not rely on a fixed “24 hours” promise; monitor DNS resolution and test the site from more than one network/location.

During the DNS transition, some visitors may still reach the old server while others reach the new one. Keep the old server intact and avoid making content changes on only one copy after the final backup, or the two versions can diverge.

Wrap Up

With this workflow, you can prepare the new server before the DNS cutover and substantially reduce migration downtime. After the switch, test the site thoroughly before retiring the old hosting account.


Discover more from Grisma

Subscribe to get the latest posts sent to your email.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from Grisma

Subscribe now to keep reading and get access to the full archive.

Continue reading