Knowledge Base

How to Migrate Your Website to a New Hosting Provider — Step-by-Step (2026 Guide)

Website migration to a new hosting provider requires careful planning to avoid downtime, data loss, or broken functionality. This guide walks you through the complete migration process, from pre-migration backup to post-migration verification, using proven methods that work for shared hosting, WordPress sites, and cloud VPS environments.

Whether you’re switching hosts due to poor performance, inadequate support, or pricing concerns, following these systematic steps ensures a smooth transition while maintaining your site’s SEO rankings and user experience.

Why Migrate to a New Host?

Common triggers for migration include:

  • Performance issues — Pages loading slower than 3 seconds drive away 53% of mobile visitors
  • Reliability problems — Frequent downtime disrupts business operations and damages search rankings
  • Outgrown current plan — Your site’s traffic or resource needs exceed your hosting tier
  • Cost optimization — Finding better value without sacrificing features or support quality
  • Security concerns — Upgrading to hosts with robust DDoS protection, SSL management, and 24/7 monitoring

Hostifire’s Cloud VPS hosting delivers 99.99% uptime, SSD storage, and DDoS protection starting at $5.99/mo — ideal for sites outgrowing shared hosting or requiring guaranteed resources.

Pre-Migration Checklist (Do This First)

Before touching any files, complete these preparation steps:

1. Choose and Set Up Your New Hosting Account

Research providers based on your site’s specific needs:

  • Shared hosting ($1.50–$6.90/mo at Hostifire) — Small blogs, portfolios, low-traffic business sites
  • Cloud VPS ($5.99–$15.99/mo) — High-traffic sites, custom server configs, growing e-commerce stores
  • Windows RDP hosting ($4.99–$19.99/mo) — ASP.NET applications, MSSQL databases, Windows-specific tools

After purchasing your plan, note your new hosting account details:

  • cPanel/control panel login credentials
  • Nameservers (e.g., ns1.hostifire.netns2.hostifire.net)
  • Temporary URL for pre-launch testing (usually provided in your welcome email)

2. Maintain Access to Your Current Host

Critical: Do NOT cancel your old hosting account until migration is complete and verified. DNS propagation takes 24–72 hours, during which visitors may still reach your old server. Canceling prematurely causes downtime.

Keep your old hosting active for at least 7 days post-migration to ensure:

  • DNS changes propagate globally
  • Email delivery transitions smoothly
  • You can retrieve missed files or settings if needed

3. Document Current Settings

Record these details from your existing setup:

  • Domain registrar login (where you purchased your domain)
  • Current nameservers (found in your registrar’s DNS management)
  • Email account configurations (SMTP/IMAP settings, forwarding rules)
  • FTP/SFTP credentials
  • Database names and user permissions
  • SSL certificate type and expiration date
  • Installed plugins, themes, and custom code locations

Screenshot your domain’s DNS settings at your registrar — you’ll reference this during the DNS cutover phase.

Step 1: Create Complete Backups

NIST cybersecurity standards recommend the 3-2-1-1-0 backup rule: 3 copies, 2 different media types, 1 offsite, 1 immutable/air-gapped, 0 recovery errors. For website migration, focus on creating verified, downloadable backups stored off-server.

Backup Your Website Files

Method A: cPanel Backup Wizard (Recommended)

  1. Log into your current host’s cPanel
  2. Navigate to Files → Backup Wizard
  3. Choose Full Backup (includes home directory, databases, email forwarders, and filters)
  4. Select download destination (download to your computer, not remote FTP)
  5. Click Generate Backup and wait for the email notification with download link

cPanel’s full backup file bundles your entire account into a single .tar.gz archive, which can be directly restored on any cPanel-based host like Hostifire.

Method B: FTP/SFTP Manual Download

If your host doesn’t provide backup tools:

  1. Connect via FTP client (FileZilla, Cyberduck, or WinSCP)
  2. Navigate to your site’s root directory (usually public_html or www)
  3. Download the entire directory to your local computer
  4. Verify file count matches (check that all subdirectories downloaded completely)

For large sites (5+ GB), use SFTP instead of FTP for faster transfers and encryption.

Backup Your Database

