This article describes how to migrate a WordPress installation between two domains hosted at DreamHost. The example domains used in these instructions are:
Step 1 – Back up your data
You should always backup your data before making any change to your site. View the following article for instructions on how to backup your web site files, database, and any email you wish to keep:
Step 2 – Add hosting for the new site
Add the new domain (newsite.example.com) to your panel. Make sure to set it as Fully Hosted:
Step 3 – Create a new database
Navigate to the (Panel > 'Advanced' > 'MySQL Databases') page and create a new MySQL hostname and empty database.
Step 4 – Transfer your WordPress installation
Transfer your WordPress files you’ve backed up in step one to your new domain. If you had email addresses on the old site (oldsite.example.com), make sure to create the same addresses on your new domain. You can then transfer those emails.
- Import your web files using the following article:
- Import your database using the Migrate MySQL article:
- Transfer email from your old domain:
Step 5 – Edit the new wp-config.php file
define('DB_NAME', ‘exampledatabase’); define('DB_USER', 'exampledbuser'); define('DB_PASSWORD', ‘database password here’); define('DB_HOST', 'mysql.example.com'); define('DB_CHARSET', 'utf8'); define('DB_COLLATE', ''); $table_prefix = 'wp_2hdy121d_';
Update the following:
- Database name
- Database user
- Database user password
- Replace the existing WordPress $table_prefix value with the imported $table_prefix value.
Step 6 – Update the Home and Site url
View the following article for instructions on how to update the 'Home' and 'Site' URL within WordPress:
Step 7 – Update all other URLs in the database
After the 'Home' and 'Site' URL have been updated, you must update all remaining URLs in the database. View the following article for several options on how to accomplish this:
At this point, your website should load normally on the new domain name.
Once the above steps are complete, the new site looks exactly the same as as it once appeared on your old domain name.