Switching web hosts is one of those tasks that sounds daunting but is actually very manageable when you have the right plan. Whether your current provider keeps going down, your site has grown out of its shared plan, or you're simply looking for better performance and support, the good news is this: you can migrate your website to a new host without your visitors experiencing a single second of downtime.
The key is sequencing. You fully set up and test your site on the new server before you tell the internet to redirect traffic there. DNS propagation takes time, and you can use that buffer to your advantage. By the end of this guide, you'll know exactly how to execute a clean, zero-downtime migration — from the first file backup all the way to verifying your SSL certificate on the new host.
Let's dig in.
Before You Start – What to Prepare
A smooth migration starts before you touch a single file. Gather everything you'll need upfront so you're not scrambling mid-process. Here's your pre-migration checklist:
- Access to your current cPanel (or control panel): You'll need login credentials to your existing hosting account to export files and databases.
- FTP/SFTP credentials for your current host: These allow you to download files directly using an FTP client like FileZilla.
- Domain registrar login: You'll need access to wherever your domain is registered (GoDaddy, Namecheap, Google Domains, etc.) to update your nameservers or DNS A records when you're ready to switch.
- A complete backup of your current website: Both files and database — never start a migration without a verified backup.
- A new hosting account set up and ready: If you haven't already, sign up for a new plan. Check out Hosterlo's shared hosting plans — they're fast, affordable, and include everything you need to get started immediately, including cPanel access, free SSL, and an easy onboarding experience.
- Approximately 2–4 hours of free time: The actual work takes 1–2 hours; DNS propagation does the rest on its own.
Pro Tip: Do your migration during off-peak hours (late evening or early morning) when your site traffic is naturally lower. Even though you're aiming for zero downtime, this reduces any potential impact of edge cases.
Step 1 – Back Up Your Entire Website
This is the most critical step. Before you move a single file, you need a complete, verified backup of your site. There are several ways to do this depending on how your site is built.
Option A: Full cPanel Backup (Recommended)
Log into your current host's cPanel, navigate to Backup or Backup Wizard, and generate a full cPanel backup. This creates a single compressed .tar.gz file containing your files, databases, email accounts, and settings. Download it to your local computer once it's ready. This is the most complete backup method available.
Option B: Files via cPanel File Manager or FTP
In cPanel, open File Manager, navigate to public_html, select all files, compress them to a ZIP, and download. Alternatively, use an FTP client like FileZilla — connect using your host's FTP hostname, username, and password — then drag your entire public_html directory to your local drive.
Option C: Export Your Database via phpMyAdmin
In cPanel, open phpMyAdmin, select your website's database from the left panel, click the Export tab, choose "Quick" export and "SQL" format, then click Go. Save the .sql file somewhere you can easily find it — you'll need it in Step 4.
Option D: UpdraftPlus for WordPress Sites
If you're running WordPress, install the free UpdraftPlus plugin. Go to Settings → UpdraftPlus Backups → Backup Now. It will create separate archives for your files and database. You can store them locally or in a cloud service. This is arguably the easiest method for non-technical WordPress users.
Warning: Never skip this step or proceed with just a partial backup. If something goes wrong during the migration, your backup is your safety net. A complete backup is your insurance policy.
Step 2 – Set Up Your New Hosting Account
If you haven't already signed up with your new host, now is the time. With Hosterlo web hosting, the sign-up process takes just a few minutes. After purchasing your plan, you'll receive a welcome email with your cPanel login credentials, server IP address, and nameserver details — save all of these.
Once inside cPanel on your new host, do the following before you upload anything:
- Add your domain as an Addon Domain or Primary Domain: In cPanel, go to Domains → Addon Domains (or simply set it as the primary if it's a fresh account). This tells the server what domain the site will respond to.
- Create your email accounts: If you use email hosted with your web host (e.g.,
hello@yourdomain.com), recreate those accounts now in cPanel → Email Accounts. Set the same passwords so your mail client settings won't need to change after the switch. - Note the server's IP address: You'll use this to test your site locally before DNS propagates and to set DNS A records if needed.
- Install SSL (if not auto-provisioned): Most modern hosts, including Hosterlo, auto-provision Let's Encrypt SSL. Check that it's active in cPanel → SSL/TLS.
Hosterlo Tip: Hosterlo's control panel includes a one-click SSL provisioner and free Cloudflare integration. You won't need to manually configure most of these items — the setup wizard walks you through everything in under 5 minutes.
Step 3 – Upload Your Files to the New Host
With your new account set up, it's time to transfer your website files. You have two main methods:
Method A: FileZilla via FTP/SFTP
FileZilla is a free, cross-platform FTP client that makes file transfers easy. Here's how:
- Download and install FileZilla if you don't already have it.
- Open the Site Manager (File → Site Manager) and create a new connection using your new host's FTP hostname (usually
ftp.yourdomain.comor the server IP), your cPanel username, and password. Use port 21 for FTP or 22 for SFTP (preferred for security). - Connect to the server. On the right panel, navigate to
public_html. On the left panel, navigate to your backed-up website files on your local drive. - Select all local files and drag them to the remote
public_htmldirectory. FileZilla will queue and upload everything.
Method B: cPanel File Manager Upload
If your site is relatively small (under ~500MB), you can upload directly through cPanel's File Manager. Compress your files into a single ZIP on your computer, upload it to public_html via File Manager, then right-click and extract it in place. Clean, simple, no software needed.
Important: Make sure your files land directly in public_html — not in a subfolder like public_html/my-site/. The folder structure on the new host should mirror exactly what you had on the old host.
Step 4 – Import Your Database
Most dynamic websites — especially WordPress, Joomla, Drupal, and custom PHP apps — rely on a MySQL database to store content, users, and settings. Here's how to move yours:
1. Create a New MySQL Database on the New Host
In your new host's cPanel, go to MySQL Databases. Create a new database (e.g., mynewdb), create a database user with a strong password, and then add that user to the database with All Privileges. Write down the database name, username, and password — you'll need them shortly.
2. Import via phpMyAdmin
In cPanel on your new host, open phpMyAdmin. Select your newly created database from the left sidebar. Click the Import tab, click "Choose File," select the .sql file you exported in Step 1, and click Go. phpMyAdmin will import all your tables and data. For large databases (over 50MB), you may need to use a tool like BigDump or ask your host to import via command line.
3. Update wp-config.php (WordPress Only)
If you're migrating a WordPress site, open public_html/wp-config.php on your new host (via File Manager or FTP) and update the following lines to match your new database credentials:
define('DB_NAME', 'mynewdb');
define('DB_USER', 'mynewdbuser');
define('DB_PASSWORD', 'yourpassword');
define('DB_HOST', 'localhost');
Save the file. The DB_HOST value is almost always localhost on shared hosting, but verify this with your new host if the site doesn't load during testing.
Step 5 – Test Your Website Before Going Live
Here's where the "no downtime" magic happens. You're going to preview your site on the new server without changing any DNS records — so your live site on the old host continues to function normally for visitors while you verify everything on the new one.
Modify Your Local Hosts File
Your operating system has a local hosts file that takes precedence over DNS. By adding an entry pointing your domain to the new server's IP, your computer will load the site from the new host while everyone else still sees the old one.
On Windows, open Notepad as Administrator and open C:\Windows\System32\drivers\etc\hosts. On Mac/Linux, open Terminal and run sudo nano /etc/hosts.
Add this line at the bottom (replace with your actual values):
123.456.789.000 yourdomain.com www.yourdomain.com
Replace 123.456.789.000 with your new server's IP address. Save the file and open your browser. Your domain will now load from the new host — privately, just on your machine.
What to Check
- All pages load correctly — homepage, about, contact, product/blog pages
- Images and media are displaying properly
- Forms work (submit a test entry)
- User login/registration functions correctly
- WooCommerce or eCommerce checkout flows work (if applicable)
- SSL padlock appears in the browser bar
- No broken links or 404 errors
- Page load speed feels normal or better
Only once you're satisfied that everything is working perfectly on the new host should you proceed to change your DNS. When done testing, remember to remove the hosts file entry — otherwise your browser will keep going to the new server regardless of DNS.
Step 6 – Lower Your DNS TTL
TTL stands for Time To Live — it's a value (measured in seconds) that tells DNS resolvers around the world how long to cache your domain's DNS records before checking for updates. A high TTL (like the default 3600 seconds / 1 hour, or 86400 seconds / 24 hours) means that when you change your nameservers or A record, it takes a long time for the whole internet to see the update.
The solution? Lower your TTL to 300 seconds (5 minutes) at least 48 hours before you plan to switch DNS.
How to Lower TTL
Log into your domain registrar or DNS provider (wherever your DNS records are currently managed). Find the A record or SOA record for your domain and change the TTL value to 300. Save the change and wait 24–48 hours for this low TTL to propagate globally.
Now when you update your DNS to point to the new host, the internet will pick up the change within just 5 minutes for most users instead of waiting 24+ hours. After migration is complete and stable (give it a few days), you can raise TTL back to 3600 or higher.
Plan ahead: Lower your TTL 48 hours before your intended switch date. This step costs you nothing but saves you hours of propagation time on migration day.
Step 7 – Point Your Domain to the New Host
This is the moment of the switch — and because you've already set up, tested, and confirmed everything on the new server, it should be anticlimactic in the best possible way.
There are two ways to redirect your domain to a new host:
Option A: Update Nameservers (Most Common)
If you want to manage DNS entirely through your new host, change your domain's nameservers at your registrar. Log into your domain registration provider, find the nameserver settings for your domain, and replace the existing nameservers with the ones provided by your new host (e.g., ns1.hosterlo.com and ns2.hosterlo.com). Save the change.
Nameserver changes can take up to 24–48 hours to fully propagate, though with a lowered TTL most users will see the new host within 1–2 hours.
Option B: Update the A Record Only
If you want to keep DNS management where it currently is (e.g., at Cloudflare or your registrar), simply update the A record for your domain (@ and www) to point to your new server's IP address. This is faster than changing nameservers and typically propagates within minutes if your TTL is already set to 300.
Don't cancel your old hosting yet! Keep your old hosting account active for at least 48–72 hours after switching DNS. This ensures that visitors using cached DNS can still reach your old server while propagation completes. Only cancel once you've confirmed 100% of traffic is hitting the new server.
Step 8 – Verify Everything After DNS Propagates
Once DNS has updated and visitors are being routed to the new server, do a thorough final verification sweep. Don't assume everything is fine — confirm it.
- Clear your browser cache (Ctrl+Shift+Delete) or use an incognito/private window to ensure you're seeing the live version, not a cached one.
- Check your SSL certificate — Visit your site and confirm the padlock icon appears. Click it to verify the certificate is valid and issued for your domain. If SSL isn't active, go to cPanel → SSL/TLS Status and force an issue.
- Test contact forms — Submit a test form and verify you receive the email notification. Email deliverability issues can surface after migration if SPF/DKIM records weren't copied over.
- Verify email accounts — Send a test email to and from your hosting-based email addresses. Check that your email client (Outlook, Apple Mail, etc.) can still send and receive using the same settings, or update the incoming/outgoing server settings to your new host's mail server.
- Check DNS records — Use a tool like DNSChecker.org to confirm your domain is resolving to the new server's IP globally.
- Run a speed test — Use Google PageSpeed Insights or GTmetrix to confirm performance is meeting expectations on the new host.
- Check Google Search Console — Make sure there are no crawl errors or indexing issues following the migration. The site structure shouldn't change, so this is mostly a verification step.
Migrating WordPress Specifically
WordPress is the world's most popular CMS, and it has a robust ecosystem of migration tools that can significantly simplify the process outlined above. Here are the three most popular approaches:
All-in-One WP Migration Plugin
This free plugin (available at WordPress.org) exports your entire WordPress installation — files, database, themes, plugins, and all settings — into a single .wpress file. Install it on your old site, click Export, download the archive. Then install WordPress on your new host, install the same plugin, and import the archive. It automatically handles all database URL replacements and configuration updates. This is the easiest method for non-technical users.
Limitation: The free version limits imports to sites under ~512MB. Larger sites need the premium extension.
Duplicator Plugin
Duplicator is another popular free migration plugin. It packages your site into an installer archive and a PHP installer file. Upload both to your new host's public_html, run the installer by navigating to yourdomain.com/installer.php, and follow the wizard to configure the database connection and run the migration. Duplicator is excellent for larger sites and gives you more control over the database configuration step.
Manual Method
The manual method — backing up files via FTP and exporting the database via phpMyAdmin as described in the steps above — is the most reliable approach because it doesn't depend on third-party plugins. It's more involved but gives you complete control and understanding of what's happening at each stage. For complex or large WordPress sites, the manual method is often the preferred choice for developers.
WordPress Database Search-Replace: After importing your database to the new host, if your site URL or file paths change at all, run a search-replace on the database. Use the Better Search Replace plugin or WP-CLI: wp search-replace 'old-domain.com' 'new-domain.com' --all-tables. This updates all serialized URLs stored in the database.
Common Migration Mistakes to Avoid
Even experienced developers trip up during migrations. Here are the most common pitfalls — and how to sidestep them:
- Switching DNS before testing on the new server. This is the single most common mistake. Always test your site using the hosts file method first. Switching DNS prematurely means any bugs or missing files are immediately live for all your visitors.
- Forgetting to migrate email accounts and records. If your email is hosted with your web host, you need to recreate those accounts on the new server and copy over your MX records, SPF records, and DKIM keys. Failing to do so will cause email delivery failures after the switch.
- Skipping the database search-replace for WordPress. If your database contains hardcoded references to your old hosting IP or old domain URL, links and images will break. Always run a full search-replace after importing the database.
-
Ignoring absolute image paths. Some CMS setups use absolute file paths to reference images (e.g.,
/home/username/public_html/images/logo.png). If your server username or directory structure differs on the new host, images can disappear. Review yourwp-config.phpor CMS config files for hardcoded paths. - Cancelling old hosting too soon. Keep your old account active for at least 72 hours post-switch. DNS propagation can be slow in some regions, and you want the old server to keep serving your site as a fallback.
- Not checking SSL after migration. SSL certificates are server-specific. Your old certificate won't transfer — you need a new one issued on the new host. Most modern hosts auto-provision this, but verify it's active before going live.
- Missing cron jobs and scheduled tasks. If your site uses WP-Cron, server-side cron jobs, or scheduled scripts, these need to be set up manually on the new host via cPanel → Cron Jobs.
Does Hosterlo Offer Free Website Migration?
Yes — and this is one of the genuine advantages of moving to Hosterlo. We know that migration anxiety is real, and we don't want technical complexity to stand between you and a faster, more reliable hosting experience.
When you sign up for a Hosterlo business hosting plan, our support team is available to assist you through the migration process. Whether you need guidance on where to find your database credentials, help with DNS record configuration, or someone to review your site after the switch — our experts are on hand.
Simply reach out via our migration support page and let us know you're moving your site. Provide your old host's cPanel access (or backup files) and we'll coordinate the technical steps with you. We treat every migration as a partnership, not a ticket number.
On top of that, every annual plan comes with our free Website Growth Kit — a bundle of SEO tools, performance audits, and website growth resources that you can put to work immediately after your site is live on Hosterlo's infrastructure. It's our way of making sure your migration isn't just a move — it's an upgrade.
New to Hosterlo? Our shared hosting plans start at an accessible price point and include everything you need: free SSL, daily backups, cPanel access, a one-click WordPress installer, and priority 24/7 support. There's no reason to stay on a slow or unreliable host.
Frequently Asked Questions
How long does website migration take?
A typical website migration takes anywhere from 1 to 6 hours for the actual transfer work, depending on your site's size. Small sites (under 1GB) can be moved in under an hour. However, DNS propagation — the time for the internet to recognize your new server — can take 24–48 hours to complete globally. With proper TTL preparation (setting it to 300 seconds 48 hours before switching), most visitors will see the new host within 1–2 hours of you making the DNS change.
Will my email stop working during migration?
If your email is hosted with your web host, there can be a brief period where email delivery is delayed during DNS propagation. To minimize this, create all email accounts on the new host before switching DNS, and lower your TTL 48 hours in advance. MX records typically propagate quickly. As a best practice, keep your old hosting active for 72 hours post-switch so that incoming emails sent to the old server can still be retrieved, and verify your SPF, DKIM, and DMARC records are correctly configured on the new host before you cancel the old account.
Do I need technical skills to migrate my site?
Basic technical familiarity is helpful — things like accessing cPanel, using FileZilla for FTP uploads, and logging into your domain registrar. However, WordPress users can use migration plugins like All-in-One WP Migration or Duplicator that make the entire process visual and straightforward with minimal command-line interaction. For non-WordPress sites, the manual steps in this guide are comprehensive enough to follow without prior server admin experience. If you get stuck at any point, Hosterlo's support team is available to walk you through each step.
Does Hosterlo provide free website migration?
Yes — Hosterlo offers migration assistance to new customers switching from another host. Our technical support team can guide the migration process end-to-end, and our business hosting plans include priority support access. Simply reach out via our contact page with your site details and we'll coordinate the move with you. We'll make sure your files, database, email accounts, and DNS records are all correctly configured before you cut over — so there are no surprises on launch day.
