Step 1: Understand the old server's file structure.
Log in to the old cPanel and open the File Manager. You will see the root home directory with folders like etc logs, public_html, ssl, and tmp.
Your entire WordPress installation lives inside public_html. Navigate into it and you will see all the standard WordPress files: wp-admin,/ wp_content/, wp-includes/,wp-config.php, index.php, and more.
Note: Do not touch wp-config.php yet you will need its database credentials in Step 3.
Step 2: Compress All WordPress Files into a Zip.
Inside public-html, press Select All from the top toolbar to select every file and folder. Then right-click and choose Compress from the context menu.
In the Compress dialog that appears, choose Zip Archive as the compression type. The dialog will show a list of all files about to be compressed including .well-known, wp-admin, wp-content, wp-includes, .htaccess, index.php, and others. Click Compress Files.
After a few seconds, a new file called well-known.zip (typically 30 MB or more) will appear in your public-html directory.
Step 3: Export the Database from phpyAdmin.
From the old cPanel dashboard, scroll to the Databases section and click phpMyAdmin. Select your WordPress database from the left sidebar. The database name can be found in wp-config.php under DB-name.
Click the Export tab at the top. Use the default Quick export method with SQL format, then click Go. This will download a .sql file to your computer this is your entire database backup.
Important: Also note your old wp-config.php credentials DB_NAME, DB_USER, and DB_PASSWORD. You will need to replace these with new values on the new server.
Step 4: Create a New Database on the New Server.
Log in to the new cPanel. Go to Databases MySQL Databases and create a new database. Then create a new database user and assign that user to the database with All Privileges.
Write down the new DB_NAME, DB_USER, and DB_PASSWORD. You will need these in Step 7.
Tip: The new database name will look something like newaccount_wp-xxxxx. cPanel automatically prepends your cPanel username to the database name.
Step 5: Upload the Zip File to the New Server.
On the new cPanel, open File Manager and navigate to public-html. Click the Upload button in the toolbar. The File Upload screen will open, showing the destination path as /home/youraccount/public_html
Drag your downloaded zip file into the upload area or click Select File. The upload progress is shown in real time. Wait for the upload to reach 100% before moving to the next step.
Step 6: Extract the Zip and Import the Database.
Once the upload is done, go back to File Manager in public-html. Right-click well-known.zip and choose Extract. In the Extract dialog, confirm the extraction path is /public_html and click Extract Files. All your WordPress files will now appear in the folder.
Now import the database. In the new cPanel, open phpMyAdmin, select your newly created database, and click the Import tab. Click Choose File, select your exported .sql file, and click Go.
A green success message will appear once the import completes.
Step 7: Update wp-config.php with New Credentials.
In File Manager on the new server, find wp-config.php inside public_html. Right-click it and choose Edit. The built-in code editor will open.
Update these three lines with your new database credentials:
define('DB_NAME', 'newaccount_wptut');
define('DB_USER', 'newaccount_wptut');
define('DB_PASSWORD', 'your_new_password).
Keep DB_HOST as localhost:3306; this is the same on all cPanel servers. Click Save Changes in the top-right corner of the editor.
Warning: If you leave the old database credentials here, your site will show an "Error establishing a database connection" message. Make sure all three values match exactly what you set in Step 4.
Step 8: Verify the Site is Live on the New Server.
Open a browser and navigate to your domain or the temporary URL provided by your new host. If everything is configured correctly, your WordPress site will load exactly as it was on the old server: same theme, posts, pages, and content.
Tip: If you have not pointed your domain's DNS to the new host yet, you can test by temporarily editing your computer's hosts file to point the domain to the new server's IP address.