Table of Contents
Some links on The Justifiable are affiliate links, meaning we may earn a small commission at no extra cost to you. Read full disclaimer.
If you need to learn how to migrate website to InMotion Hosting without downtime, the key is not moving faster—it is separating the copy, testing, and DNS cutover into controlled stages.
Your old server should keep serving visitors while you build and verify the new copy, then you switch traffic only after the destination is ready.
This guide shows you how to choose the right migration method, protect databases and email, test before going live, handle DNS safely, troubleshoot common failures, and confirm that the new hosting environment is stable before you cancel the old account.
Understand What a Zero-Downtime Migration Really Requires
A smooth migration is less about one transfer tool and more about controlling when visitors, writes, email, and DNS move. Once you understand those moving parts, the rest of the process becomes much easier to plan.
Copy First and Switch Traffic Later
The core zero-downtime principle is simple: do not point your domain at the new server while you are still building the new copy. Leave the current host untouched and publicly active while you transfer the files, databases, configuration, and supporting services to InMotion Hosting.
Think of the migration as creating a parallel production environment. Visitors continue reaching the old server, while you use the new server’s IP address or a local hosts-file override to inspect the destination. This gives you time to fix broken paths, database credentials, PHP differences, permissions, caching behavior, or plugin issues without exposing those problems to real visitors.
Only after the new copy passes testing do you change the DNS record or nameservers that direct traffic. During DNS propagation, some visitors can still reach the old server while others reach the new one. That is why both environments should remain healthy during the transition.
This approach prevents the classic migration failure: canceling or disabling the old hosting account before the new environment is proven. Keep the source account active until traffic has moved, email is working, SSL is valid, and you have completed a final verification.
I recommend treating the old server as your rollback option, not as something to shut down the moment the first copy finishes.
Separate Website Availability From Data Consistency
“No downtime” can mean two different things. The first is availability: visitors can load the website throughout the move. The second is data consistency: orders, form submissions, comments, account changes, and uploads created during the migration appear on the new server too.
Static sites are easy because the content rarely changes between the first copy and the DNS switch. Dynamic sites need more planning. If you copy a WooCommerce database at noon and switch DNS at 3 p.m., orders placed on the old server during those three hours will not magically appear in the noon database copy.
For a blog with infrequent comments, a final database export immediately before cutover may be enough. For a busy store, membership site, forum, or application, use a short write freeze, maintenance mode for transactional actions, database replication, or an application-specific synchronization method. InMotion’s own transfer guidance recommends controlling new database activity during transfers when data loss is a concern.
The practical goal is to make the final synchronization window as short as possible. Complete the large file transfer and most testing first. Then freeze only the data that can change, perform the final sync, verify it, and switch traffic. That protects both uptime and business data.
Plan the Migration Before You Copy Anything
Preparation prevents most migration emergencies. Before touching DNS or uploading a backup, document what the current site depends on and make sure the destination can reproduce those dependencies.
Audit the Current Hosting Environment
Start by identifying exactly what you are moving. A website is rarely just a folder of HTML files. A typical production setup may include a database, email accounts, cron jobs, redirects, subdomains, SSL configuration, PHP settings, DNS records, scheduled tasks, and third-party services that expect a specific server IP.
Record the current PHP version, database type and version where visible, active extensions, document root, database names, email routing, subdomains, and any custom .htaccess, php.ini, or server configuration you control. For WordPress, also note active plugins, caching layers, security plugins, multisite status, and whether the site stores large media libraries outside the normal uploads directory.
Check storage usage and the number of websites and databases against your new hosting plan. A full cPanel transfer can be convenient, but account size, plan limits, and account structure can affect the best method. If several sites currently share one account, decide whether you want to preserve that layout or reorganize them during the move.
Avoid combining a migration with unnecessary upgrades. Moving hosts, changing PHP versions, replacing plugins, redesigning the site, and changing DNS at the same time creates too many variables. Migrate first; optimize after stability is confirmed.
Build a Complete Backup and Access Checklist
Create a backup that you control before anyone begins the transfer. Store a local copy outside both hosting accounts. For a database-driven site, a useful backup includes the complete document root, database export, configuration files, email data if email is hosted with the website, and any files stored outside the obvious public directory.
Do not assume that a backup is good because a download completed. Confirm the file size looks reasonable, open the archive, and verify that expected directories exist. For a database export, make sure the SQL file is not empty and that it contains tables. If your current panel provides a checksum, saving it gives you another way to verify that a large transfer was not corrupted.
Create a separate access list for the old hosting panel, FTP or SFTP, SSH if available, database administration, domain registrar, current DNS provider, and the new InMotion account. If someone else manages your domain or email, involve them before the cutover rather than trying to reach them during an incident.
Finally, note the current DNS records. Screenshots are useful, but a text copy is better for rebuilding records accurately.
Lower DNS TTL and Choose a Low-Risk Cutover Window
DNS TTL, or time to live, tells recursive DNS servers how long they may cache a record before checking again. Lowering the TTL in advance can shorten the period in which visitors are split between the old and new web servers after you change an A record.
If your DNS provider allows it, reduce the TTL for the web-facing records well before the planned migration, ideally at least a day in advance. A value such as 900 seconds can be useful for a controlled cutover, although the exact minimum depends on your DNS provider. Changing the TTL five minutes before the migration does not help caches that already stored the previous, longer TTL.
Choose a period with lower traffic, fewer editors, and no scheduled campaigns, launches, or large imports. The goal is not to hide an expected outage; a properly planned migration should stay available. A quieter period simply reduces the number of transactions you must synchronize if something unexpected appears.
Do not change nameservers merely to “speed up” the move. Nameserver changes can affect the entire DNS zone, including email and verification records. Decide separately whether you are moving only the website or also moving authoritative DNS.
Choose the Right Way to Copy the Website
The transfer method should match the source environment. A cPanel account, a standard WordPress installation, and a custom application all require different levels of control even though the no-downtime strategy remains the same.
| Migration Path | Best Fit | Main Advantage | Main Risk to Check |
|---|---|---|---|
| Full cPanel transfer | Old host also uses cPanel | Moves much of the account together | Destination account data may be overwritten during restore |
| WordPress backup migration | Standard WordPress site | Familiar, application-level workflow | Large sites or unusual configurations can exceed plugin limits |
| Manual file and database move | Non-cPanel or custom site | Maximum control | Easy to miss configuration, cron, email, or permissions |
| Assisted transfer | You want hosting support involved | Reduces hands-on migration work | You still need to test data, DNS, email, and application behavior |
InMotion currently supports both self-managed and assisted website-transfer workflows, so the best method is the one that moves your complete application reliably while still giving you enough control to test before DNS changes.
Use a Full cPanel Transfer When the Source Supports It
If your current host uses cPanel, a full account backup can be the simplest route because it can include the home directory, databases, email, and account-level settings in one package. Generate the backup on the old host while that account is still healthy, then follow the destination transfer process rather than trying to rebuild each component manually.
Before restoring, inspect what already exists in the destination cPanel account. A full restore can replace existing website, database, and email data in that account. For that reason, do not spend hours building unrelated production content in the destination account and then overwrite it with a migration restore.
After the restore completes, do not change DNS immediately. Confirm that domains are mapped to the correct document roots, databases exist, database users have the right privileges, email accounts appear where expected, and scheduled jobs were restored appropriately. Then test the website through a private method.
If the cPanel account is unusually large or contains multiple sites with complex dependencies, ask whether a full-account restore is still the right approach. A selective transfer or assisted migration may provide more control and make the final synchronization easier to manage.
Migrate WordPress Without Changing the Domain Prematurely
For a WordPress site, you can move the complete installation with a hosting transfer, a WordPress backup tool, or a manual files-and-database process. WordPress.org itself does not require a domain change merely because the hosting server changes, so keep the same production URL unless you are intentionally rebranding or changing domains.
If you migrate manually, copy the WordPress files, create or restore the database, and update wp-config.php only when the new database name, user, password, or host differs. Keep the original table prefix unless you have a specific reason to change it. When the domain stays the same, you generally do not need to run a global search-and-replace for URLs just because the server changed.
Plugin-based migrations can be convenient, but do not make the plugin archive your only backup. Large media libraries, timeouts, security restrictions, or storage limits can interrupt an import. Keep an independent file and database backup so you have another recovery path.
After restoration, check permalinks, media, forms, login, scheduled actions, caching, and any plugin that communicates with an outside service. Those integrations often reveal environment differences before normal pages do.
Move Non-cPanel and Custom Sites Component by Component
A manual migration is appropriate when the old host does not use cPanel, the application is custom, or you want precise control over what moves. Transfer website files with SFTP, FTP, an archive, or a server-to-server method such as rsync when SSH access is available. Preserve directory structure and hidden files, including .htaccess.
Export the database separately, create the destination database and user, import the data, and then update the application’s configuration with the new credentials. Check whether the application stores absolute filesystem paths, server IP addresses, cache paths, or environment-specific settings. Those values can break even when the domain stays unchanged.
Recreate anything that does not live inside the web root: cron jobs, worker processes, mail routing, redirects managed at the panel level, subdomains, DNS records, and custom PHP settings. For frameworks or applications that use environment files, compare the old and new configurations line by line rather than copying secrets blindly.
A manual move takes more attention, but it also makes dependencies visible. Document every component as you migrate it; that checklist becomes your troubleshooting map if one feature fails after cutover.
Protect Orders, Forms, Uploads, and Email During the Move
Dynamic data is where otherwise successful migrations lose information. Plan the final synchronization separately from the initial copy so activity that occurs during the move is not stranded on the old server.
Use a Final Sync for Databases and User-Generated Files
Complete the bulk migration early, then identify which data can still change. On WordPress, that usually means the database and possibly uploaded media. On an e-commerce or membership site, it may also include order exports, generated invoices, user files, queues, or private storage.
Immediately before cutover, reduce or pause writes. A store might temporarily disable checkout while leaving product and content pages available. A membership site might prevent profile edits. A publishing team can stop editors from creating new content for a few minutes. Then take the final database export, synchronize newly uploaded files, import the updated data on InMotion, and run a quick integrity check.
For high-transaction applications, a manual export/import cycle may not be sufficient. Database replication, application-level queues, or a specialized migration process can preserve writes with a much smaller consistency gap. In those cases, involve a developer or migration specialist rather than relying on a generic backup workflow.
The important idea is that the initial copy moves volume; the final sync protects freshness. Keeping those jobs separate dramatically reduces the amount of time you need to restrict writes.
Decide What Happens to Email Before DNS Changes
Website migrations often create email problems because people focus on the A record and forget that a nameserver change can move the entire DNS zone. If email is hosted on the same cPanel account and the account is transferred completely, verify that the mailboxes and messages arrived before changing DNS.
If you use a separate email provider, preserve its MX, SPF, DKIM, DMARC, and related verification records exactly. An A-record-only website cutover usually lets you leave mail routing unchanged. A nameserver cutover is different: the new DNS zone must already contain every mail record before you delegate the domain to it.
When mail is moving to InMotion too, create the required mailboxes on the destination before traffic can reach them. During DNS propagation, some senders may still deliver to the old mail server while others use the new one. InMotion notes that this split-routing period can persist while DNS updates propagate, so keep access to both systems and check both until the transition is complete.
Do not cancel the old host while it can still receive mail. A missing website page is obvious; a message delivered quietly to an abandoned mailbox is much easier to overlook.
Test the New InMotion Copy Before Going Live
Testing is the stage that turns a migration from a hopeful upload into a controlled release. You should be able to browse the new copy, submit forms, and inspect application behavior before public DNS points there.
Preview the Site With a Hosts-File Override
A hosts-file override lets your own computer resolve the production domain to the new server’s IP address while everyone else continues using public DNS and reaches the old host. InMotion specifically documents hosts-file testing as a way to inspect a transferred website before directing public DNS to the new server.
Add an entry for the root domain and, when needed, the www hostname using the destination server IP. Flush your local DNS cache, then open the site in a private browser window. Confirm that the request is actually reaching the new environment; a temporary marker file, server header, or changed test asset can help you distinguish it from a cached copy of the old site.
Remember that the override affects only the computer where you edited the hosts file. Other team members must make the same temporary change to test. Remove the entry after public DNS has moved so your computer returns to normal resolution.
HTTPS can require extra attention during this phase because certificate validation may depend on public DNS. If the destination does not yet have a valid certificate for the domain, test application behavior carefully and plan SSL activation as part of the cutover.
Test Functions, Not Just the Homepage
A homepage loading successfully proves very little. Build a short migration test script around the actions that generate revenue, leads, or operational work. Browse representative pages, search the site, log in, submit a form, upload a file, trigger password recovery, test checkout in an appropriate sandbox or controlled mode, and inspect the administrative area.
Check both desktop and mobile behavior because caching or asset-loading differences can appear only in certain requests. Open the browser developer tools and look for 404, 403, 500, JavaScript, CORS, and mixed-content errors. Confirm that CSS, fonts, images, and downloadable files come from the expected URLs.
For WordPress, test permalinks, the media library, scheduled tasks, contact forms, ecommerce callbacks, caching, security rules, and any feature that writes to the database. If the site uses webhooks or IP allowlists, the new outbound or inbound server IP may need approval.
Use a written pass/fail list. Migration testing becomes unreliable when several people click around casually and assume someone else checked the important workflow.
Prepare SSL Before You Force HTTPS
A migration can look broken when the real problem is certificate timing. InMotion’s cPanel AutoSSL process requires the domain to resolve to the InMotion server before domain validation can succeed. That means a certificate may not be issued until the relevant DNS record points at the new environment.
Before cutover, confirm that the domain exists correctly in the destination account and that no stale DNS records, especially an incorrect AAAA record, will send validation traffic elsewhere. InMotion identifies incorrect DNS resolution and stale AAAA records as potential AutoSSL validation problems. If you are using a custom certificate, confirm that the required certificate and private key are available and installed correctly rather than assuming the old host will transfer them automatically.
During the cutover, avoid creating a redirect loop between HTTP and HTTPS. Let certificate issuance complete, then verify that https:// works for the root and www hostnames you use. Test redirects once, then enforce the preferred HTTPS version consistently.
After SSL is valid, scan important pages for mixed content. Old hard-coded http:// asset URLs can trigger browser warnings even when the main page certificate is correct.
Cut Over DNS Without Creating an Outage
DNS should be the last major change, not the first. By the time you edit it, the destination should already be copied, tested, synchronized, and ready to receive production traffic.
Prefer an A-Record Cutover When You Do Not Need to Move DNS
If your current DNS provider is working well, you can often reduce migration risk by changing only the website’s A record to the new InMotion server IP while leaving authoritative nameservers where they are. This keeps unrelated records—especially MX, TXT, verification, and third-party service records—unchanged.
Update both the root domain and any www record according to your current DNS structure. Do not assume www follows the root automatically; it may be a separate A record or a CNAME. Also review AAAA records. If an IPv6 record still points to the old environment, some visitors or certificate validators may reach the wrong server even after the IPv4 A record changes.
An A-record cutover is particularly useful when email is handled elsewhere or when your DNS zone contains many third-party integrations. You can always move nameservers later as a separate project after the website migration is stable.
Once the new A record is live, keep the old server available throughout propagation. With the TTL reduced in advance, the split-traffic period should be more manageable, but caches outside your control can still update at different times.
Use a Nameserver Cutover Only After Rebuilding the Whole DNS Zone
If you want InMotion to become the authoritative DNS host, rebuild the entire zone before changing nameservers at the registrar. Copy A, AAAA, CNAME, MX, TXT, SRV, DKIM, DMARC, verification, and subdomain records that are still required. Remove only records you understand and intentionally want to retire.
Then compare the old and new zones record by record. Pay special attention to email, SaaS verification records, payment or support subdomains, and services that use TXT records for ownership validation. A website can appear perfect while background systems quietly fail because one record was omitted.
When the new zone is ready, change the nameservers at the domain registrar using the current values shown in your InMotion account. Do not rely on values copied from an old tutorial or another account. Nameserver propagation can take hours, and email may route according to whichever authoritative DNS data a resolver is currently using.
Leave the old website and mail environment operating until the transition is clearly complete. This dual-running period is the safety margin that prevents DNS propagation from becoming downtime.
Troubleshoot the Problems That Commonly Appear After Migration
Even a carefully staged migration can expose environment differences. Troubleshoot by identifying whether the failure comes from the web server, application, database, DNS, SSL, or email rather than changing several things at once.
Fix 500 Errors, Blank Pages, and Broken Assets Systematically
A 500 error or blank page after migration often points to PHP compatibility, file permissions, a bad .htaccess rule, missing extensions, memory limits, or application code that depends on the old environment. Start with server and application error logs. They usually provide a more useful clue than repeatedly refreshing the page.
Compare the PHP version and extensions with the source server. If the application is older, temporarily matching the old runtime can help you confirm whether compatibility is the issue. Do not blindly increase memory or disable security rules before you know what failed.
For missing images, CSS, or JavaScript, inspect the requested URL and response code. A 404 may mean files were not transferred or the document root is wrong. A 403 suggests permissions or security rules. Mixed absolute filesystem paths can break includes even when browser URLs look correct.
If one change fixes the issue, document it before moving to the next problem. During migration troubleshooting, uncontrolled experimentation is dangerous because you can accidentally create a second fault and lose track of the original cause.
Resolve Database Connections, Redirect Loops, and Wrong URLs
A database connection error usually means the database name, user, password, host, or privileges on the destination do not match the application configuration. Confirm the database exists, confirm the user is assigned to it with the needed permissions, and compare configuration values carefully. A successful import does not automatically guarantee the application can authenticate.
Redirect loops commonly appear when several layers try to enforce the preferred URL at once. The application may force HTTPS, .htaccess may redirect to www, a caching layer may contain an old rule, and the server may apply another redirect. Reduce the rules to one understandable path, test, and then add necessary redirects back deliberately.
If the domain is unchanged, unexpected old-host URLs often come from cached data or environment-specific configuration rather than the migration itself. Clear application caches, object caches, CDN caches if applicable, and browser caches. For WordPress, inspect the site URL settings and any plugin that rewrites domains.
Avoid global search-and-replace unless you are actually changing the domain or protocol. Unnecessary replacements can damage serialized data or alter strings that were never meant to change.
Repair SSL, DNS, and Email Without Reversing the Whole Migration
When only some visitors see the old site, check DNS before touching website files. Compare A, AAAA, and www resolution from more than one network. If your own computer uses a hosts-file override, remove it before judging public behavior.
If HTTPS fails, confirm the domain resolves to the correct server, the certificate covers the hostname being requested, and the certificate chain is valid. Then inspect redirect rules and mixed content separately. A certificate warning and mixed-content warning are different problems and need different fixes.
For email, verify MX records first, then confirm the destination mailbox or third-party route exists. If messages are split between old and new servers during propagation, continue monitoring both instead of repeatedly changing records. Once DNS has settled, test inbound and outbound delivery and review SPF, DKIM, and DMARC alignment.
The rollback decision should depend on business impact. A minor missing image rarely justifies reversing DNS. A broken checkout, login system, or database write path might. Because the old server is still available, you retain the option to point traffic back while you investigate.
Optimize, Measure, and Retire the Old Hosting Safely
Once the site is stable, shift from migration mode to operational validation. The goal is to confirm that visitors, search engines, applications, and background services all behave normally before you remove your fallback environment.
Compare Performance and Logs Before Tuning Aggressively
Measure the new environment before installing extra caching or changing multiple performance settings. Compare representative pages, backend response behavior, database-heavy actions, and resource usage with the old host. A migration is a good opportunity to improve performance, but only after you establish a clean baseline.
Check server logs for repeated 404s, PHP warnings, blocked requests, and unexpected bots hitting old paths. Review scheduled tasks to confirm they are running once—not once on each server. If the old server still executes cron jobs during propagation, you may accidentally send duplicate emails, process a queue twice, or create duplicate scheduled content. Disable old background jobs when traffic has decisively moved and the new jobs are verified.
Then optimize deliberately. Enable the caching features appropriate for your application, compress or resize oversized assets, and confirm that performance changes do not interfere with dynamic pages, carts, account areas, or admin sessions.
Stabilize first, optimize second. A slower site that is correct is easier to improve than a fast site with an invisible data or routing problem.
Validate SEO, Monitoring, and Business-Critical Events
A hosting migration that keeps the same domain and URLs should not require a sitewide redirect project, but technical errors can still affect crawling and rankings. Crawl or manually review important URLs, confirm canonical tags still point to the correct domain, and verify that robots.txt has not accidentally remained in a staging or disallow state.
Check the XML sitemap, key redirects, status codes, analytics tracking, tag management, and conversion events. In Google Search Console, watch for unusual crawl errors or indexing changes after the move. A temporary fluctuation in crawling is less important than persistent 5xx errors, blocked resources, or a large set of URLs unexpectedly returning 404.
Add uptime monitoring if you do not already have it. Monitor the homepage plus at least one dynamic or business-critical endpoint. Also test forms and transactions manually after DNS has fully settled; a green uptime check cannot tell you that a contact form stopped sending mail.
Keep notes from the migration. The list of dependencies, DNS records, and fixes becomes valuable documentation for future upgrades or disaster recovery.
Know When It Is Safe to Cancel the Old Host and Scale
Do not cancel the old hosting account the same day you change DNS. Keep it long enough to confirm that public DNS consistently resolves to InMotion, no meaningful traffic or email is still reaching the old environment, the new SSL certificate is stable, and the application has completed at least one normal business cycle.
Before cancellation, take one final backup from the old host and preserve it offline. Export any logs, email, billing records, or configuration details you may need later. Remove sensitive access credentials you no longer need and update internal documentation so team members stop logging into the retired server.
Once the old environment is no longer part of the live path, restore DNS TTLs to sensible normal values. Very low TTLs are useful during controlled changes but are not automatically better forever.
If the new site approaches resource limits after real traffic arrives, scale based on measured bottlenecks rather than assumptions. CPU saturation, memory pressure, database load, storage growth, concurrent traffic, and slow background tasks tell you more than page-view counts alone. The migration is complete when the new environment is not merely online, but operationally understood and supportable.
Make the Cutover Only When the New Site Is Proven
The safest way to migrate a website without downtime is to treat DNS as the final switch in a controlled release. Keep the current host serving visitors, copy the site to InMotion Hosting, test the destination privately, protect any data that can change, and perform a final synchronization before directing traffic to the new server.
For a simple site, that process may be straightforward. For a store, membership platform, or application with constant writes, the critical step is designing the final data sync rather than relying on a single backup. In either case, keep the old environment available until website traffic, SSL, email, scheduled jobs, forms, analytics, and key transactions are stable on the new host.
Once those checks pass, archive the old account, restore normal DNS settings, and move into performance optimization with a clean rollback point behind you.
I’m Juxhin, the voice behind The Justifiable.
I’ve spent 6+ years building blogs, managing affiliate campaigns, and testing the messy world of online business. Here, I cut the fluff and share the strategies that actually move the needle — so you can build income that’s sustainable, not speculative.







