Transferring your WordPress website to a new server, domain, or CMS can be a critical step toward improving performance, security, or scalability. Proper WordPress migration ensures minimal downtime while preserving your site’s functionality.
Depending on your website’s needs, there are 3 types of WordPress migration: server to server (moving your site to a new hosting provider), domain migration (changing your website’s domain name), and CMS migration (transferring a site from another platform).
In this article, we will focus on server migration – transferring a WordPress site to a new hosting environment. Such migration is needed for better website performance, security, or scalability. The process involves moving all site files, databases, and configurations to the new server.
Choosing the right way of server migration is a crucial step before proceeding with the site’s migration.
There are 4 popular and reliable ways to migrate a WordPress site:
- With a plugin: The easiest way to migrate the website is using a plugin. Perfect for beginners – no technical skills required, easy setup. Automated transferring of files and the database.
- With host-provided tools: Many hosts offer built-in migration services (for example, SiteGround’s Migrator, Bluehost’s Automated Migration). Fast and reliable, with support if needed—ideal for hassle-free moves without extra plugins.
- With manual migration: For full control, manually move files and databases via FTP/phpMyAdmin. Best for developers or someone with specific customization needs, though it requires technical skills.
- Advanced (WP-CLI, SSH): The fastest and most efficient method for experts. Using command-line tools like WP-CLI or SSH ensures precision, which is ideal for large sites or bulk operations. It requires server access and technical expertise.
While all migration methods are effective, the optimal choice depends on your website’s size, budget, and technical requirements. Smaller sites typically benefit from plugin-based solutions, while larger, complex sites require manual or SSH-based migration for greater precision and control.
What is WordPress Migration?
WordPress migration is the process of moving an entire WordPress website, including files, databases, themes, and plugins, from one server to another.
Common reasons for WordPress migration include improving site performance, enhancing security or support, scaling for higher traffic, or upgrading server compatibility.
Server migration can also be necessary when moving from a subdomain to a main directory (in case the subdomain was on another server) or when redesigning a site that requires a new environment.
Users can migrate their WordPress site to various host types, such as shared hosting, managed hosting, VPS (Virtual Private Server), dedicated, or cloud hosting. Each has its own advantages and downsides in terms of performance, scalability, cost, and technical requirements:
- Shared Hosting is the easiest to migrate to, often using one-click tools in cPanel or plugins. However, there is limited performance and scalability due to shared resources.
- Managed WordPress Hosting simplifies migration with automated tools, but server control is restricted. Performance is optimized, but costs are higher, and it’s harder to switch providers.
- VPS Hosting requires manual migration (SSH, SFTP, or WP-CLI) and server setup (LAMP/LEMP). It offers better performance than shared hosting but demands technical skill for configuration and security.
- Dedicated Hosting provides full hardware control but has a complex migration process, often needing sysadmin expertise. It’s best for high-traffic sites but is costly and inflexible for quick scaling.
- Cloud Hosting (AWS, Google Cloud) is highly scalable, but migration varies. Some services offer automated tools, while self-managed setups require CLI or DevOps knowledge. There can be hidden costs, such as add-on fees or data transfer.
When choosing the right host type, it’s important to determine the way you want to transfer your site. It can be proceeded in 4 ways, such as plugin-based migration, host-provided migration, manual migration, and advanced migration.
WordPress Migration with Plugin
Migrating a WordPress site using a plugin is widely regarded as the easiest and most beginner-friendly method. It automates complex tasks, minimizes the risk of errors, and requires little technical knowledge.
To migrate your website by using a plugin, here is what you need to do:
- Backup your website to ensure you have a restore point in case anything goes wrong during the migration process.
- Disable caching, firewall, and redirect plugins temporarily to avoid conflicts during migration.
- Log in to your WordPress dashboard on your current server.
- Go to Plugins, click Add New, search for your chosen migration plugin, and press Install Now and then Activate.
- Navigate to the plugin’s menu and choose Export to File.
- Download the generated export file to your computer. For large sites, you may use FTP or cloud storage options if supported by the plugin.
- Ensure WordPress is installed and running on your new server. Install and activate the same migration plugin on the new server.
- Go to the plugin’s import section and upload the export file you previously downloaded.
- Follow the prompts to complete the import process.
- Log in using your old site’s credentials. After the import, you may be logged out.
- Go to Settings, head to Permalinks, and click Save Changes twice to regenerate your .htaccess file and ensure all links work correctly.
- Enable any caching, firewall, or redirect plugins you previously disabled.
- Test your website to ensure everything works properly.

