Knowledge base article
Manual WordPress migrations in a nutshell
View other technical support articles
Related articles
Migrate remote staging website to local hosting server
Migrate remote transactional website to local server
Other technical support articles
A beginners guide to email spoofing
Accessing your site before changing DNS
An introduction to email authentication
Basic WordPress security and site management
Check MySQL database table disk usage
Configure object cache with memcached and Litespeed Cache plugin
Configure spam filtering in cPanel
Connect via SFTP using SSH key authentication with FileZilla
Connecting to Serversaurus shared hosting via SFTP
Create a clone of your website
Create a SSH key pair and configure your SSH key in cPanel
Create a WordPress administrator via MySQL CLI
Create a WordPress administrator via phpMyAdmin
Create a WordPress cron task in cPanel
Disable automatic WordPress updates via wp-config.php
Download or restore individual files, directories or database backups with JetBackup
Enabling PHP extensions, Changing PHP Version and Setting PHP Options
Export or Import a MySQL database via CLI
Force HTTPS via .htaccess (cPanel)
Getting Started with Anycast DNS
Getting Started with the Content Delivery Network (CDN)
Getting Started with Virtual Machines
Go live with your WordPress staging website
Help! I need a backup of my cPanel-hosted website
Hide .html extension using .htaccess
How did my WordPress website get hacked? What do I do?
How to ensure website generated emails are delivered successfully
How to issue a Let’s Encrypt certificate
How to remove Site Software management
I can receive email but can’t send!
Introduction to LiteSpeed Cache
Manage DNS zones with the cPanel Zone Editor
Migrate remote staging website to local hosting server
Migrate remote transactional website to local server
Migrating email from one POP/IMAP email account to another
My site and/or email service is down
Network Firewall (I can’t access my services on a non-standard port)
Optimising Wordfence firewall and security settings
Pointing your domain to Serversaurus
Pointing your domain to Squarespace with cPanel
Prevent website generated spam with CAPTCHA
Push updates from a staging to production website
Reconfigure production website to subdomain
Recover your hacked WordPress website
Remove Wordfence firewall block via MySQL CLI
Secure your WordPress installation
Setting up email on your iPhone
Subdomains for test sites & more
Unable to renew certificate: The Let’s Encrypt HTTP challenge failed
Understanding CloudLinux resource limits
Update a WordPress website to use a new domain name
Update your WordPress username via phpMyAdmin
Using Serversaurus’ nameservers but hosting your email elsewhere
Using the Serversaurus Cloud CDN with your WordPress website
This guide will walk through manually migrating a WordPress site to Serversaurus cPanel hosting without any downtime
To complete this guide, please ensure you have:
- SSH Access - Serversaurus relies on key based authentication to login via SSH/SFTP, if you haven't already, generate your SSH key pair and configure it in cPanel before proceeding with the next steps
- Your cPanel login details - These were included in the original Welcome to Serversaurus or IMPORTANT: Hosting Documentation email which you should find in your inbox, otherwise follow these instructions on how to update your cPanel password.
- A backup of your WordPress website - A backup which includes the website files and database, ideally the backup will be compressed as a .tar.gz file
Let's begin!
- Login to cPanel and navigate to the MySQL Database Wizard function, follow the prompts to create your database, database user and assign all privileges to the database user.
Store the database name, database user and password for later reference. - Upload the website and database backup to your hosting server using your preferred SFTP client, uploading the backup to the public_html directory.Open Terminal and SSH to your hosting server (update the following command with your server login details):
ssh username@servername.serversaurus.com.au - Change into your public_html directory:
cd public_html
- Extract the website file backup using the follow command, remember to update the backup with your file details:
gunzip -c yourbackupname.tar.gz | tar xopf -
- Move all files from the backup directory to the present working directory. The following command moves all files and directories recursively (including hidden files):
mv yourbackupname/* mv yourbackupname/.*
- Edit the wp-config.php file to connect the WordPress application to the MySQL database:
vi wp-config.php
Locate the section titled MySQL settings - You can get this info from your web host and add your stored database details into the corresponding fields. For example:
/** The name of the database for WordPress */ define( 'DB_NAME', 'database_test' ); /** MySQL database username */ define( 'DB_USER', 'database_test' ); /** MySQL database password */ define( 'DB_PASSWORD', 'Fc*St@lBpPu0V@*R1' );
- Now upload your database file by logging into MySQL and importing the database (previous uploaded via SFTP). Firstly check your present working directory using:
pwd
Save the output and append your database filename to the end, for example:
/home2/username/public_html/database.sql
- Login to MySQL, update the following command with your database username:
mysql -u database_test -p
Enter your database user password when prompted.
Change into the database (update the command with your database name):use database_test;
- Import your database backup (updating the below command with your previous saved path to your SQL file:
source /home2/username/public_html/database.sql;
Once the process is complete, quit out of MySQL:
quit
- Check the website before updating your DNS, by adding a host file entry to your computer.
- Delegate the DNS to the server, this steps varies between providers so feel welcome to get in touch with our Support Team for specific instruction.
- Install a complimentary SSL certificate so your website can be served over a secure connection.
Well done! The migration is complete!
Troubleshooting recommendations
If you have any warnings/errors, please check for the below common post migration issues
- Login to WordPress and clear all website cache.
- Check DNS is resolving to correct server IP address.
- Login to phpMyAdmin, check wp_options table and confirm the siteurl and home are pointing to the correct domain name- update if required.
- Check all PHP dependencies are enabled.
Last updated November 30, 2023