How to Migrate WordPress Manually (No Plugins Required)
This guide teaches you the real, professional way to move a WordPress website using files, database, and wp-config settings.
Why Migrate WordPress Manually?
Manual migration is the most reliable way to move a WordPress site from one host to another. Unlike plugins, this method doesn’t rely on PHP limits, file size restrictions, or plugin failures. It is the same method used by professional sysadmins and hosting engineers.
⚡ Recommended for: Large sites, broken backups, plugin failures, multi-site migrations, or when you want maximum control.
What You Need Before Starting
- Access to old hosting File Manager or FTP
- Access to phpMyAdmin
- Access to new hosting control panel (cPanel at Nairahost)
- Your new hosting database login information
Step 1: Download Website Files
- Log in to your old hosting cPanel or File Manager
- Go to
public_htmlor the root folder where WordPress is installed - Select all files including hidden ones like
.htaccess - Click Compress → ZIP → Download
Step 2: Export Your WordPress Database
- Open phpMyAdmin from cPanel
- Select the database your WordPress site uses
- Click the Export tab
- Use Quick format and SQL
- Download the .sql file
This file contains posts, pages, settings, menus, users, and more. It is your entire site’s data.
Step 3: Upload Files to Nairahost
- Log in to your Nairahost hosting panel
- Go to File Manager →
public_html - Upload your ZIP file
- Select it and click Extract
Step 4: Create a New Database
- Go to “MySQL Databases”
- Create a new database
- Create a new database user + password
- Assign the user to the database with ALL privileges
DB_NAME: mysite_wp
DB_USER: mysite_wpuser
DB_PASS: STRONG_PASSWORD
DB_HOST: localhost
Step 5: Import Database into Nairahost
- Open phpMyAdmin in your new hosting
- Select the new database
- Click Import
- Select the .sql file you downloaded earlier
- Click Go
Step 6: Update wp-config.php
Open File Manager → find wp-config.php → click Edit.
Update these lines:
define('DB_NAME', 'mysite_wp');
define('DB_USER', 'mysite_wpuser');
define('DB_PASSWORD', 'yourpassword');
define('DB_HOST', 'localhost');
Step 7: Update Domain URL (Optional)
If your domain is changing, update the URL inside the database:
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';
Step 8: Point Nameservers to Nairahost
- cPanel: ns1.nairahost.cloud / ns2.nairahost.cloud
- DirectAdmin: ns1.nairahost.com.ng / ns2.nairahost.com.ng
Final Checklist
- WP Admin loads correctly
- Plugins are installed
- Permalinks work
- No broken images
- Forms send correctly