WordPress/MySQL Database Backup:

  1. Log into cPanel → Databases → phpMyAdmin
  2. Click your database name in the left sidebar
  3. Click the Export tab at the top
  4. Choose Quick export method and SQL format
  5. Click Go to download the .sql file

WordPress.org’s official migration documentation emphasizes: “Backup your database and save the copy off-site” before any migration attempt, as database corruption is the most common migration failure point.

Alternative for WordPress Sites:

Use the free All-in-One WP Migration plugin, which packages your entire site (files + database) into a single .wpress file. This plugin is trusted by over 60 million WordPress websites and handles database search-replace automatically during import, eliminating manual URL updates.

Backup Email Accounts

If your hosting includes email:

  1. Use IMAP to sync emails to a local client (Thunderbird, Outlook, Apple Mail)
  2. Export email folders as .mbox or .pst archive files
  3. Document email account settings (username, quota, forwarders, autoresponders)
  4. Note MX record configurations (you’ll update these post-migration)

Verify Your Backups

Test restoration before migrating:

  • Extract the file backup archive to confirm no corruption
  • Open the database .sql file in a text editor — the first line should contain -- MySQL dump or similar header
  • Check that the backup sizes match expected values (a 2 GB site shouldn’t produce a 50 MB backup)

Step 2: Set Up Your New Hosting Environment

Upload and Extract Files

Option 1: cPanel Full Restore (Fastest for cPanel-to-cPanel)

  1. Log into your new Hostifire cPanel account
  2. Go to Files → Backup Wizard → Restore
  3. Choose Home Directory or Full Account
  4. Click Browse, select your backup .tar.gz file, and upload
  5. cPanel automatically extracts and places files in the correct locations

Option 2: Manual Upload via FTP

  1. Connect to your new Hostifire account via FTP
  2. Navigate to public_html (or your domain’s document root)
  3. Upload all extracted website files
  4. Verify ownership and permissions (files should be 644, directories 755)

For WordPress sites, ensure these files are present and writable:

  • wp-config.php
  • .htaccess
  • /wp-content/uploads/ directory

Import Your Database

  1. Log into your new Hostifire cPanel
  2. Go to Databases → MySQL Databases
  3. Create a new database:
    • Database name: username_sitename (note the auto-prefix)
    • Character set: utf8mb4_unicode_ci (supports all languages and emojis)
  4. Create a database user:
    • Username: username_dbuser
    • Generate strong password (save this — you’ll need it in step 3)
  5. Add the user to the database with ALL PRIVILEGES
  6. Go to phpMyAdmin, select your new database, click Import
  7. Upload your .sql backup file and click Go

Common import errors:

  • “Max upload size exceeded” — Increase upload_max_filesize in PHP settings, or split the SQL file
  • “Table already exists” — Drop existing tables before re-importing
  • Character encoding issues — Ensure both old and new databases use utf8mb4

Update Configuration Files

For WordPress:

Edit wp-config.php to reflect your new database credentials:

define('DB_NAME', 'username_sitename');
define('DB_USER', 'username_dbuser');
define('DB_PASSWORD', 'your_new_database_password');
define('DB_HOST', 'localhost');

For other CMS platforms:

  • Joomla: Edit configuration.php
  • Drupal: Edit sites/default/settings.php
  • Magento: Edit app/etc/env.php

Save the file and re-upload via FTP if you edited locally.

Step 3: Test Your Site Before Going Live

Never point your domain to the new host without testing first. Use one of these methods to preview your migrated site:

Hostifire provides a temporary preview URL in your welcome email, formatted like:

  • http://server123.hostifire.net/~username/

Visit this URL to confirm:

  • Homepage loads correctly
  • Internal navigation works
  • Images and media display properly
  • Contact forms submit successfully
  • E-commerce checkout functions (if applicable)

Method B: Hosts File Override (Advanced)

Modify your computer’s hosts file to preview the site using your actual domain:

On Windows:

  1. Open C:\Windows\System32\drivers\etc\hosts as Administrator
  2. Add line: 123.45.67.89 yourdomain.com (replace with your new server IP)

On Mac/Linux:

  1. Edit /etc/hosts with sudo privileges
  2. Add same line format

Important: Remove this entry after DNS migration, or you’ll continue seeing the new server while others see the old one.

