If you are having trouble migrating a WordPress site from another host yourself or just don't have the time, DreamHost currently offers a service that takes care of that for you: for just $99 and in less than 48 hours, DreamHost will move your WordPress site without any downtime. Please take a look at the Terms of Service (TOS) for further details about the process. If you want DreamHost to move forward with migrating your site, please submit a ticket with the domain name you wish to migrate and also include the following statement:
- I agree to the WordPress migrations TOS and the $99 charge.
DreamHost will pass your ticket it to the capable hands of the Professional Services team to get you started.
This article details the process of moving your WordPress site from your current host to DreamHost.
They also offer a Guided Transfer. Due to complications with the WordPress.com setup, if their official directions don't work properly, DreamHost strongly recommends you purchase the guided transfer.
Before making any changes to your website, DreamHost highly recommends backing up your database. Instructions can be found in the following article:
But 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 one – 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 two – 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 log in 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 three – 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 (Panel > ‘Goodies’ > ‘MySQL Databases’) page.
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 four – Transferring your WordPress installation
Transfer your WordPress files you’ve backed up to your new DreamHost account.
- 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 five – 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 create a 'Mirror' domain. This allows you to see your site at DreamHost before changing your DNS.
You could also view your site using a 'hosts' file.
If the site appears as it should, you are ready to point your DNS to Dreamhost.