Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
VGSOURCES
Get listed

BluehostPATCH 2026.10.16

How to Migrate a WordPress Site from Bluehost Without Losing Content, SEO, or Email

By VGSources Team 12 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can move a WordPress site away from Bluehost without taking the existing site offline: keep the Bluehost copy running, back up both its files and MySQL database, restore those two payloads at the destination, update wp-config.php, test on the new server, and change DNS only after the copy works. DNS changes can take up to 48 hours to propagate, and mailboxes need a separate migration plan because website files and email are not the same asset.

What a Bluehost-to-another-host migration actually moves

A WordPress installation has two essential payloads. The first is the file tree: WordPress core files, the wp-content directory, themes, plugins, uploads, configuration files, and any custom files in the document root. The second is the MySQL database, which stores posts, pages, users, settings, menus, plugin data, comments, and much of the site’s structure.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Copying only the files produces a site with no usable content. Importing only the database produces data with no executable WordPress installation. A complete migration restores both and reconnects them through the destination server’s database credentials.

  • Files: the complete document-root directory, including wp-content/uploads, active and inactive plugins, themes, and root files.
  • Database: the SQL export associated with the site’s DB_NAME value.
  • Configuration: a destination wp-config.php containing the new database name, user, password, host, and the original table prefix.
  • Domain services: DNS records and mailboxes, which are handled separately from the web copy.

Do not cancel the Bluehost account or delete its files until the destination has passed testing and DNS traffic has had time to settle.

Prepare the move while Bluehost remains live

Preparation prevents the most damaging mistakes: missing a mailbox, exporting the wrong database, or discovering after DNS changes that a plugin or scheduled task was never copied.

Make an inventory

Record the current site’s domain and protocol (http or https), WordPress administrator access, Bluehost control-panel access, document-root location, database name, table prefix, PHP and other runtime requirements, active plugins, theme, cron jobs, and any integrations that call the site.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Write down the mailbox names and the provider responsible for each address. Note whether mail is hosted in the same Bluehost account, at a separate provider, or through a third-party service. Also list DNS records used for email, verification, analytics, payment services, or subdomains. This inventory is the reference for rebuilding services at the new host.

Lower avoidable change during the copy

Choose a maintenance window for the final synchronization. Until then, keep the Bluehost site live so visitors can continue to read and submit content. If the site receives comments, orders, registrations, or other writes, record the final time you export the database; changes made after that export will not appear in the restored copy unless you repeat the export or reconcile them manually.

Create and download a complete backup

  1. Use Bluehost File Manager or FTP to download the entire WordPress document root. Include hidden files such as .htaccess when they are present.
  2. Open phpMyAdmin from the Bluehost control panel and identify the database named by DB_NAME in wp-config.php. Export all tables belonging to that installation as a SQL file.
  3. Store the downloaded files and SQL export in at least one location outside the Bluehost account. Keep the original backup unchanged and record its date.
  4. Confirm that the archive contains wp-content/uploads, your theme, plugins, and the SQL file. A backup that omits uploads or the database is not a restorable WordPress backup.

Bluehost’s migration guidance recommends testing the destination before cancelling the old account. Treat the downloaded backup as your rollback point: if the new server fails, you can continue serving the Bluehost copy while correcting the migration.

Choose a manual or guided migration

There are two practical routes. The manual route gives you visibility into every file, database table, URL, and error. A guided route reduces the number of hosting-panel operations but gives you less direct control over how edge cases are handled.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Decision factor Manual transfer Guided migration tool
How it works Download files, export SQL, create a database, import SQL, edit configuration, then test. A guided interface transfers files, database, and content through the tool’s workflow.
Technical skill Requires FTP or File Manager, phpMyAdmin, database credentials, and configuration editing. Lower day-to-day technical burden, although you still need to verify the result.
Control Maximum control over table prefixes, URL replacement, exclusions, and troubleshooting. Convenient defaults, with less control over unusual plugins, serialized data, or custom server rules.
URL and serialized-data issues You can choose a migration-safe search-and-replace process and inspect the affected tables. Behavior depends on the tool and its supported source and destination combinations.
Downtime exposure Can be near-zero when you test on a temporary address and perform a final database export before DNS cutover. Can also avoid downtime, but transfer duration and limits depend on the service.
Support Support is generally divided between the source and destination hosts; you diagnose more yourself. The destination may provide migration assistance, subject to its current program and eligibility.

Manual method

Use the manual method when you need to audit the database, preserve a complicated setup, troubleshoot serialized URLs, or migrate a site with custom code. It is also the fallback when a guided tool does not support your destination, site size, plugin set, or hosting arrangement.

Guided method

Bluehost documents a self-service migration tool powered by InstaWP. It is intended to transfer files, the database, and content through a guided interface. Availability, supported hosts, limits, and any account-specific requirements can change, so check the migration tool inside your account before relying on it. Even with a guided transfer, retain your independent files-and-database backup and perform the same front-end, dashboard, form, media, SSL, and DNS checks described below.

