WordPress migration can definitely be a pain especially when it involves changing the domain name as well.
This documentation will show you how to safely migrate WordPress to/from Virtualmin [without plugin] in 6 easy steps.
Migrating WordPress in Virtualmin [Same Domain]
The steps involved with migrating a WordPress site in Virtualmin without any change to the domain name is extremely straightforward and the steps for the migration are as follows:
STEP 1: Download the WP-CONTENT directory
a. In the Virtualmin dashboard of your current server, select the domain of the site you want to migrate.
b. Open “File Manager“, right-click the “wp-content” directory and click “Download“.

STEP 2: Download the WordPress site’s database
a. In the Virtualmin dashboard of your current server, select the domain of the site you want to migrate.
b. Click “Edit Databases” and then click the “Manage” button of your WordPress site’s database.
You can check and confirm the name of the database that your WordPress site is using by opening “wp-config.php” and you should find a line that looks like this: define(‘DB_NAME’, ‘name_of_db‘);
c. Click “Backup Database“, choose the “Download in browser” option and then click the “Backup Now” button at the end of the page.


Step 3: Prepare the new server
Now that you have the files as well as the database downloaded from the old server, you can proceed with setting up WordPress on the new server.
a. In the Virtualmin dashboard of your new server, select the domain of the site you want to migrate. select the domain of the site you want to migrate to and click on “Install Scripts”.
b. Choose WordPress from the list and proceed with the installation. Note down the name of the database that the script will install WordPress on as you’ll need it later.
c. Once the installation is completed, do not run “wp-install.php” but instead proceed to Step 4 below.

Step 4: Move the downloaded files to the new server
With WordPress installed on the new server, you now just have to move the files and the database.
a. In the Virtualmin dashboard of your new server, go to “File Manager” and similar to Step 1, find the “wp-content” directory but instead of downloading it, you just have to delete that folder.
b. Upload the downloaded “wp-content” directory from Step 1 via File > Upload to current directory.
Step 5: Move the downloaded database to the new server
a. In the Virtualmin dashboard of your new server, go to “Edit Databases” and similar to Step 2, click the “Manage” button of your new WordPress site’s database.
b. Click on “Execute SQL” and open the “Run SQL from file” panel.
c. Select the “From uploaded file” option and upload the database file that you downloaded in Step 2.
You typically can leave the character set to “default” if you’re migrating an updated WordPress site from another Virtualmin server. You can check and confirm the character set of the database in the old server if you are using a different control panel or different software versions in the two Virtualmin servers.
Step 6: Final changes
a. Change your DNS settings and point your domain name to your new server IP address.
b. Once the DNS changes have propagated, login to your WordPress site, and if applicable, go to Settings > Permalinks, make the necessary edits and click “Save Changes“.
And there you have it! You have successfully migrated your WordPress site. If applicable, copy any plugin code snippets/custom code snippets that you have added to the “wp-config.php” file in your old server and paste it on the “wp-config.php” file in your new server.
Migrating WordPress in Virtualmin [Different Domain]
The steps involved with migrating a WordPress site to a new domain name in Virtualmin is almost the same as the steps above with the exception of changing the WordPress Address (URL) and Site Address (URL) on your old server’s WordPress dashboard in Settings > General to the new domain name BEFORE following the above steps. This will cause the website to temporarily be inaccessible right after you changed the WordPress Address (URL) and Site Address (URL) and save the changes but this step is necessary to make sure the migrated files and database are using the correct new domain name when migrated to the new server.
Depending on the configuration of your WordPress site, you might still have the old domain name being referenced in your site. Now we know we said you don’t need a plugin for this tutorial but yeah…. rather than manually searching and replacing the URLs on your site and database, you have the option of using the Velvet Blues Update URLs plugin to replace any occurrence of the old domain name with the new one on your new server.
And yet again, there you have it! You have successfully migrated your WordPress site. If applicable, copy any plugin code snippets/custom code snippets that you have added to the “wp-config.php” file in your old server and paste it on the “wp-config.php” file in your new server.
If you prefer hiring professionals to help migrate your WordPress site(s) for you, get in touch with us and we can help you with migrating your WordPress site(s) to or from Virtualmin with minimal downtime.
Also, do let us know if this documentation helped you or if you know an easier/similar method of migrating WordPress without plugins in the comments below!
I am searching on google how to migrate WordPress site to new domain and I find your post. Hopefully, now we can migrate website easily. Thank you!
Thank you for a clear explanation.
I think you need to edit the paragraph 3a which reads:
a. In the Virtualmin dashboard of your new server, select the domain of the site you want to migrate. select the domain of the site you want to migrate to and click on “Install Scripts”.
I think the statement “select the domain of the site you want to migrate. ” should be removed to make sense of the tutorial.
Geoff