Web HostingUpdated 2026-10-229 min read

Move a Non-WordPress Site to a New Host Without Downtime

StackWise Hosting Review Crew
The StackWise Hosting Review Crew is an editorial team that runs uptime and speed tests on hosting plans and tracks…
Visual representation of the voice · not a photographic portrait
Share𝕏✆f
Moving an HTML, PHP, Joomla or Drupal site? Back up, lower DNS TTL, test with your hosts file, then switch…
Quick answer: Keep the old host running until the end. Back up files and database, copy them to the new host, test the site there with your computer's hosts file, then change DNS. Wait at least 48 hours before cancelling the old plan.↗ Share on X

To move a non-WordPress website to a new host safely, keep the old host running until the very end. First make a full backup of the files and the database (if your site has one). Then copy everything to the new host, test it there using a temporary address or your computer's hosts file, and only then change the DNS to point your domain at the new server. Wait at least 48 hours before you cancel the old plan. If you follow that order, your visitors never see a broken site.

This works for plain HTML sites, custom PHP sites, Joomla, Drupal, and most other self-hosted systems. Below is the full step-by-step, with the checks people usually skip.

First: can your site even be moved?

READ ALSOBest web hosting for small business with 5,000 visitors a month →Shared hosting limits you must know before your site grows →Best small business hosting with daily backups included →

Not every website can be copied to another host. Before you buy a new plan, find out which kind of site you have:

Type of siteCan you move it?What you move
Plain HTML/CSS filesYes, easilyOnly the files
Custom PHP siteYesFiles + database (if any) + settings file
Joomla, Drupal or similarYesFiles + database + configuration file
Online store on a self-hosted systemYes, with careFiles + database + payment settings
Site made on a hosted builder (like Wix or Squarespace)Usually noYou rebuild it; only the domain moves

If your site lives inside a hosted website builder, the "host" and the "software" are the same company. You cannot download the site and upload it somewhere else. In that case, you rebuild the pages on the new platform and only move your domain. The rest of this article is for sites where you have access to the files.

Smart software picks in your inbox

Step 1: Make a list of everything the site uses

Open your current hosting control panel and write down:

1. The software and its version (for example, "Joomla 4" or "PHP 8.1 custom site").

2. The PHP version the server uses. A newer or older PHP on the new host can break old code.

3. Databases. Name, user, and which one the site uses.

4. Email accounts on your domain. If your email is hosted at the same company, it moves too, or it stops working.

5. Cron jobs. These are tasks the server runs on a schedule, like sending a newsletter or cleaning a cache.

6. Special settings, like a `.htaccess` file with redirects, or custom server rules.

