Moving a site to a new host does not have to mean a long outage, broken email, or an anxious DNS wait. This guide gives you a reusable, process-driven website migration checklist you can follow before, during, and after a move. It is designed for developers, IT admins, and technically capable site owners who want to move a website to a new host with minimal downtime, clean rollback options, and fewer surprises during DNS cutover.
Overview
A hosting migration is usually less about copying files and more about managing risk. The most common failures happen at the edges: DNS records left behind, untested redirects, missing cron jobs, cached old content, broken SSL issuance, or email records overwritten during a nameserver change.
If your goal is to migrate a site with no downtime, the safest approach is to treat the move as a staged cutover rather than a one-step switch. In practice, that means building the new environment first, validating it using a temporary URL or staging hostname, lowering DNS TTL where appropriate, syncing fresh content near launch time, and only then changing the live traffic path.
This hosting migration guide assumes a few evergreen principles:
- Keep the old host active until the new host is fully validated.
- Prefer reversible changes over irreversible ones.
- Separate website traffic, email, and DNS decisions so one change does not unintentionally break another service.
- Document current state before touching anything.
- Test the new environment with production-like data, not just a placeholder homepage.
Before you begin, clarify which of these four layers are changing:
- Hosting only: same domain, same DNS provider, new web server or platform.
- Hosting and DNS: website moves and DNS management moves too.
- Platform change: shared hosting to cloud web hosting, VPS, containers, or managed WordPress.
- Application change: the site is also being upgraded, redesigned, or restructured.
The more layers you change at once, the more careful your checklist needs to be. If possible, avoid combining a host migration with a redesign, CMS upgrade, domain transfer, and email reconfiguration in the same maintenance window.
Checklist by scenario
Use the scenario closest to your move, then add the shared cutover checklist at the end.
Scenario 1: Static site or simple brochure site
This is the lowest-risk migration path. If your site is mostly HTML, CSS, JS, and media files, the move website to new host workflow is straightforward:
- Export or copy all site files from the current host.
- Build the same directory structure on the new host.
- Upload the files and confirm asset paths, compression, and cache headers.
- Test via temporary domain, preview URL, or hosts file override.
- Issue or prepare SSL on the new host before cutover if possible.
- Reduce the DNS TTL on the relevant A, AAAA, or CNAME records ahead of time.
- Update DNS to point the domain to the new origin.
- Monitor for mixed content, redirect issues, and old cached assets.
- Keep the old host running for a safe overlap period.
Static sites are good candidates for a clean DNS cutover because there is usually no database drift between old and new environments.
Scenario 2: CMS site such as WordPress, Drupal, or Joomla
Database-backed sites require more planning because content can change while you are preparing the new host.
- Inventory the current stack: PHP version, web server, database engine, extensions, cron jobs, scheduled tasks, plugins, themes, custom modules, and storage paths.
- Create full backups of files and database before making changes.
- Provision the new environment with compatible versions first. Avoid silent version jumps unless you have tested them.
- Copy site files and import the database.
- Update configuration files for database credentials, environment variables, filesystem paths, and cache settings.
- Test on a staging subdomain or preview URL. If needed, see How to Set Up a Staging Subdomain Without Breaking SEO or SSL.
- Check login, forms, uploads, search, caches, image processing, background tasks, and outbound email.
- Freeze content changes briefly or schedule a final sync window for comments, orders, or edits made after the first database import.
- Run a final database sync close to cutover.
- Switch DNS or load balancer routing only after the final sync is complete.
For WordPress cloud hosting moves, pay close attention to serialized data, hardcoded URLs, caching plugins, and file permissions. A migration plugin can help, but it is still worth verifying the underlying configuration by hand.
Scenario 3: Ecommerce or membership site
This is where downtime costs more, and data consistency matters more than speed. Orders, customer sessions, stock counts, and payment callbacks can be affected by split traffic during propagation.
- Map critical paths: checkout, account login, cart persistence, transactional email, payment webhook endpoints, and admin order processing.
- Confirm whether the application supports maintenance mode, read-only mode, or a short checkout freeze.
- Plan a narrow cutover window during lower traffic periods.
- Make sure payment providers, webhook senders, and third-party integrations will accept the new origin or IP if needed.
- Reduce DNS TTL in advance, but do not rely on TTL alone to eliminate all propagation delay.
- Prepare a final database sync or replication strategy.
- Validate SSL, HSTS implications, cookies, session storage, and CDN behavior.
- After cutover, reconcile orders, form submissions, and account events across both environments before shutting the old host down.
If the site handles revenue or member access, a brief controlled maintenance page can be better than a messy split-brain state where some users hit the old database and others hit the new one.
Scenario 4: VPS to cloud hosting, or server-to-server migration
When moving between infrastructure types, you are often changing more than hosting. You may also be changing networking, firewall behavior, deployment workflows, and scaling assumptions.
- Document the current server: OS, packages, runtime versions, open ports, firewall rules, cron jobs, services, SSL handling, backups, and monitoring.
- Decide whether you are lifting and shifting the application as-is or redesigning the deployment for containers, managed services, or autoscaling.
- Provision the new server or cloud environment with infrastructure as code if available.
- Replicate application secrets, environment variables, SSH access, deployment keys, and scheduled jobs.
- Set up observability before cutover: logs, uptime checks, metrics, and alerting.
- Test from outside your network, not just from an internal bastion or admin machine.
- Validate edge services such as CDN, WAF, reverse proxy, object storage, and background workers.
- Plan rollback at the routing layer whenever possible.
This is also the scenario where DNS management decisions matter more. If you are changing your DNS provider or nameservers as part of the move, copy every needed record before switching. Missing MX, TXT, DKIM, SPF, or verification records are a common source of avoidable disruption.
Shared cutover checklist for any migration
Regardless of scenario, use this website migration checklist before the live switch:
- Back up website files, database, configuration, and DNS zone.
- Inventory all DNS records, including A, AAAA, CNAME, MX, TXT, SRV, and verification entries.
- Lower TTL on records you plan to change, well before cutover.
- Prepare SSL certificates on the new environment.
- Test the new host with production-like content.
- Confirm redirects, canonical tags, robots directives, and sitemap behavior.
- Check forms, transactional email, SMTP, and contact flows.
- Validate cron jobs, scheduled tasks, and webhooks.
- Warm caches if your stack supports it.
- Schedule the final sync for dynamic data.
- Notify stakeholders and define who approves the cutover.
- Keep rollback steps written down, not just assumed.
What to double-check
Once the new host looks ready, these are the areas worth checking again because they often fail quietly.
DNS records and nameserver changes
If you only need to point a domain to hosting, changing the A record or CNAME may be enough. A full nameserver move is broader and riskier because it shifts authority for the whole zone. Before any nameserver change, export the current zone and compare record by record. If you need help diagnosing odd behavior afterward, the DNS Troubleshooting Checklist is a useful companion.
Also remember that DNS propagation is not always uniform. Some resolvers update quickly; others retain older values longer. That is why the old host should remain available during the transition.
Email continuity
Email breaks in migrations more often than websites do. Double-check MX records, SPF, DKIM, DMARC, mail-related subdomains, and any provider-specific verification TXT records. If your host bundles email, do not assume the new provider uses the same record set. Website cutover and email cutover can be separate projects, and treating them separately reduces risk.
SSL and HTTPS behavior
Make sure the new host can serve HTTPS before you direct users there. Confirm certificate coverage for the root domain, www, and any needed subdomains. Review redirect rules so HTTP goes to HTTPS cleanly and only once. For a practical overview of certificate choices, see SSL Certificate Options for Small Business Sites.
Application configuration
Check database credentials, base URLs, file paths, object cache settings, temporary directories, image libraries, environment variables, and API secrets. A site can look normal on the homepage while failing in uploads, search, checkout, or admin actions because one hidden setting still points to the old host.
Security controls
Migration windows can create security gaps. Verify firewall rules, access control lists, SSH hardening, admin user access, backup access, and monitoring. If your registrar or DNS provider is also changing, review lock status, two-factor authentication, and DNSSEC settings where appropriate. Related reading: Domain Security Checklist: Registrar Lock, DNSSEC, 2FA, and Recovery Settings.
SEO and edge behavior
Check title tags, canonicals, redirects, robots.txt, XML sitemaps, structured data rendering, and image URLs. If a CDN or reverse proxy sits in front of the new host, confirm cache invalidation, origin settings, and IP allowlists. A technically successful migration can still damage search visibility if redirects or canonicals change unintentionally.
Common mistakes
Most hosting migrations go wrong in familiar ways. Avoiding these mistakes will remove much of the stress from the process.
- Changing too many things at once. A redesign, CMS upgrade, and host migration bundled into one launch makes troubleshooting harder.
- Skipping a record inventory. Teams remember the A record but forget MX, TXT, or verification records.
- Assuming TTL guarantees instant change. Lower TTL helps, but resolver behavior still varies.
- Turning off the old host too early. Keep it online until traffic and background tasks have clearly settled on the new environment.
- Not testing dynamic functions. Login, search, cart, media uploads, forms, cron jobs, and password resets deserve real tests.
- Forgetting scheduled tasks. Cron jobs, queue workers, and cleanup scripts are easy to miss during a server move.
- Breaking email during a nameserver switch. This is one of the most expensive small mistakes in business migrations.
- Ignoring rollback planning. If the only plan is “switch back if needed,” the rollback is not really planned.
- Using a production cutover as your first full test. Staging or preview validation should catch the obvious failures before users do.
- Neglecting access control cleanup. Temporary accounts, migration keys, and open firewall rules should be removed after launch.
Another subtle mistake is conflating a domain transfer with a hosting migration. You can move hosting without changing where your domain is registered. In many cases, that is the cleaner path. If you are also reviewing registrar capabilities, this checklist may help: Best Domain Registrar Features Checklist for Developers and IT Teams.
When to revisit
A migration checklist is not something you use once and forget. Revisit it whenever the operating context changes, especially before seasonal planning cycles, infrastructure refreshes, or major deployment workflow updates.
Review and update your process when:
- You change hosting model, such as shared hosting to VPS or VPS to cloud web hosting.
- You adopt a CDN, reverse proxy, WAF, or managed DNS provider.
- You move from manual deployments to CI/CD.
- You add ecommerce, memberships, or other stateful features.
- You consolidate domains, subdomains, or regional sites.
- You separate email from web hosting.
- You rotate providers for cost, compliance, or performance reasons.
- You update SSL strategy, staging workflow, or access-control policies.
A practical way to keep this useful is to turn it into a living runbook. After each migration, write down:
- Which steps worked exactly as planned.
- Which checks caught real issues.
- Which DNS records or services were nearly missed.
- How long propagation and validation actually took in your environment.
- What rollback trigger you would use next time.
For teams managing multiple sites, store this runbook alongside your infrastructure documentation and domain records. That makes future moves faster and safer, especially when responsibilities are split across developers, sysadmins, and operations staff.
Before your next cutover, use this short action list:
- Inventory DNS and application dependencies.
- Build and test the new environment fully.
- Lower TTL and schedule a final content sync.
- Validate HTTPS, email, redirects, and background jobs.
- Cut over with rollback ready and the old host still available.
- Monitor, reconcile, and only then decommission the old environment.
That sequence is the core of a reliable DNS cutover for a website. The tooling will change over time, but the process remains durable: document first, test thoroughly, switch carefully, and keep rollback simple.