How to move WordPress hosting with a permanent domain This involves setting up a new server, backing up all files and databases, restoring the backup and testing the results, then pointing the domain’s DNS to the new server’s IP address. You usually don’t need to change post URLs if the domain name and permalinks remain unchanged. DNS propagation, caching, and individual user connections can take varying amounts of time.
The following old guide documents my personal experience migrating a VPS from Webuzo to CWP. All original screenshots, captions, server commands, identities, and links are retained; a 2026 addition distinguishes the safe recommendations from historical records.
Finally writing again! This time I want to share a tutorial on how to move WordPress hosting, including case studies of my own website and dozens of blogs. In case anyone is looking for information on how to move hosting and domains, I’d like to share how to manually move WordPress hosting here.
This move is also why I haven’t written on bloggerpi.com for a while. The move was quick, but the setup, configuration, optimization, and all the other hassles were a hassle. Moreover, this time I’m also moving to a different web hosting control panel. After a long time… using the web hosting control panel webuzo, this time I have to say goodbye to webuzo.
Now I’ve found one web hosting control panel that meets my needs. It’s quick to configure as a production server, and easy to customize. Now it’s I use CentOS Web Panel AKA Control Web Panel. I’ll cover the review and installation instructions for CentOS Web Panel, aka Control Web Panel, on a VPS in a separate article.
In this article, I’ll only discuss how to migrate WordPress hosting. This method is actually quite easy, as long as you’re familiar with Linux. But if you’re unsure how to do it yourself, you can use my services. Because I also offer blog website creation services, the details of which you can find here.Now, let’s discuss the tutorial on how to manually move WordPress hosting and domains.
Before Learning How to Move WordPress Hosting Between VPS Servers, Domains Remain!
Archive warning: This article preserves the author’s real-life experience migrating Webuzo to CWP. The historical shell commands below should not be copied directly to a production server: some use root users, example IPs, and transfer syntax that should be checked. For new readers, review WordPress installation and hosting functionality before changing infrastructure.
Backups are required for both WordPress files and the database, not just one or the other. Test PHP versions, extensions, and plugin compatibility on the destination server. The document WordPress CMS provides background on site management and administrator responsibilities.

This tutorial on how to move WordPress hosting between VPS servers with fixed domains will be useful for those of you who meet the following criteria:
- Blog farmers on VPS servers whose data is already tens to hundreds of Gigabytes. The data for all the websites I moved yesterday was around 50 Gigabytes.
- I want to move a WordPress website without having to download and re-upload files. Can you imagine moving 50 Gigabytes of data by downloading and then uploading it again? Last time I downloaded the 90 GB GTA 5 game, it took 2 days and 1 night. Understandably, I live in a village with a 4 Mbps internet connection.
- You want to move quickly. Because yesterday I moved two servers and dozens of websites in just two nights. Combined, it took about a day, or 12-24 hours. It could have been faster, but since it was my first time using the CWP web hosting control panel, there was a bit of a learning curve. Plus, I had to make sure CWP was stable enough to host my blog applications and website.
- You already know and can use Linux, have basic server administration skills, and can use Rsync. For those who don’t know, Rsync is an application in Linux that can be used to move and synchronize between computers and hard disks, as well as between computers connected to the internet network. At least that’s what I translated from Wikipedia page about Rsync application.
However, even if you don’t meet the criteria above, you can still read this article. Perhaps it’s useful for learning. Or if you’re not interested, you can just read and learn the tutorial on becoming a beginner YouTuber here. Okay, let’s move on to the technical aspects of moving WordPress hosting between VPS servers with the same domain.
There are several preparations you need to make before moving WordPress between VPS servers. Once these are in place, you can easily perform the transfer. Here’s what you need to prepare:

- Install the SSH Client application to connect to the server via SSH. I usually use putty. There are lots of tutorials on how to use it if you search for them. Google Search Indonesia.
- Prepare the new VPS server you want to use. I’ve been using a VPS on Linode for a long time, since 2014 or 2013, if I remember correctly. They are providers unmanaged VPS It’s quite reliable and affordable. You can check out the Linode website here if you’d like to take a look. Their cheapest VPS costs $5 per month. Setting up a new VPS server on Linode is quick. With just a few clicks and in just 10 minutes, your CentOS 7 server can be online.
- Once the destination server is online, install a web hosting control panel on the new server. You’re free to use any control panel you like. However, I’ll use the CentOS Web Panel, also known as Control Web Panel, for this case study. The reasons for using this control panel are discussed in a separate article.
- Prepare information and data related to moving WordPress hosting to a new server. For example, root username, root password, mysql database password on both servers.
- It’s best to register your domain with Cloudflare to ensure zero downtime, meaning your website will remain online. That way, once all your files and databases have been moved to the new server, you can simply change the IP address in your domain’s DNS settings on Cloudflare. Of course, if you’re curious about Cloudflare, you can search for it on Google. I’ve never written about Cloudflare on bloggerpi.com.
- Install Rsync on the old server, the new server, or both. Choose according to your needs. If the old server is too heavy to move, it’s best to install Rsync. Rsync on the new server only.
Okay, so that means everything’s ready. Now, the technical part remains, which can be easily solved.
Easy Steps: Tutorial on How to Move WordPress Hosting Between VPS Servers and a Fixed Domain! Case Study: From Webuzo to Control Web Panel (CWP)
If the domain and permalink remain the same, there is no reason to create 301 redirect mass. Make sure canonical URL does not point to the test server. Check technical SEO as well as indexing when switching DNS to detect robots/noindex carryover.
The steps are roughly as follows.
[caption id="attachment_4784" align="aligncenter" width="800"]
Easy Steps: Tutorial on How to Move WordPress Hosting Between VPS Servers and a Fixed Domain! Case Study: From Webuzo to Control Web Panel (CWP)
Installing and Configuring the Web Hosting Control Panel on the New Server is Now Running Normally
Make sure wp-config.php Point to a new database and credentials if different. Test HTTPS, login, images, email, and cron in a secure environment before the cutover. Don’t forget the link breadcrumbs and rules redirect plugin so as not to create loops between servers.
If the backup needs to be verified manually, please learn phpMyAdmin basics; avoid exposing database administration tools to the public without adequate authentication and protection.
This means You have installed CentOS Web Panel AKA Control Web Panel on your new VPS, and its functions are now working normally. You can access the Control Web Panel administration page on the new VPS, and the web server application is running as expected. I’ll cover the tutorial for installing and configuring the CentOS Web Panel (aka Control Web Panel) on a VPS in a separate post. This tutorial will only cover how to move WordPress hosting with a fixed domain between servers.
Moving WordPress Database and Files to a New Server with SCP and Rsync
Order mysqldump, scp, rsync, And chown in the original tutorial is a historical note, not a ready-to-use command. Address 127.0.0.1 and parameters ssh root@... must be checked by admin. Simulation MySQL commands on test environment different from production database operations. Practice periodic database backup must store an encrypted copy outside the web root.
After testing, measure PageSpeed and WordPress experience in a consistent cache state. If using a CDN, audit Cloudflare settings and TTL related to IP changes. During the period server maintenance, announce changes that may impact transactions. Principle open source giving flexibility in choosing a host, but also the responsibility of backup and security.
To move files between servers, you can actually use SCP (secure copy), which is usually built into CentOS. I use SCP if I only need to copy one file. If there are many files, Rsync is a more efficient option. However, before starting the transfer, you must prepare the files and databases you want to move. Here’s the order:
1. Login via SSH to the New and Old Servers
Log in via SSH using the Putty SSH Client to your two new servers. To switch WordPress hosting, you’ll need to log in to both servers.
2. Backup the database of the website or blog you want to move with mysqldump
Type or copy this code into the SSH client (putty) that is already logged into your old server. This will website SQL database backup who wants to be moved.
mysqldump -u root -p --opt namadatabaseyangmaudipindahdiserverlama > databaseyangmaudipindah.sql
Press enter, and you’ll be prompted to enter the root password for your old MySQL server.
3. Copy the database you want to move to the new server using SCP.
Since there’s only one file, I’ll use SCP (secure copy) here. The command is as below. Replace 127.0.0.1 with the IP address of your new server.
scp databaseyangmaudipindah.sql ssh [email protected]:/home/
Press enter, and you will be asked to enter the root server password new you because you use root user to connect to your new server.
3. Create a database on the new server for the moved WordPress website.
Create a database on the new server using the databasetobemoved.sql file copied from SCP. Locate the location of databasetobemoved.sql on the new server. For example, in my case, I copied the database to the folder /home/ then create a new database with the script below.
mysql -u root -p dabatasediserverbaru < databaseyangmaudipindah.sql
Name new server data limit The above can be replaced with the database you created on the new server. To create this database, you can use the Control Panel Web administration page on the new VPS. Therefore, before you read the tutorial on how to manually move WordPress hosting, the web server application must be running normally.
4. Copy WordPress website files from the old server to the new server with Rsync
This is where Rsnyc comes in handy. To move website folders from the old server to the new one. Rsync can move large amounts of files quickly. Enter the script below into your old server’s SSH port. Don’t forget to replace 127.0.0.1 with your new server’s IP address.
rsync -azvr /home/userserverlama/public_html/blogyangmaudipindah.com/ [email protected]:/home/userserverbaru/public_html/blogyangmaudipindah.com/
Press enter, and you’ll be prompted to enter the new server root password. Wait for Rsync to transfer everything. It’s really fast; yesterday I moved thousands of files between servers, totaling about 5 GB, in less than 5 minutes.
5. Change Ownership File with Chown (optional)
Because the file was moved with the root user, the ownership of the destination file is now root. Typically, website files are accessible to the public and certain user groups. If you don’t change the ownership, it will cause errors. So, you can change this with this script.
chown -R user:user folderblogyangmaudipindah.comdiserverbaru
However, this is optional, as there’s a feature in the Web Control Panel that allows you to resolve this ownership issue from the admin page with just one click. This is useful if you’re using another web hosting control panel.
6. Change the website configuration to match the new server settings.
This is an important step in moving WordPress hosting. Because the file locations are different, they must be adjusted accordingly. If you’re manually moving WordPress hosting, some of these files may need to be adjusted.
- wp-config.php: Change the database name, MySQL username, and password. If you’re using a caching plugin like wpsupercache, you’ll also need to change the cache location to match the location on the new server.
- .htaccess: For Apache Webserver users, this needs to be adjusted, especially if you have the wpsupercache WordPress plugin.
7. Change the IP Address in Cloudflare DNS Settings
[caption id="attachment_4782" align="aligncenter" width="800"]
Change the IP Address in Cloudflare DNS Settings.
Now, if you feel everything has been changed and there are no errors, you can start changing the IP address in Cloudflare DNS Settings as above. Replace the old server IP address with the new server IP address. Within seconds, your WordPress website location will have moved to the new server with the same domain. If there are no errors, you can log in to the WordPress administration page. The content will be the same.
If there are any errors, you can fix them first. If you can’t fix the error quickly, you can change the IP address in Cloudflare’s DNS settings to the old server’s IP address while you troubleshoot the error on the new server. This way, your website won’t go down or crash.
So, the above is a tutorial on how to manually move WordPress hosting based on my experience with the move yesterday. I’m writing this so I don’t forget the steps. I did a lot of Googling and learned something new for this move. But I’m also sharing my knowledge. Just in case someone else needs it too.
WordPress server migration checklist before cutover
- Record PHP, MySQL/MariaDB, extensions, SSL, disk, DNS, and core plugins.
- Create a restoreable backup of your WordPress files and database at a consistent time.
- Check if your site has any transactions, comments, forms, or orders that should be temporarily frozen during cutover.
- Use a limited SSH account with strong authentication and encrypted transfer, not shared passwords.
- Adjust your
wp-config.phpdatabase connection if the name, host, or user changes. - Test your destination server in pre-production and check all critical pages before DNS redirects.
- After cutover, check SSL, canonical URL, login, file uploads, email, cron and error logs.
- Do not restore the old database without reconciling transactions or changes on the new server.
QA matrix and migration rollback
| Area | Testing | Mitigation |
|---|---|---|
| Database | Posts, users and transactions match | Check imports and snapshots are consistent |
| DNS/HTTPS | New server address and certificate are correct | Review TTL, proxy and certificate |
| Media and theme | Images, CSS, JavaScript normal | Check files and permissions |
| WordPress | Admin login, forms, cron and permalinks | Fix plugins or configuration |
| SEO | Sitemap, canonical, status 200, noindex | Check production configuration |
Frequently Asked Questions (FAQ)
Does the domain need to be changed when migrating hosting?
No. The domain and URL can remain the same even if the server IP address changes.
Does WordPress need to be reinstalled?
Usually not; The WordPress documentation explains that files and databases can be moved to a new server.
What data is backed up?
WordPress files including themes, plugins, uploads, configurations, and databases are consistent.
Do I need to change wp-config.php?
If the database host, user, password, or database name changes, the configuration will need to be adjusted.
Do I need to search and replace URLs?
Not for domains and permalinks that remain the same, unless specific references are changed.
How long does it take for DNS to migrate?
Depends on TTL, resolvers, caching, and CDN settings; can’t promise a matter of seconds.
What are the risks of moving an online store?
Orders or changes after backup can be lost if there is no synchronization or freeze strategy.
Is it okay to copy the root command in the old tutorial?
No. Historical examples should be reviewed by administrators regarding server configuration and security.
What is tested after migration?
HTTPS, DNS, pages, databases, media, email, login, booking, sitemaps and HTTP status.
How to prepare for rollback?
Keep intact backups, DNS rollback plans and how to reconcile changed data after cutover.
External References
- WordPress Developer — Migrating WordPress
- WordPress Developer — Backup and Restore
- WP-CLI — Search Replace Documentation