There are some common pros and cons to consider before using a plugin for migration of the website:
Pros:
- Easy and fast, even for beginners.
- Automates URL rewriting and other technical steps.
- Reduces the risk of errors compared to manual migration.
- No need to handle files or databases directly.
Cons:
- Risk of plugin conflicts or compatibility issues for PHP/MySQL/WordPress version.
- Not all plugins support direct site-to-site migration in free versions.
- Automated migration may miss issues, so you need to check everything manually.
- Large or complex sites may require a paid version.
- Some plugins require a blank WordPress install at the destination.
Choosing the right migration plugin, such as Duplicator, All in One WP Migration, and Migrate Guru, can make the whole process effortless.
Duplicator: Reliably packages your entire site (files, database, plugins) into a single archive for seamless transfers, with automatic URL updates. Offers a free version for standard needs and a Pro tier for advanced features.
All-in-One WP Migration: Simplifies migrations with a one-click export/import process, automatically adjusting URLs. The free version suits most sites. Paid extensions enable cloud storage and larger transfers.
Migrate Guru: Handles large sites (up to 200GB) effortlessly by processing server migrations. Fully automated, free, and ideal for users prioritizing speed and minimal technical effort.
Hosting Tools for WordPress Migration
WordPress migration hosting tools are specific plugins or services offered by hosting providers to help migrate a WordPress site from one host to another. They automate most of the migration process, reducing the necessity for manual procedures and the possibility of errors or downtime.
To migrate your website to another server using hosting tools, follow the next steps:
- Backup files, databases, and emails before starting.
- Verify that the new server supports your website’s PHP version, database type, and other requirements.
- Install the same CMS and create matching databases, FTP, and email accounts.
- Transfer files using a hosting file manager to move your website files to the new server.
- Export the database using phpMyAdmin or a database export tool like MySQL Workbench or Adminer to save your site’s database from the old server.
- Create a new database on a new server and import the backup using phpMyAdmin or a hosting tool.
- Modify wp-config.php (WordPress) or other CMS config files with the new database details.
- Test the website before the DNS switch. Access the site via the new server’s IP or temporary URL to check for errors.
- Lower TTL (Time to Live; sets how long it takes to cache your site’s address) in DNS settings in advance, then update nameservers or A records to point to the new server.
- Install an SSL certificate (Let’s Encrypt or your existing certificate) on the new server.
- Enable caching and security plugins.