7. SSL certificate. This is what gives you the padlock and "https". Note if it is free (often Let's Encrypt) or a paid one.

This list is your map. Most failed migrations happen because one item here was forgotten, very often the email or a cron job.

Step 2: Back up the files and the database

READ ALSOBest free website hosting with no forced ads →Key checks before signing a web host contract →Quick fixes to speed up your slow website on a budget →

Do two backups, and keep a copy on your own computer.

Files. Use the control panel's file manager to compress the whole site folder (often called `public_html` or `www`) into a ZIP, then download it. Or use an FTP program to download everything. FTP is a simple way to move files between your computer and the server.

Database. If your site has one, open phpMyAdmin (a common tool in hosting panels) and use Export to download a `.sql` file. For large databases, the host's backup tool or a command-line export is more reliable.

Then check the backup:

A backup you never checked is just a hope.

Step 3: Lower the DNS "TTL" a day early

DNS is the address book of the internet. It tells browsers which server your domain lives on. TTL (time to live) is how long other computers remember the old address before asking again.

If your TTL is long, some visitors may keep going to the old server for a while after you switch. To make the switch faster:

1. Go to where your domain's DNS is managed (your registrar or your current host).

2. Find the main "A" record for your domain and "www".

3. Change the TTL to a low value, like 300 seconds (5 minutes).

4. Wait for the old TTL to pass before you do the final switch. If the old TTL was one day, wait one day.

This single step removes most of the "my site is half old, half new" confusion.

Step 4: Set up the new host

On the new hosting account:

1. Add your domain to the account, but do not change DNS yet.

2. Pick the same PHP version you wrote down in Step 1, at least at first. You can upgrade later, after the move works.

3. Create a new database and a database user. Write down the database name, user, password and host (often "localhost", but not always).

4. Upload your files into the correct folder.

5. Import the database with phpMyAdmin's Import tab, using the `.sql` file.

Step 5: Connect the site to its new database

Your site has a configuration file that holds the database login. The name depends on the software:

Open that file on the new server and update the database name, user, password and host with the new values. Save it. If you skip this, you will usually see a "database connection error" page.

Step 6: Test the site before anyone sees it

This is the step that makes the move "safe". You want to see the site on the new server while the public still sees the old one.

Option A: temporary URL. Many hosts give a temporary address for new accounts. Use it if the host offers it, but be aware that some sites with fixed links may look broken there.

Option B: your hosts file (the most reliable). You can tell only your own computer to open the new server:

1. Find the new server's IP address in the new host's panel.

2. Open your computer's hosts file (on Windows: `C:\Windows\System32\drivers\etc\hosts`, opened as administrator; on Mac or Linux: `/etc/hosts`).

3. Add a line like: `203.0.113.10 yourdomain.com www.yourdomain.com` (using your real new IP).

4. Save, close your browser, open it again, and visit your domain.

Now only your computer sees the new server. Test:

When you finish, remove that line from the hosts file. Forgetting it will confuse you later.

Step 7: Move email and SSL

Email. If your email accounts were on the old host, create the same accounts on the new host. Download old messages with your email program, or ask the new host if they offer a migration tool. If your email is on a separate service, check that its DNS records (called MX records) are copied exactly.

SSL. Most hosts can install a free certificate in a few clicks, but often only after the domain points to them. Plan to activate SSL right after the DNS switch, and check that the site opens with "https" and the padlock.

Step 8: Switch the DNS

Now change the domain's "A" record (and "www") to the new server's IP. Or, if the new host asked you to, change the domain's nameservers.

Before you click save, copy every other DNS record you have at the old provider, especially:

If you change nameservers and forget these, your email or other services can stop working.

Step 9: Watch for 48 hours, then cancel the old plan

After the switch:

1. Check the site from your phone using mobile data (not your Wi-Fi).

2. Send yourself an email and reply to it.

3. Check that forms still arrive.

4. Re-create the cron jobs from your list in Step 1.

5. Look at the error log in the new host's panel once a day.

Keep the old hosting active for at least two days, or longer if you can. If something goes wrong, you can point the DNS back to the old server in minutes. Only cancel when everything has worked for a few days.

Common problems and quick fixes

What you seeLikely causeFix
"Error establishing database connection"Wrong login in config fileRecheck name, user, password and host
Blank white pagePHP version mismatchSwitch to the old PHP version
Images missingFiles not fully uploaded or wrong folderRe-upload the images folder
Pages work but links go to the old addressOld domain saved in settings or databaseUpdate the site URL setting
Email stoppedMX records not copiedRe-add MX records exactly
"Not secure" warningSSL not active yetInstall SSL on the new host

Your next step

Today, open your current hosting panel and fill in the list from Step 1: software, PHP version, database, email accounts, cron jobs and SSL. Then lower your DNS TTL as shown in Step 3. These two tasks take less than 30 minutes, cost nothing, and make the rest of the move much safer. Tomorrow, with the TTL already low, you can do the backup, upload and test calmly.

FAQ

Can I move a Wix or Squarespace site to another host?

Usually not. Hosted builders do not let you download the site. You rebuild the pages on the new platform and move only the domain.

Why should I lower the DNS TTL before moving?

A low TTL makes other computers check your domain's address more often, so visitors reach the new server faster after the switch.

When can I cancel my old hosting?

After the site, email and forms have worked on the new host for at least 48 hours. Until then, the old host is your safety net.

Smart software picks in your inbox

Share𝕏✆f

Smart software picks in your inbox