How to Migrate WordPress Manually Using cPanel

This guide explains how to manually migrate a WordPress website from one hosting server to another using cPanel.

Before You Start

Make sure you have:

  • Source hosting cPanel access

  • Destination hosting cPanel access

  • WordPress database name, username & password

  • File Manager or FTP access

Part 1: Backup from Old Hosting

Step 1: Download Website Files

  1. Login to Source cPanel.

  2. Go to File Manager.

  3. Open the WordPress installation directory (usually public_html).

  4. Select all files and folders.

  5. Click Compress → Choose ZIP Archive.

  6. Download the ZIP file to your local computer.

Step 2: Export the Database

  1. In cPanel, open phpMyAdmin.

  2. Select the WordPress database from the left panel.

  3. Click Export.

  4. Choose Quick → Format: SQL.

  5. Click Go to download the .sql file.

Part 2: Upload to New Hosting

Step 3: Upload Website Files

  1. Login to Destination cPanel.

  2. Open File Manager.

  3. Go to the target directory (usually public_html).

  4. Click Upload and upload the ZIP file.

  5. After upload, select the ZIP file.

  6. Click Extract.

Step 4: Create New Database

  1. Go to MySQL® Databases in cPanel.

  2. Create a New Database.

  3. Create a New Database User.

  4. Add the user to the database.

  5. Grant All Privileges.

Note down:

  • Database Name

  • Database Username

  • Database Password

Step 5: Import Database

  1. Open phpMyAdmin in the new hosting.

  2. Select the newly created database.

  3. Click Import.

  4. Choose the .sql file.

  5. Click Go.

Part 3: Update Configuration

Step 6: Update wp-config.php

  1. Open public_html.

  2. Edit the file: wp-config.php.

  3. Update the following:

define('DB_NAME', 'new_database_name');
define('DB_USER', 'new_database_user');
define('DB_PASSWORD', 'new_database_password');
define('DB_HOST', 'localhost');
  1. Save changes.

Part 4: Update Domain (If Domain Changed)

If the domain name has changed:

  1. Go to phpMyAdmin.

  2. Open table: wp_options.

  3. Update:

    • siteurl

    • home

  4. Replace old domain with new domain.

Alternatively, you can use SQL query:

UPDATE wp_options SET option_value = 'https://newdomain.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://newdomain.com' WHERE option_name = 'home';

Final Checklist

  • Website loads properly

  • Admin login works

  • Images are displaying

  • Permalinks are working (Resave Permalinks if needed)

  • SSL is installed

Was this article helpful?