Testing Checklist

Systematically verify:

  • [ ] All pages load without 404 errors
  • [ ] Forms submit and send email notifications
  • [ ] User login/logout functionality works
  • [ ] Database-driven content displays (blog posts, products, comments)
  • [ ] Media files load (images, videos, PDFs)
  • [ ] SSL certificate installs correctly (see step 5)
  • [ ] Third-party integrations function (payment gateways, analytics, CDN)

For WordPress sitesWordPress.org recommends verifying:

  • Permalink structure (Settings → Permalinks)
  • Media library thumbnails regenerate if needed
  • Plugin and theme settings preserved
  • Widget configurations intact
  • Custom post types and taxonomies display

Step 4: Update DNS and Nameservers

Once testing confirms your site works on the new host, update DNS to point your domain to Hostifire.

Understanding DNS Propagation

When you change DNS records, the update doesn’t happen instantly worldwide. Cloudflare’s DNS documentation explains that propagation time depends on:

  • TTL (Time to Live) settings — Records with 300-second (5-minute) TTLs update faster than 86400-second (24-hour) TTLs
  • ISP caching policies — Some providers cache DNS longer than the TTL specifies
  • Geographic distribution — Users in different regions may see different results during propagation

Typical propagation: 5 minutes to 72 hours, with most changes completing within 24 hours.

Update Nameservers at Your Registrar

This is the recommended method for complete hosting migration:

  1. Log into your domain registrar (GoDaddy, Namecheap, Google Domains, etc.)
  2. Find DNS Management or Nameserver settings
  3. Change from your old host’s nameservers to Hostifire’s:
    • ns1.hostifire.net
    • ns2.hostifire.net
  4. Save changes (may require email confirmation)

Nameserver changes delegate ALL DNS control to your new host, including A records, MX records, and CNAME records. This simplifies ongoing management but takes longer to propagate (24–72 hours) than individual record updates.

Alternative: Update Individual DNS Records

If you want faster propagation or need to keep email on the old host temporarily:

  1. Keep nameservers at your registrar
  2. Update only the A record to point to your new server IP:
    • Record type: A
    • Host: @ (root domain) and www
    • Points to: Your new Hostifire server IP (found in cPanel or welcome email)
    • TTL: 300 (5 minutes for faster propagation)

This method updates in 5–60 minutes but requires manually managing DNS records at your registrar instead of in cPanel.

Don’t Skip: Propagation Verification

Use DNS propagation checkers to confirm the change is spreading globally:

  • Enter your domain name
  • Select A record type
  • Check that most locations show your new server IP

If some regions still show the old IP after 48 hours, flush your local DNS cache:

  • Windowsipconfig /flushdns in Command Prompt
  • Macsudo dscacheutil -flushcache in Terminal
  • Linuxsudo systemd-resolve --flush-caches

Step 5: Migrate Email Accounts

If your domain uses email hosting (e.g., yourname@yourdomain.com), you must migrate email accounts and update MX records to prevent email loss.

Email Migration Strategies

Option A: Gradual Transition (Zero Downtime)

Email migration best practices recommend a staged approach:

  1. Sync historical emails to the new server (via IMAP copy or cPanel email forwarders)
  2. Update MX records to point to the new host
  3. Perform delta sync to capture messages that arrived during transition
  4. Keep old email accessible for 7–14 days as a safety buffer

Option B: Cutover Migration (All at Once)

  1. Recreate all email accounts in new Hostifire cPanel (Email Accounts section)
  2. Download emails from old server via IMAP client
  3. Update MX records to new host
  4. Upload archived emails to new server

Update MX Records

If you changed nameservers to Hostifire, MX records update automatically. If you manage DNS at your registrar:

  1. Delete old MX records
  2. Add new MX records (provided by Hostifire support or in your welcome email):
    • Priority 0, Host: mail.hostifire.net (example — verify your specific records)
  3. Update SPF, DKIM, and DMARC records to include your new server’s IP address

Email deliverability guides stress: “Failure to update SPF/DKIM will mark your emails as spam.” Verify these DNS records propagate correctly using MXToolbox.

Email Migration Verification

