In this video we explain how to move a WordPress website from one server to another without the need for plugins, in just a few minutes.
To get started, you only need two things: access credentials for both hosting accounts.
This video uses cPanel as the control panel, which is what we use at Bacan.
A WordPress website consists of two main components that need to be copied. First, a set of files stored in the public_html folder, and second, the database used by that installation. Therefore, you will need to back up both the files and the databases involved.
This information is useful as long as you are not changing the domain name or other parameters such as database names or connection usernames.
Follow the instructions carefully and you will have your WordPress migrated in 5 minutes.
Video transcript
In today's video we are going to explain how to move a WordPress installation — a WordPress website — from one server to another without any additional plugins, in just a few minutes. Let's go!
To get started, we only need to keep two things in mind: first, have access to the old hosting (the current one), and second, have access to the new hosting. In today's example, we will manage everything through cPanel panels.
A WordPress website is made up of two main components: a set of files and a database. The migration simply consists of making a backup of the files and a backup of the database, then restoring them on the new server and linking them together. Let us see it directly on the computer in just a few minutes!
All right, we are ready to begin migrating our WordPress site from one hosting server to another. Here it is — a freshly installed WordPress site with almost no content, but it will work perfectly for demonstrating this tutorial.
Today we have the domain "testdomain.com", and our goal, as we mentioned, is to move this site from one host to another without changing the domain name or other parameters. So let us go directly to the domain's control panel.
In cPanel, you can usually access it with a /cpanel suffix after the domain. We enter our username and password. On the hosting admin screen, we focus on two main sections: File Manager and phpMyAdmin.
As mentioned before, a WordPress website consists of a package of files and a database. We want to back up both and then restore them on the new hosting. So we first go to phpMyAdmin to back up our database.
On the left side we can see the list of databases hosted in our account. For a standard WordPress site there is usually just one. We click on it and go to the Export option. Without configuring anything, we click Continue. In a few seconds or minutes, depending on the amount of data, a database backup file is generated. We can save this file directly to a folder prepared for this purpose.
Now we can close phpMyAdmin and go to File Manager. The WordPress files are typically inside the public_html folder. We select the first file and, holding the Shift key, select the last one, right-click and choose Compress. We use ZIP format, give it a name, and wait a few seconds for the compression to complete. Once done — 11 MB in this case — we right-click and download it.
Once downloaded, we save it in the same location as the database SQL backup. Let us call it "files-backup".
We now only need these two files to restore everything on our new hosting. What we would do next is connect to the new hosting account. Since we do not have a separate server available for the test, we will delete the current content instead. We delete everything from public_html and delete the current database in the hosting.
The hosting is now completely empty, just as it would be after purchasing a new hosting service.
What are the steps to restore our backup? We go back to File Manager, into the public_html folder, and use the Upload option. We upload the ZIP backup of our files — we can drag and drop. It uploads quickly. Once confirmed, we go back to the directory, right-click and Extract.
All files have been extracted, so we can delete the original ZIP file. Now we restore our database. We cannot do this directly from the backup file we have — it is a content restore file. So we go to MySQL Databases and create a new database.
There it is. We also create a database user, which can have the same name as the domain. We set a password, create the user, and then add the user to the database with all permissions.
Once done, we go back to phpMyAdmin. Our database is there, and now we use the Import option. We select the SQL database backup file and click Continue. Import executed successfully — the process is done!
There is only one last step. We go back to File Manager, open the wp-config.php file, right-click Edit, and update the three lines with the new database information we just created manually.
The database was called "testdomain_wp", the user was also "testdomain_wp", and the password was "domain#00". We save the changes and everything is ready!
We can close the panel and open our website — it works just as it did before. As you have seen, it is a straightforward process. It barely takes 5 or 6 minutes, and there is no need for additional plugins or tools, given how easily the task can be completed.
When we talk about not using plugins for this migration, it is not because we have anything against them — in fact, some are very useful. The issue is that most of them can have difficulties migrating WordPress sites with a very large number of files or a very large database. There is simply no comparison to doing it directly from the cPanel panel, where backing up files and compressing to ZIP is much faster than doing it through PHP routines.
That is why we recommend doing it directly from cPanel. The situation would be different if you also need to change domains — in that case, we will cover that topic in another video and explain how to do it using plugins that help with the task.
As you have seen, in just five minutes we have successfully migrated our WordPress website from one server to another. If you found this video useful, give it a like and subscribe so you do not miss more topics like this coming very soon.
Cheers!