Manual migration: copy the files and database

1. Identify the correct WordPress installation

Before exporting anything, open the site’s wp-config.php and note these values:

define( 'DB_NAME', 'current_database' );
define( 'DB_USER', 'current_user' );
define( 'DB_PASSWORD', 'current_password' );
define( 'DB_HOST', 'current_host' );
$table_prefix = 'wp_';

Names are often prefixed by the hosting account. Export the database named by DB_NAME, not an unrelated database visible in phpMyAdmin. Preserve the table prefix shown in the file; changing it without updating the configuration and table references can break the installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Download every site file

Use FTP or the Bluehost File Manager to download the whole document root. That normally includes wp-admin, wp-includes, wp-content, root PHP files, wp-config.php, .htaccess, and any custom verification or rewrite files. Do not download only the theme or uploads directory. Plugins may contain required code, and root files may contain rewrite rules or ownership-specific settings that you need to review at the destination.

3. Export the MySQL database

  1. Open phpMyAdmin in Bluehost.
  2. Select the database identified by DB_NAME.
  3. Choose an export of all tables in SQL format.
  4. Save the resulting .sql file with the backup date and site name.

Do not edit the SQL file casually. WordPress and plugins may store references in serialized PHP data; a plain text replacement can change string lengths and corrupt those values.

4. Create the destination database and user

In the new host’s control panel, create a MySQL database and a database user, then grant that user full privileges on the new database. Write down the exact database name, username, password, and database host supplied by the destination. The host may be localhost, a server name, or another value; use the value supplied by the destination rather than assuming it.

5. Import the SQL file

Open the destination host’s phpMyAdmin or database-import utility, select the newly created database, and import the SQL file. Wait for the import to complete and check for an error message. A timeout or upload-size error may require the host’s command-line importer or support-assisted import rather than a second, incomplete upload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

6. Upload the WordPress files

Upload the complete file tree to the destination document root. Confirm that wp-content/uploads, plugins, themes, and root files are present. If the host uses a different document-root path, place the files there rather than in a sibling directory that the domain does not serve.

7. Replace the database constants in wp-config.php

Edit the copy of wp-config.php on the destination so it points to the new database:

define( 'DB_NAME', 'destination_database' );
define( 'DB_USER', 'destination_user' );
define( 'DB_PASSWORD', 'destination_password' );
define( 'DB_HOST', 'destination_host' );
$table_prefix = 'wp_';

Keep the existing authentication keys, salts, and table prefix unless you have a specific reason to regenerate or change them. Check file permissions using the destination host’s recommended values, and never publish the database password in a public support ticket.

Handle domain and URL changes safely

If the domain and protocol stay exactly the same, the imported database usually retains the correct site URLs. If you are changing the domain, moving from HTTP to HTTPS, or replacing a temporary hostname, update URLs with a migration-safe search-and-replace method that understands serialized data.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Serialized values include their character length. Replacing a longer or shorter URL with a generic text editor can leave the recorded length wrong, causing broken widget settings, menus, plugin options, or page-builder content. Use a tool designed to update serialized data, take a database backup first, and run the replacement against the relevant tables rather than blindly changing every occurrence.

After the replacement, inspect the site for the old hostname in:

  • Posts, pages, navigation menus, and reusable blocks.
  • Image and media URLs, including background images in CSS or page builders.
  • Canonical tags, XML sitemaps, feeds, and robots.txt.
  • Redirect rules and hard-coded links in theme or plugin settings.
  • Forms, webhooks, analytics, payment, membership, and API integrations.

Refresh permalinks after the copy

Once you can sign in to the destination dashboard, open Settings → Permalinks and click Save Changes, even if the selected structure already looks correct. This makes WordPress regenerate its rewrite rules and is the standard fix for copied sites that show 404 errors on posts or pages while the home page loads.

If URLs still fail, check that the destination domain points to the intended document root, that Apache or Nginx rewrite support is enabled, and that the copied .htaccess or equivalent server rules are compatible with the new host. A caching or security plugin can also block requests until its cache and domain settings are refreshed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Test the destination before changing DNS

Do not use the public DNS cutover as your first test. Use the destination host’s preview URL, a staging copy, a temporary URL, or a hosts-file override that resolves your domain to the new server only on your computer. The exact preview mechanism varies by host; the essential requirement is that you can exercise the copied site while public visitors still reach Bluehost.

Front-end and dashboard checks

  • Load the home page, representative posts, pages, categories, search results, archives, and any custom post types.
  • Sign in to /wp-admin; confirm the dashboard has no database-connection or missing-file errors.
  • Open the Media Library and several original-size and thumbnail images.
  • Test menus, widgets, blocks, theme controls, and page-builder layouts.
  • Submit every important form and verify its notification destination.
  • Test user registration, login, password reset, checkout, membership, or other transaction flows if the site uses them.