After MX records propagate (24–48 hours):

  • Send test emails to your domain from Gmail, Outlook, and other providers
  • Send test emails from your domain to external addresses
  • Check spam folders and email headers for authentication passes
  • Verify autoresponders and forwarders work

Step 6: Install SSL Certificate

Modern browsers display warnings on non-HTTPS sites, damaging trust and SEO rankings. Your old SSL certificate does not transfer to the new host.

Hostifire includes free SSL certificates with all hosting plans:

  1. Log into cPanel
  2. Go to Security → SSL/TLS Status
  3. Check the box next to your domain(s)
  4. Click Run AutoSSL
  5. Wait 2–5 minutes for automatic installation

Let’s Encrypt certificates auto-renew every 90 days, requiring no manual intervention.

Force HTTPS Sitewide

After SSL installation, redirect all HTTP traffic to HTTPS by adding this to your .htaccess file:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

For WordPress sites, also update Settings → General:

  • WordPress Address (URL): https://yourdomain.com
  • Site Address (URL): https://yourdomain.com

Verify SSL installation at SSL Labs — aim for an A or A+ rating.

Step 7: Post-Migration Verification and Cleanup

Complete Functionality Test

After DNS propagation completes, perform a comprehensive site check:

Functionality:

  • [ ] All pages load via HTTPS without mixed content warnings
  • [ ] Contact forms send emails to the correct addresses
  • [ ] Search functionality returns accurate results
  • [ ] User registration and login work
  • [ ] Shopping cart and checkout process complete successfully
  • [ ] Newsletter signup forms integrate with email service

Performance and SEO:

  • [ ] Page load speed meets expectations (test at PageSpeed Insights)
  • [ ] Google Search Console shows no new crawl errors (may take 3–7 days to update)
  • [ ] Google Analytics tracks visitors correctly
  • [ ] XML sitemap accessible at yourdomain.com/sitemap.xml
  • [ ] Robots.txt file permits search engine crawling

Technical checks:

  • [ ] Database connections stable under load
  • [ ] File upload functionality works (test image uploads, PDF uploads)
  • [ ] Scheduled tasks/cron jobs running (check WP-Cron, backups, etc.)
  • [ ] Third-party API integrations active (payment gateways, CRM, shipping calculators)

Update External Services

Don’t forget to update these third-party platforms:

  • Google Search Console: Add and verify your site’s HTTPS version if not already present
  • Google Analytics: Verify tracking code fires correctly (check Real-Time reports)
  • CDN services (Cloudflare, StackPath): Update origin server IP address
  • Email marketing platforms: Verify domain authentication records (SPF, DKIM)
  • Social media pages: Update website URLs in profiles
  • Payment processors: Confirm webhook URLs and IPN settings point to new server

Document the Migration

Record these details for future reference:

  • Migration completion date
  • New server IP address and nameservers
  • Database credentials and prefix
  • SSL certificate expiration date and renewal method
  • Any custom configurations or firewall rules applied
  • Performance benchmarks (load time, uptime stats)

When Can You Cancel Old Hosting?

Wait at least 7 days after successful DNS propagation before canceling your old hosting account. This buffer ensures:

  • Email delivery fully transitions (MX records fully propagated)
  • No configuration files or backups were missed
  • Performance remains stable under real traffic
  • You can retrieve old logs or data if needed

Before canceling, download final backups from your old host as insurance.

Common Migration Mistakes to Avoid

1. Skipping the Backup Step

Mistake: Assuming the old host will keep your data accessible after cancellation. Fix: Always maintain local backups independent of any hosting provider.

2. Changing DNS Too Early

Mistake: Updating nameservers before testing the new site, causing visitors to see a broken site. Fix: Use temporary URLs or hosts file testing to verify functionality before DNS changes.

3. Forgetting to Update wp-config.php

Mistake: Uploading WordPress files without updating database credentials. FixWordPress.org migration documentation stresses verifying wp-config.php credentials match the new environment before going live.

4. Ignoring File Permissions

Mistake: Files uploaded via FTP have incorrect permissions, causing “403 Forbidden” errors. Fix: Set files to 644 and directories to 755 after upload using cPanel File Manager or FTP client.

5. Not Testing Email Delivery

Mistake: Assuming email migration worked without sending test messages. Fix: Test both inbound and outbound email to multiple providers (Gmail, Outlook, Yahoo) before considering migration complete.

