Moving WordPress consists of two parts: files and the database. Both need to be transferred and linked in the wp-config.php file. Follow this order so that the original website keeps working until the new one is ready.
Procedure
- Back up the original website. Download all files via FTP and export the database. You can export in phpMyAdmin, see Importing and exporting a database in phpMyAdmin.
- Create a new empty database on the new hosting and write down the details (name, user, password).
- Import the database into the new database.
- Upload the files to the new hosting via FTP or SFTP.
- Edit wp-config.php: enter the new database details (
DB_NAME,DB_USER,DB_PASSWORD, and possiblyDB_HOST). - Test the website before switching the domain: Viewing your website before the DNS change.
- Switch the DNS to the new hosting: Pointing a domain.
When the website address changes
If the website is moving to a different domain (or from http to https), the addresses stored in the database need to be changed. WordPress also stores them in serialized data, so a plain text replacement in an SQL export will corrupt the data. Use a database search-and-replace plugin that handles serialization.
After the move, check
- Do the home page and subpages work? If subpages show a 404 error, just click Save again in Settings > Permalinks.
- Are images displayed and does logging in to the admin area work?
- Are forms being sent and are emails arriving from them? See Email sending limits.
- Does the PHP version suit your plugins and theme? See Choosing a PHP version.
- Is HTTPS set up?
If the domain is moving too, see Domain transfer. If you do not feel like doing the move yourself, write to us.