The Complete Guide to Moving Your WordPress Site to a New Hosting Provider

The Complete Guide to Moving Your WordPress Site to a New Hosting Provider


When you move your WordPress site to a new hosting provider, you’re juggling more than just files and a domain name. You’ve got to decide between manual migration and plugins, plan backups, track versions, and avoid downtime that hurts traffic or sales. 

Done right, the process is smooth and low-stress. Done wrong, it can break your site in ways that are hard to undo, so your next step matters more than you think.

How to Move Your WordPress Site: Two Main Options

When you move a WordPress site to a new host, you typically choose between two approaches: using a migration plugin or performing a manual transfer of your files and database.

With a migration plugin such as All‑in‑One WP Migration or Duplicator, you install the plugin on the source site, generate an export file (for example, a .wpress file or a plugin‑specific archive), and then import that file on the new host.

After the import completes, you usually need to re-save your permalinks in Settings → Permalinks to ensure your URLs function correctly.

According to the experts at DotRoll, a reputable web hosting company, this method is generally faster and less error‑prone for most users, but it may be limited by file size restrictions or hosting resource limits.

With manual migration, you transfer your site files via FTP or a file manager, export your database to a .sql file from the old host (commonly using phpMyAdmin or a similar tool), and then import that .sql file into a new database on the new host.

If your new environment runs on DotRoll cPanel hosting, both phpMyAdmin and the File Manager are accessible directly from the cPanel dashboard, which simplifies the database import and file transfer steps without requiring a separate FTP client.

You must update the database credentials in wp-config.php to match the new database name, user, and password.

In many cases, you'll also need to run a URL search‑and‑replace in the database to update any references to the old domain or file paths.

Manual migration offers more control and can bypass some plugin or hosting limitations, but it requires more technical steps and a clearer understanding of how WordPress stores its data.

Decide If You Should Migrate Your WordPress Site Now

So how do you determine whether it's the right time to move your WordPress site to a new host?

Begin by evaluating performance and cost. If hosting fees are increasing while page load times remain slow, or if you frequently hit resource limits (such as CPU, RAM, or bandwidth) as traffic grows, a migration is worth serious consideration.

Recurring downtime, unresolved malware issues, or outdated server software are additional indicators that a change may be necessary.

Running on old versions of PHP or MySQL can cause compatibility problems with current themes and plugins and may increase security risks due to unpatched vulnerabilities.

When planning a migration, choose a period of lower traffic to reduce potential disruption.

Also account for DNS propagation, which can take up to 48–72 hours to fully update across the internet, during which some visitors may still reach the old server.

Choose a Better WordPress Hosting Provider

Select an Appropriate WordPress Hosting Provider

Before migrating a site, select a hosting provider that supports current WordPress standards rather than legacy configurations. Confirm it meets WordPress minimum requirements, including a modern version of PHP (7.4+ or, preferably, 8.x) and a compatible version of MariaDB or MySQL.

Assess performance-related features such as SSD storage, effective caching mechanisms (including page, object, and opcode caching), and either built-in or easily integrated content delivery network (CDN) options. These elements have a measurable impact on page load times and overall user experience.

Review security and recovery measures, including malware scanning, web application firewall (WAF) or equivalent protections, and automated daily backups with reliable, tested restore processes. These factors reduce the risk and impact of security incidents and data loss.

Evaluate support quality and migration assistance, including availability of 24/7 technical support, documented migration tools, and clear DNS change guidance. Also review resource limits and policies, such as storage and bandwidth allowances, PHP worker limits, and any restrictions on plugins or file uploads, to ensure they align with your site’s current and expected future needs.

Prepare Your WordPress Site for Migration (Backups and Planning)

Treat the migration as a controlled change that starts with a reliable backup and a clear plan.

Begin by creating a complete backup of your site: download all WordPress files (including wp-content, wp-config.php, and hidden files such as .htaccess), and export your database from phpMyAdmin as a .sql file.

Record key details about your current environment, including WordPress and PHP versions, the active theme, all active plugins with their versions, and your permalink structure.

Collect access credentials for both the old and new hosting accounts, as well as for your domain and DNS provider.

Store at least two separate copies of your backups, preferably in different locations.

Finally, determine how you'll manage any potential downtime and plan the timing and steps for your DNS switch in advance.

Manually Migrate Your WordPress Site Step by Step

With your backups complete and your plan defined, you can begin moving the site.

First, export your database from the old host using phpMyAdmin. Select your site’s database, choose the Export tab, select Quick as the export method and SQL as the format, then download the resulting .sql file.

Next, download your entire WordPress installation directory (commonly public_html), making sure to include hidden files such as .htaccess. Transfer this directory to the new server’s web root using FTP or your hosting control panel’s File Manager.

On the new host, create an empty database and a database user, then assign that user full privileges on the new database. Import the .sql file into this database via phpMyAdmin using the Import tab.

Finally, edit the wp-config.php file in your WordPress directory to match the new database name, username, password, and host. This ensures WordPress can connect to the database on the new server.

Migrate Your WordPress Site With a Plugin (Pros, Cons, Limits)

A migration plugin moves your WordPress site by packaging core files, the database, themes, and plugins into an archive that can be restored on a new host.

For example, All-in-One WP Migration exports a .wpress file, which you then import into a fresh WordPress installation on the new server.

Duplicator creates an archive plus an installer.php script; you upload both to the new host and run the installer, providing the database details when prompted.

These tools are generally straightforward to use and can complete a migration quickly, which makes them suitable for users without extensive technical experience.

However, free versions often impose file size or upload limits, which can be restrictive for larger sites.

Complex or high-traffic sites are more likely to encounter issues such as timeouts during export or import, the need for multi-step (“Two-Step”) installations, or incomplete search-and-replace operations that result in broken links or references to the old domain.

Point Your Domain, Test Your WordPress Site, and Fix Common Migration Errors

Once your files and database are in place, whether via a migration plugin or a manual transfer, the next step is to ensure that visitors are directed to the new server and that the site functions correctly.

Update your domain settings by changing either the nameservers (if you're using your hosting provider’s DNS) or the relevant DNS A and/or CNAME records to point to the new server’s IP address or hostname. DNS propagation can take up to 48–72 hours, during which some visitors may still see the old server.

Before directing live traffic to the new environment, test the site using a temporary URL provided by your host, the server IP address (if supported), or a hosts-file override on your local computer. Verify that key pages load, media files display correctly, SSL is installed and valid, and forms submit as expected.

If you encounter an “Error Establishing a Database Connection,” review the database name, username, password, and host values in wp-config.php and ensure they match the settings on the new server.

For 404 errors or missing images, run a URL search-and-replace in the database to update old domain references and then re-save permalinks in the WordPress dashboard.

For 500 internal server errors, check PHP memory and execution limits, review .htaccess rules for conflicts, and temporarily deactivate plugins to identify any compatibility issues.

Conclusion

You’ve seen that moving your WordPress site doesn’t have to be scary. Whether you choose a plugin or a manual migration, you can control the process with solid backups, a clear plan, and careful testing. 

Pick a better host, copy your files and database, update your settings, and point your domain when you’re ready. Take it step by step, fix any errors, and you’ll enjoy a faster, more reliable WordPress site on your new hosting.