Moving a WordPress Blog to Windows Azure – Part 2: Transferring Your Content
In Part 1, I covered how to create a new WordPress blog on Windows Azure. This article will focus on how to move our WordPress content from our old blog site to the new site.
There are numerous ways to backup or export your WordPress blog and restore or import into a new WordPress instance. These include various plug-ins, scripts and wizardy scattered all over the Internet. WordPress also provides guidance on Moving your WordPress site as well. I took the various directives and tooled a method that worked for me. YMMV (Your mileage may vary).
Transferring Themes and Plug-ins
Most of the content on my blog is stored in the WordPress database. This makes it as simple as exporting my current database and importing the data into my new database. However, I have additional content on my site that is not stored within the WordPress blog such as images, media files, presentation/demo files and such that are not stored in the database. Not to mention my WordPress theme files, plug-ins, and uploaded content I currently have activated within my site.
Thankfully my current hosting provider as well as Windows Azure Websites provides me a method to get at and modify my server files. The old try and true FTP.
Although Windows Azure Websites provides a method to publish content through various means (Visual Studio/WebMatrix publishing, Git, etc.), I chose to go with the FTP route. It’s the most straightforward method for my purposes, and I can easily transfer files from one FTP site to another using an FTP client tool such as FileZilla.
To gain access to the FTP HOST for your Azure Website, you need to reset your deployment credentials. To do so, click on the ‘Reset your deployment credentials’ link on your websites dashboard page.
Once you’ve defined your deployment credentials, you can fire up your favorite FTP client and transfer the necessary files from your old site to your new site.
For your theme files, plug-ins and any additional content uploads, you’ll want to transfer the files in each of the following directories to their respective directories on your Azure hosted site.
As I stated earlier, I have some additional content directories and files, not related to WordPress, that I needed to copy over as well. Be sure to move over any additional folders and files you have outside of the WordPress files.
Transferring Your WordPress Content
All of your WordPress content and a majority of your WordPress configuration settings are stored in a database. This makes it very convenient in our transition from our old hosting provider to Windows Azure. Essentially we just need to Export our database from our old site and Import into our new site. Once again, there are several ways to backup and restore your WordPress database. My method of choice was to use the phpMyAdmin Portable plug-in. phpMyAdmin is an administration tool for MySQL databases that provides easy export/import functionality. phpMyAdmin Portable is a WordPress plug-in that drops the phpMyAdmin tool right in your blog! You’ll need to install this plug-in on both your old website and your new Azure-hosted website.
To install the plug-in, log in to your WordPress dashboard (ie. http://yourwebsite.com/wp-admin/index.php). Once in the WordPress Dashboard, click on the Plugins tab and select ‘Add New’. In the search box, type ‘Portable phpMyAdmin’ and click ‘Search’. Click ‘Install Now’ under the entry for Portable phpMyAdmin and follow the instructions to install the plug-in.
Once the plug-in is installed, you need to Activate the plug-in by clicking on ‘Activate Plugin’:
Once activated, Portable PMA will be listed in your WordPress Dashboard menu bar:
Export your existing content
Launch Portable PMA and follow these steps to backup your database from the WordPress support site: Backing Up Your Database.
If you followed the steps correctly, you should now have a local .ZIP file of your exported database contents. Now it’s time to import that content into our new site hosted on Windows Azure!
Import your content to the new WordPress site
Log in to the WordPress Dashboard on your new Windows Azure hosted site and follow the preceding instructions to install the Portable phpMyAdmin plug-in on your new site.
Once the plug-in is installed and activated, run the phpMyAdmin tool by selecting ‘Portable PMA’ from the Dashboard’s menu bar.
In phpMyAdmin, select your Database and click on the Import tab.
In my case, my ZIP file was over 7MB in size. As you can see, the max upload size is 2MB. This limit is a system-level default setting (upload_max_filesize) defined in our PHP instance. Thankfully, this limit can be adjusted with a simple configuration file. Those instructions are outlined in the article, How to Configure PHP in Windows Azure Web Sites.
Upload the ZIP file created by the backup process by selecting the ‘Browse’ button and selecting the ZIP file. Once selected, click ‘Go’. It may not look like anything is happening but just give it a minute or two. DON’T CLICK ON ANYTHING until a status message appears.
The steps were roughly:
- copy theme, plugins, and uploads directory from old site to new site
- export old wordpress content database
- import wordpress database content into new wordpress site
Open up a browser and navigate to your new WordPress site (ie. http://yoursite.azurewebsites.net) to verify the content, themes and plug-ins are in working order.
In the next article, I will show you how to set up your custom domain which at this point most of you will be done! We’ll finish up the series with a 4th installment on some custom steps I had to go through to clean some items up that I have been wanting to do for some time, including moving my blog from a subdomain (http://davebost.com/blog) to the root (http://davebost.com).