You can now migrate your own WordPress site to DreamHost for free, using the DreamHost Automated Migration Plugin. The plugin can be used on any DreamHost account with an active hosting plan. See the following article for more details:
If you are having trouble migrating your website from another host, or just don't have the time, DreamHost currently offers a service that takes care of that for you. You can find more information in the DreamHost Website migration services article.
This article describes the process of moving your WordPress site from your current host to DreamHost.
If you're moving your WordPress site from another DreamHost account, some additional steps are required to ensure that additional items (such as email) are moved correctly. See the following article for further details:
If you're moving from WordPress.com, then use the following WordPress instructions for further details:
Backing up your data
Before making any changes to your website, DreamHost highly recommends backing up your database. Instructions can be found in the following article:
However, you may need to contact your current host for instructions on how to export in their system.
Migrating all of your files manually
In order to manually migrate your data, you'll need to:
- Backup your database as a .sql file from your previous host.
- Backup your web files via FTP from your previous host.
- Create a MySQL hostname and database at DreamHost for the new installation.
- Upload these files via FTP/SFTP/SSH to your DreamHost server.
- Import your database to your DreamHost database server.
- Update your wp-config.php file to point to your DreamHost database.
Step 1 — Backing up your database
Before you do anything else, back up your MySQL database at your current host. The method of creating a backup differs from host to host. The simplest method is to use phpMyAdmin, a web-based SQL manager available in many hosts' panels.
For further information, check with your current host on how to backup your database as a .sql file.
Step 2 — Backing up your web files via FTP
At your current host, back up all your web files via FTP/SFTP/SHELL. Visit the FTP article which explains how to do this with DreamHost:
You may need to contact your current host to confirm what settings to use to connect to their server.
- Archive and compress your old WordPress installation at the current host before you proceed for quicker results. Contact your current host for instructions on how to do this.
- You can then upload the single file to your DreamHost server and login via SSH to decompress it there. This is not necessary, but it may help to speed up the process if you have a large amount of data to transfer.
Step 3 — Creating a hostname and database in your DreamHost panel
Once you have the backup files saved to your computer, make a new MySQL hostname and a new, empty database for your WordPress installation in your DreamHost panel. You can create these on the MySQL Databases page. View the following article for details:
If you have not pointed your DNS to DreamHost yet, you must create a temporary hostname to connect to your database. View the following article for details:
If you create the hostname and the database's name, user, and password information the same as your old hostname and database, you can avoid editing your wp_config.php file in step 5 below.
Step 4 — Transferring your WordPress installation
Transfer the WordPress files you’ve backed up to your new DreamHost account. These files go in the site's website directory, typically
/home/exampleuser/example.com or a similar path. View the following article for more information on where to upload your site files:
- Import your web files using the following article:
- Import your database using the Migrate MySQL article:
Assuming you created the database in your DreamHost panel with the same hostname, username, password, and database name as was set up at your previous host, your site may already appear online. If not, proceed to step#5 below
Step 5 — Editing wp-config.php
It's likely that the hostname, database, username, and password that you created in your DreamHost panel differs from the one on your previous host. If that's the case you'll need to update your wp-config.php file to make sure that the information matches the login credentials for your new database in the DreamHost panel.
Open the wp-config.php file and you’ll see the following contents:
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_';
Make sure that the table_prefix setting in wp-config.php matches your backup table prefix, otherwise WordPress will prompt you to install from scratch.
To confirm the table prefix, use phpMyAdmin to log into the database at DreamHost you just imported in Step#4 above.
- Once logged in, click your database name on the left. You'll see the tables appear underneath.
- The first part of the table is the prefix. In the above example, the prefix is wp_q2e97u_.
- Update your wp-config.php file's prefix field to match this table prefix.
Viewing your site and updating DNS
If your DNS is not pointed to DreamHost, view the following article to view your site using a hosts file.
If the site appears as it should, you are ready to point your DNS to Dreamhost.