Operational checks

  • Issue a test HTTPS request and confirm the certificate covers the domain before enabling the site publicly.
  • Clear and rebuild page, object, CDN, and plugin caches; verify that cached pages do not contain the temporary hostname.
  • Confirm analytics, advertising tags, search-console verification, webhooks, and API credentials still point to the correct domain.
  • Review robots.txt, XML sitemaps, canonical URLs, redirects, and noindex settings.
  • Check scheduled posts, backups, WordPress cron events, server cron jobs, and notification tasks.
  • Review PHP version, memory limit, upload limit, maximum execution time, and any required extensions against the site’s plugin and theme requirements.

Record each failed check and correct it before cutover. Testing the front page alone will not reveal a missing upload directory, broken scheduled task, invalid form endpoint, or a plugin that fails only in the administrator area.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

DNS cutover and the 48-hour propagation window

When the destination passes testing, change the domain’s A record or nameservers to the new host, according to the DNS arrangement you use. DNS maps a domain name to an IP address so browsers can load the website. Different resolvers and networks may continue using cached records for different periods; Bluehost states that propagation can take up to 48 hours. That is a possible window, not a guarantee that every network will update at the same moment.

  1. Confirm the destination is ready and the Bluehost copy is still intact.
  2. Change only the records required for the website unless you have deliberately planned a full nameserver move.
  3. Keep the old hosting active during propagation.
  4. Check the site from more than one network or resolver and monitor both old and new servers.
  5. Watch forms, orders, registrations, and logs for requests still arriving at Bluehost.

Do not make conflicting content edits on both servers during propagation. If the site receives important writes, keep a record of which server accepted them and perform a final database synchronization before retiring the old copy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Move email separately from the website

Email messages and mailboxes usually do not transfer automatically when WordPress files and a database are moved. Before changing DNS, determine where each mailbox is hosted and preserve mail locally or migrate the mailboxes separately. If the DNS zone contains MX, SPF, DKIM, DMARC, autodiscover, or provider verification records, reproduce the required records at the authoritative DNS provider.

Email continuity checklist

  • List every address, alias, forwarder, autoresponder, and shared mailbox.
  • Export or otherwise preserve existing messages before the old mail service is removed.
  • Create destination mailboxes and verify passwords, storage limits, and spam settings.
  • Copy the provider’s required MX and authentication records exactly.
  • Send test messages in both directions and verify that website form mail still arrives.
  • Keep the old mail service available during DNS propagation when possible.

A website can appear fully migrated while email silently fails because its MX records still point to the old service or because the new provider lacks a mailbox that existed at Bluehost. Treat mail as its own migration project.

Common failure modes and recovery steps

“Error establishing a database connection”

Recheck DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST character by character. Confirm that the user has privileges on the destination database and that the database server is running. If the host adds an account prefix to database names, use the fully qualified name shown in its control panel.

The home page loads but posts return 404

Sign in and save Settings → Permalinks. If that does not work, verify rewrite support, document-root mapping, and the destination server’s equivalent of .htaccess. Purge caches after correcting the rule.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Images are missing

Check that wp-content/uploads was copied with its year and month subdirectories and that file permissions allow the web server to read it. Inspect the image URLs for an old domain or HTTP protocol. A serialized-data-safe URL replacement may be required.

The site redirects to Bluehost or a temporary URL

Search the database, configuration, theme, plugin settings, and redirect rules for the old hostname. Confirm that the DNS record and destination virtual host point to the same installation. Clear caches only after the correct URL is saved.

Forms or scheduled tasks stop working

Re-enter API keys and SMTP settings if they contain host-specific values. Check PHP extensions, cron configuration, SSL validation, and firewall rules. A copied WordPress database cannot recreate a server-level cron job or an external mailbox automatically.

The SQL import times out

Keep the original SQL export safe and ask the destination host which import method and size limits apply. A command-line import or host-assisted restore may be required. Do not assume that a partially completed phpMyAdmin import is valid; verify that all expected tables exist and that WordPress can read them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When it is safe to retire Bluehost

Wait until the destination serves the correct site from normal networks, email tests pass, critical forms and transactions work, scheduled jobs run, and no required traffic is still reaching Bluehost. Keep the backup and a known-good copy of the old site for your organization’s retention period. Only then cancel hosting or delete files, because deleting the source removes your easiest rollback while DNS caches may still direct visitors to it.

The safest sequence is therefore: preserve the live source, back up files and database, restore both at the destination, correct configuration and URLs, refresh permalinks, test privately, change DNS, monitor propagation and email, then retire the old account.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

BluehostDNSWeb Hostingwebsite migrationWordPress

Leave a reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.