Here are some pros and cons to consider when choosing the hosting tools for website migration:
Pros:
- Minimal technical expertise required.
- Automated process reduces the risk of errors and downtime.
- Some hosts offer free migration.
- Direct support from the hosting provider if issues arise.
Cons:
- Potential downtime during migration.
- Migration tools may not fully transfer custom configurations, settings, or plugins.
- The risk of loss or damage to data is that automated tools may not handle everything correctly.
- Some hosts only offer a limited number of free migrations.
- Less flexibility compared to manual or plugin-based migrations.
When choosing among the hosting tools for the website migration, you can pay attention to SiteGround Migrator, WP Engine Automated Migration, and Kinsta WordPress Migration.
SiteGround Migrator
SiteGround offers a WP Migrator plugin. Generate a token, install the plugin, and enter the token for an automated, unlimited migration. SiteGround Migrator is great for beginners.
WP Engine Automated Migration
WP Engine’s plugin migrates your entire WordPress site (database, themes, plugins, media). It’s a guided process with expert support, with minimal effort and low risk.
Kinsta WordPress Migration
Kinsta provides one free professional migration per account. You can simply submit a migration request, and Kinsta’s experts take care of the entire process, including configuration and performance checks.
How to Make Manual WordPress Migration?
To manually migrate a WordPress site, you need to export the database and transfer all WordPress files via FTP or a file manager. Then, you must import the database and update the site’s configuration (for example, wp-config.php) to match the new server.
Follow these 9 steps to proceed with the manual migration of the website:
1. Back up the Website Files
- Open FileZilla or WinSCP.
- Enter your hostname (for example, ftp.yourdomainname.com), username, and password (you can find it in your hosting account).
- Click Quickconnect.
- Navigate to the root directory (for example, /public_html or /www).
- Select all files (including wp-admin, wp-content, and wp-includes) and right-click on Download to save them to your computer.
If you have cPanel File Manager, do the following:
- Log in to cPanel and head to File Manager.
- Go to /public_html, select all files, and click on Compress (ZIP).
- Download the ZIP file.
2. Export the Database
- Head to cPanel or your hosting dashboard, and click on phpMyAdmin.
- Select your WordPress database from the left panel.
- Click Export at the top and choose Quick export method.
- Select SQL format and press Go to download the database .sql file.
3. Upload the Website Files to the New Server
- Connect to New Hosting with new server credentials via FTP or cPanel File Manager.
- Navigate to the new server’s root directory (/public_html).
- Upload all WordPress files from your computer that you previously downloaded(for cPanel File Manager, upload the ZIP file, then click Extract in /public_html).
- Ensure the file structure remains the same as the original.
4. Create a New Database
- Log in to your new hosting control panel (cPanel, Plesk, DirectAdmin).
- Find the MySQL Databases section and click Create a new database.
- Create a new database user and assign a strong password. Note down the new credentials.
- Select the user and database and click Add. Check ALL PRIVILEGES and press on Make Changes to grant the user full privileges to the database.
5. Import the Database
- Open phpMyAdmin on the new server and click on the new database.
- Click Import, choose the .sql file.
- Press Go to import all your WordPress data.
6. Edit Your wp-config.php File
- Locate wp-config.php in your WordPress root directory.
- Open it in a text editor (for example, Notepad++ or Sublime Text) and edit these lines with your new database details:
define(‘DB_NAME’, ‘new_database_name’);
define(‘DB_USER’, ‘new_database_user’);
define(‘DB_PASSWORD’, ‘new_database_password’);
define (‘DB_HOST’, ‘localhost’) // (or your custom host if different);
- Save the file and re-upload it if necessary.
7. Fix URLs If Needed
- Select your WordPress database from the left panel, click the SQL tab at the top.
- Paste and run SQL queries to update URLs:
UPDATE wp_options SET option_value = replace(option_value, ‘oldurl.com’, ‘newurl.com’);
UPDATE wp_posts SET post_content = replace(post_content, ‘oldurl.com’, ‘newurl.com’);
UPDATE wp_postmeta SET meta_value = replace(meta_value, ‘oldurl.com’, ‘newurl.com’);
8. Update DNS Settings
- Go to DNS settings( it can be DNS Management, Name Servers, or Advanced DNS.
- Lower TTL (Time to Live) to 300-600 seconds, 24-48 hours before migration.
- Update records after migration:
Replace the old IP with your new server’s IP for A record.
For nameservers: If using new hosting, update to their nameservers (for example, ns1.newhost.com).
- Save changes and allow 24-48 hours for full DNS propagation.
9. Log in and Check the Website
- Log in with your original WordPress credentials.
- Check all pages and functionality.
- Update permalinks (head to Settings, choose Permalinks, and click Save).
- Test forms, plugins, and media files.
- Clear all caches (plugin, server, browser).
This method manually transfers files and databases via FTP/SFTP and phpMyAdmin. While it offers full control, it’s for more technically advanced users and requires technical knowledge of servers, databases, and DNS.

When choosing a manual migration of a WordPress website, there are some pros and cons to pay attention to:
Pros:
- Full control over files and the database.
- No reliance on plugins.
- Works with any host (even without cPanel).
- No file size limits.
Cons:
- Risk of human error.
- Technical complexity (FTP/SQL/DNS skills).
- Time-consuming for large sites.
- Manual URL updates required.
WP-CLI & SSH-Based Migration (Advanced)
WP-CLI (WordPress Command Line Interface) is an official, powerful tool that allows users to manage WordPress sites directly from the command line. Combined with SSH (Secure Shell), it provides a fast, secure, and efficient way to migrate WordPress sites between servers without relying on plugins.
This method is considered advanced because it requires familiarity with command-line operations, server management, and database handling. It’s ideal for developers, sysadmins, or users who need more control, faster transfers, and automation during migration.
To proceed with the WP-CLI & SSH-Based Migration of the website, follow the next steps:
- Preparation
- Check SSH login details (username, password, server address) for both your old (source) and new (destination) hosting accounts.
- Make sure both servers have WP-CLI, scp, tar/zip, and mysqldump installed.
- Access to your hosting control panel for both servers.
- Enable SSH access
- Log in to your hosting control panel (like cPanel or Plesk) for both the old and new hosting accounts.
- Find the SSH settings (look under “Security” or “Access”).
- Make sure SSH is enabled.
- Connect to your old server via SSH
- Download and install an SSH client: for Windows – PuTTY, for Mac/Linux – use the Terminal app.
- Open your SSH client and enter your old server’s SSH details (username, server address, and port if needed).
- Write a command line in a new window:
ssh your_username@old_server_address, where you replace your_username and old_server_address with your actual details.
- Go to the WP folder (for example, public_html, htdocs, or /var/www/html) and type cd path/to/your/wordpress once connected.
- Run the command to export your database: wp db export db-backup.sql (This creates a file called db-backup.sql in your folder).
- Compress everything with the following command: tar -zcvf site-files.tar.gz or zip -r site-files.zip
- Transfer files to the new server by scp site-files.tar.gz your_new_username@new_server_address:/tmp/ or scp site-files.zip your_new_username@new_server_address:/tmp/
- Enter your new server’s SSH password and replace your_new_username and new_server_address with your actual details.
- Connect to your new server via SSH: ssh your_new_username@new_server_address
- Go to your website folder: cd path/to/your/wordpress
- Extract the Files: tar -zxvf /tmp/site-files.tar.gz -C or unzip /tmp/site-files.zip -d
- Import the database: wp db import db-backup.sql
- Update site URLs (if your domain is changed): wp search-replace ‘old-domain.com’ ‘new-domain.com’.
- Clear WordPress cache: wp cache flush
- Open your new website in a browser and make sure everything works.
- Delete the backup files to save space: rm /tmp/site-files.tar.gz db-backup.sql or rm /tmp/site-files.zip db-backup.sql

Here are some pros and cons to consider when choosing WP-CLI & SSH-Based Migration:
Pros
- Faster than plugins.
- SSH encryption prevents data leaks.
- Full control, no reliance on third-party tools.
- Can be scripted for repeat migrations.
- Better for large or complex sites.
Cons
- Requires technical expertise.
- SHH access is not always available.
- Server compatibility issues.
- Errors must be debugged manually.
- No built-in rollback.
What is the Best Way of WordPress Migration?
The best way to migrate a WordPress site depends on your website’s size, budget, and your technical skill:
For small websites, low technical skill, and limited budget:
Migration plugins are helpful. These tools automate much of the process, are often free for smaller sites, and don’t require much technical skill. However, plugins like All-in-One WP Migration have file size limits in their free versions, so larger sites may need a paid upgrade.
For medium to large websites, some technical skill and a flexible budget:
Host-provided migration tools are worth considering. Many hosting providers offer free or guided migrations, which can reduce manual effort and minimize risk, though sometimes there are limits on the number of free migrations.
For large or complex sites, advanced technical skills, and a flexible budget:
Manual migration or using advanced tools like WP-CLI or SSH gives you full control. This method is often preferred by developers or system administrators who need to customize the process or handle unique site requirements. While more time-consuming and requiring technical knowledge, it offers the most flexibility and precision.
Migration Method | Best For Website Size | Budget | Technical Skill Required | Key Advantages | Main Limitations |
Plugin-Based | Small to Medium | Low/Free | No needed | Easy, automated, minimal risk | Size limits, plugin compatibility issues |
Host-Provided Tools | Small to Medium | Usually Free | No needed | Fast, supported, minimal errors | Limited flexibility, not for custom setups |
Manual Migration | Medium to Large | Free | Intermediate/Advanced | Full control, no plugin reliance | Time-consuming, risk of human error |
WP-CLI/SSH (Advanced) | Medium to Large | Free | Advanced | Fast, scriptable, precise control | Requires command-line/server expertise |