If you are going to spend a good deal of time being a WordPress web developer, you will soon see that you will need to become very well acquainted with backing up the sites you develop. Usually sites are developed elsewhere and they will need to be moved when the shiny, new product is ready. The best tool I know to do this is iThemes’ BackupBuddy. It truly is the best way to backup and move a WordPress site. This is a premium plugin, but well worth the money, in my opinion. What follows describes my journey using BackupBuddy. I tried to be as careful as possible in my description and you may experience things a little differently depending on your situation.
Setting Things Up for Moving Day
Typically the location of the new site is a brand new space on the web, but sometimes you will be overwriting a past website. If you are using BackupBuddy, it installs WordPress as it does the migration so there must not be any trace of WordPress on the new site. When a new domain is created these are the only files that should be visible in the new site:
If there are any other files present, delete them.
Making the Backup
Login to the admin dashboard > plugins and install BackupBuddy. When configuring the settings make sure to set the password by navigating to BackupBuddy > Settings. This password will be essential to running the ImportBuddy or RepairBuddy scripts. If you don’t have this password, YOU CANNOT RESTORE THE SITE! I can’t emphasize the importance of recording this password.
Navigate to BackupBuddy > Backup. Here you choose a backup profile to run. You will need a complete backup to migrate a site. Click on the words Complete Backup and then begin the full backup. When it’s done you will want to download it to a location on your computer. There are other places you can send the backup, but for the purposes of this discussion, I place it on my computer.
Next, go to Restore/Migrate to download the importbuddy.php script. Press Download the Importbuddy.php file and then you will be prompted to enter a password. WRITE IT DOWN!
Sometimes there are errors in the backup and it doesn’t go to completion. If there is a problem, you must sort it out or the backup will be useless. The best place to look to determine the source of the problem is the error log usually found here:
Recently I encountered an error 3382. This is actually a pretty common problem but reading the log is what gave me a clue to the problem and solution. Here’s a sample of what I saw when I looked in the file:
The solution, in this case, was to exclude the conflicting files from the backup since they were not essential to the new site
Setting up the New Home
Log in to cPanel at the new location and create a new database. Usually I use the MySQL Wizard. Again, it’s very important to write down the User, Username and Password for the database. The site cannot be moved without this information. Here are the steps:
- Name the database
- Name the user
- Provide a secure password (12 digits mixed alphanumeric including symbols)
- Give the user all privileges
- Write down everything
Login with FTP (I generally use FileZilla) and navigate to the root of the new directory. Many times it is the public_html folder. Upload the BackupBuddy zipped file and also importbuddy.php. The script uploads quickly, but the backup file can take some time, especially if it’s large.
When both files are uploaded via FTP, then follow the next steps:
- navigate to location and run import buddy script (http://www.yourdomain.com/importbuddy.php)
- authenticate with password
- BackupBuddy Step 1 Select correct backup
- Step 2 backup file will be extracted by BackupBuddy
- Step 3 provide MySQL Server (usually localhost); database information – name, user, password, prefix (many times this is wp_ but for an extra step towards security should be set to something else when creating the database). Test the database settings and if all say PASS, then
- Step 4 Database Import
- Step 5 Database Migration
- Test URL and if you can see the site at the new location, then perform next step:
- Step 6 Final Cleanup
The final thing to do is login with the admin username and password of the old site (it was migrated to the new site) and go into Settings > Permalinks > Save. Your site is now migrated! BackupBuddy is my new best friend in the WordPress world.