6. Canceling Old Hosting Prematurely

Mistake: Terminating old hosting within 24 hours of DNS changes, before propagation completes. Fix: Maintain old hosting for minimum 7 days post-migration as a safety buffer.

Need Help Migrating to Hostifire?

Manual migration works well for small sites, but large databases, complex custom code, or mission-critical e-commerce stores benefit from professional assistance. Our migration team assists customers daily with transfers from all major hosting providers.

When to Consider Migration Support

  • Sites larger than 5 GB with complex database structures
  • E-commerce stores requiring zero-downtime transitions
  • Custom applications with server-specific configurations
  • Limited technical experience with FTP, databases, or DNS management
  • Tight deadlines requiring guaranteed migration completion

Most migrations complete within hours for small sites, though larger sites may take longer depending on size and complexity.

Hostifire Hosting Plans

Cloud VPS Hosting — Starting at $5.99/mo

  • 1–4 vCPU cores, 512 MB–4 GB RAM
  • Full root access, SSD storage, 500 GB–3 TB monthly transfer
  • 99.99% uptime guarantee, DDoS protection
  • Ideal for sites outgrown shared hosting

Shared Hosting — Starting at $1.50/mo

  • cPanel control panel, free SSL, unlimited bandwidth
  • Perfect for blogs, portfolios, small business sites
  • One-click WordPress installer, 24/7 support

Windows RDP Hosting — Starting at $4.99/mo

  • Full Windows desktop access, ASP.NET support
  • MSSQL databases, Remote Desktop Protocol
  • Ideal for Windows-specific applications and development environments

View all Hostifire hosting plans →

Frequently Asked Questions

How long does website migration take?

Small sites (under 1 GB) often migrate within a few hours of active work. Larger sites with extensive databases or media libraries may require a full day. DNS propagation adds 24–72 hours before the migration is visible globally, though this happens automatically in the background.

Will migration affect my search engine rankings?

Properly executed migrations have minimal SEO impact. Google’s official SEO guidance confirms that changing hosting providers without changing URLs preserves rankings, provided you:

  • Maintain 200 (OK) status codes for all existing URLs
  • Preserve SSL certificates (HTTPS)
  • Keep page load speed equivalent or better
  • Update Search Console with any property URL changes (HTTP to HTTPS)

Temporary ranking fluctuations during DNS propagation are normal and resolve within 1–2 weeks.

Can I migrate only email to a new host while keeping the website elsewhere?

Yes. Keep your website’s A record pointing to the old host, but update only the MX records to point to the new host’s mail server. This splits web hosting and email hosting across different providers.

What happens if I make a mistake during migration?

As long as you don’t cancel your old hosting account, mistakes are reversible:

  • Database errors: Re-import from your backup SQL file
  • Missing files: Re-upload from your local backup
  • DNS issues: Change nameservers back to the old host (takes 24–48 hours to revert)

This is why maintaining old hosting for 7+ days post-migration is critical.

Do I need to update WordPress plugins after migration?

Not specifically due to migration, but it’s good practice to update plugins after moving to ensure compatibility with the new server environment. Test in a staging area first if your new host provides staging capabilities.

How do I migrate a multisite WordPress network?

WordPress.org’s multisite migration guidance requires additional steps:

  • Export/import databases for each subsite
  • Update wp_site and wp_blogs tables with new URLs
  • Adjust .htaccess rewrite rules
  • Verify SUBDOMAIN_INSTALL setting in wp-config.php

For multisite networks, professional migration assistance is strongly recommended.


Sources

Google Search Central: Site Moves with URL Changes

Marketing Dive: Google: 53% of mobile users abandon sites that take over 3 seconds to load

NIST Cybersecurity: NIST Best Practices 2026

Reclaim Hosting: Migrating Accounts Using cPanel Backup

WordPress.orgMigrating WordPress — Advanced Administration Handbook

WordPress.orgAll-in-One WP Migration plugin

Cloudflare: Time to Live (TTL) DNS Documentation

DoHost: Best Practices for Migrating Email in 2026

Mailreach: MX Record Google Workspace Setup and Testing

Google Search Central: Site Moves with URL Changes