Switching hosting providers is one of the most anxiety-inducing tasks a site owner faces — but it doesn’t have to be. You can move your website with little to no downtime by migrating and testing the site first, then switching DNS only after the new server is ready. In practice, “no downtime” means visitors never hit a broken site — the trick is to have two working copies for a short overlap period, with the current host serving traffic while the new host is fully built and tested.
Website migration is not just copying files — it’s a complex process that, if handled incorrectly, can lead to significant downtime, data loss, and a decline in SEO rankings. This is especially critical for commercial projects, where every minute of downtime translates into direct financial losses and reputational damage.
Follow the steps below in order. Skipping or rushing any stage is where things break.
Step 1: Audit Your Current Environment Before Touching Anything
The first step to moving your site is ensuring everything is accounted for — files, databases, emails, SSL certificates, and everything else your website relies on, no matter how minor. Make a list, check it multiple times, and ensure you know everything you will need. Before you touch a single file, note down what is moving and what is staying.
Look carefully for anything non-standard — custom PHP.ini overrides, PECL extensions, Node.js processes running alongside your PHP app, or manually configured SSL certificates. If you are migrating from a managed account, ask your current provider what server-level configuration is applied to your account that might not be visible from cPanel alone. Anything you do not document now is something you will scramble to recreate later.
Step 2: Choose and Set Up Your New Hosting Environment
Research hosting providers that suit your website’s requirements. Check uptime guarantees, server performance, and support availability. Ensure the new host supports the technologies your website uses (PHP, MySQL, etc.).
Once you’ve signed up, configure the new account fully before transferring any data. Create the necessary hosting accounts and email services on the new server. For WordPress, install the correct version of WordPress. For HTML sites, ensure directory structures and permissions are set up correctly.
If you’re running a WordPress hosting setup, also confirm that the PHP version, caching layer, and any required extensions match what your site uses in production.
Step 3: Lower Your DNS TTL — Do This First
This step is the single most impactful thing you can do to minimize downtime, and it must be done days before you plan to cut over.
Default TTLs are often 3600 seconds (1 hour) or even 86400 seconds (24 hours). At least 48 hours before your planned migration, lower the TTL on all DNS records (A, AAAA, CNAME, MX) to 300 seconds (5 minutes). This means that when you change the DNS records later, resolvers worldwide will pick up the change within 5 minutes instead of hours. Important: you must wait for the old TTL value to expire before the new TTL takes effect.
If your TTL is 24 hours and you switch servers, half the internet might still be using the old IP address for up to a full day. By lowering the TTL to 5 minutes (300 seconds), you instruct caching servers worldwide to check for updates every five minutes. When you execute the IP switch, the entire internet will check for the new address within that 5-minute window, minimizing downtime.
Don’t forget key subdomains like www if you’re using a CNAME. And if you have API or checkout subdomains living on separate hosts, bring those TTLs down too.
Step 4: Back Up Everything
The most important thing is to have complete and up-to-date backups of all website files and the database, made immediately before the migration begins. Store them in a safe place, preferably on multiple media — locally and in cloud storage.
For most sites, you have several backup approaches available:
- cPanel backup: A full cPanel backup export gives you a compressed archive of every file and database on your account.
- Database export: For database-heavy sites, export the database separately as a standalone
.sqlfile via phpMyAdmin or themysqldumpcommand. A separate database export makes rollback straightforward if the import hits a problem. - WordPress plugins: Plugins like Duplicator and All-in-One WP Migration bundle files and the database together into a portable package you can deploy in a few clicks at the new host.
Step 5: Transfer Files and Databases to the New Host
File transfer is the most time-consuming stage of migration, especially for sites with years of uploaded images and documents. The fastest method for most users is to download a full cPanel backup from the old host and restore it via the Backup Restore tool at the new one. For very large sites, ask your new host about server-to-server transfer options — many offer this for free as part of an onboarding migration service.
After transferring files, update your database connection settings. For WordPress, you may need to update wp-config.php so the site can connect to the new database. For other content management systems, review the relevant configuration file for database name, username, password, host, and path settings.
Don’t Forget Email
Email accounts need separate attention — treat email as its own workstream. Recreate all mailboxes at the new host before you touch DNS. If you are moving mail data itself, IMAP-to-IMAP migration tools in your mail client can transfer messages folder by folder. Forwarders, autoresponders, and catch-all addresses all need to be manually recreated — unless you use an external provider like Google Workspace, in which case a DNS record update is all that is required.
Step 6: Test the New Site Before Flipping DNS
Never point DNS to the new server before verifying the site works. The clean way to preview the new site is to use a hosts file, which will allow your computer — and only your computer — to load the website from a specific IP address. This lets you click through every page, submit forms, test checkout flows, and check error logs without exposing visitors to an unfinished environment.
Key things to verify on the new host before cutover:
- All pages load correctly with no broken images or missing assets
- Forms submit successfully and trigger the right notifications
- SSL certificate is installed and HTTPS works
- Redirects (
.htaccessrules) are intact - Cron jobs and scheduled tasks are configured
- Any custom PHP settings or server configurations are applied
Use uptime monitoring tools like Pingdom or UptimeRobot to track availability during migration. Plan the migration during off-peak hours to minimize disruption.
Step 7: Switch DNS and Monitor Both Servers
Once testing passes on the new host, it’s time to flip the switch. Changing individual DNS records — like the A record — within your existing DNS provider is faster and more targeted than changing nameservers. For zero-downtime migration, changing individual records is preferred because propagation is governed by your TTL setting rather than the slower nameserver delegation process.
The best time for the switch is nighttime or early morning on a workday, when traffic is minimal.
Keep both servers running, synchronize content between them, switch DNS with minimal propagation delay, and only decommission the old server after propagation is complete.
Changes to nameservers can take as long as 48 hours to fully propagate. Even if it seems to be working, do not cancel your old web hosting account within these 48 hours — doing so may result in your website failing to load for some visitors.
After DNS propagates, restore the TTL to its normal value (3600 or higher). A low TTL increases the number of DNS queries and can slow down the first page load for new visitors.
Step 8: Have a Rollback Plan Ready
Even with the most thorough preparation and verification, unforeseen problems can arise. Having a clear rollback plan is a mandatory condition for a successful migration — it is your safety net.
Do not turn off or delete the old hosting immediately after changing DNS. Keep it active for at least 24–72 hours (or even longer for critically important projects). This gives you the ability to quickly switch DNS back to the old IP address if serious problems arise on the new server that cannot be quickly resolved.
Common Mistakes That Cause Downtime
Most migration failures are avoidable. Many website outages during migration are caused by avoidable mistakes rather than technical limitations. Here are the most common ones:
- Not lowering TTL in advance — leaving a 24-hour TTL in place means hours of split traffic after the switch
- Cancelling old hosting too soon — do not cancel with your old hosting provider prematurely, as this could terminate your website and cause unnecessary downtime during the migration process
- Switching DNS before testing — always verify the new environment works before pointing traffic to it
- Forgetting email — mailboxes, forwarders, and MX records all need independent attention
- Missing the final database sync — for active sites, export a fresh database snapshot right before cutover to prevent data loss
- No rollback plan — if something goes wrong post-cutover, you need to be able to revert in minutes, not hours
Should You Handle the Migration Yourself?
Most website migrations follow one of three paths: host-assisted migration (your new provider helps move the site), manual migration (you move files, databases, DNS records, and email settings yourself), or plugin-based migration (you use a WordPress migration plugin or backup tool). The best option depends on your site type, technical comfort level, and risk tolerance. A small brochure site may be simple to move with a plugin, while an ecommerce store, membership site, or business-critical application usually needs more planning.
If your site is complex or mission-critical — like an online store — letting your host handle the migration is often the safer path. A managed migration removes execution risk and keeps your team focused on running the business rather than troubleshooting broken links at midnight.
Whether you’re migrating a static brochure site or a feature-heavy managed WordPress installation, the sequence above applies. The bigger and more dynamic your site, the more carefully each step must be executed. If you’d rather not go it alone, our team at 978host handles migrations as part of our hosting onboarding — covering files, databases, email, SSL, and DNS timing so your visitors never notice the switch. Contact us to talk through your migration and get a plan that fits your site’s complexity and traffic profile.