Migrating a Wordpress site from BlueHost to WebHost4Life
This week, I migrated my blog which was hosted by BlueHost to WebHost4Life. I highly recommend BlueHost if you’re looking for a LAMP-based (Linux+Apache+MySQL+PHP) hosting package. Their pricing is fair, the quality of service is excellent and the technical support is unbelievable. The reason I made the switch was that I’m working more with ASP.NET MVC and I wanted a provider which supported .NET 3.5 so that I can publish some of my projects in the public domain. After reading some reviews online, I opted for WebHost4Life.
The transition of my blog, which is powered by Wordpress, didn’t go as smoothly as I hoped. While at BlueHost, the blog was being hosted in a LAMP environment. At WebHost4Life, the blog was going to be hosted in a Windows/IIS/ASP.NET environment. I thought it was just a matter of transferring some files from servers and importing a backed-up database script. Nope.
Here are the steps I followed to successfully transfer my Wordpress blog from a LAMP environment to a Windows/IIS/ASP.NET environment. Or more specifically, how to transfer your Wordpress blog from BlueHost to WebHost4Life:
NOTE: Make sure you have properly configured DNS settings for the domain name that points to your blog or site.
On the BlueHost (or LAMP environment) side :
- Upgrade your current Wordpress to the latest version available.
- Make sure your plugins work with the latest upgrade. If they don’t, either upgrade or delete them.
- Deactivate all your plugins to avoid any problems when migrating your current database.
- Backup your current Wordpress database. This should generate a SQL file which will be used to restore the database in another instance of MySQL.
- Make a local copy of your Wordpress/blog directory for backup purposes. You’d normally do this with an FTP client. If you don’t have any FTP client, I highly recommend you use FileZilla.
On the WebHost4Life (or Windows/IIS/ASP.NET environment) side :
- Install whatever version of Wordpress available through their automated script installer. You want to do this because the automated installer will create the database for you, configure the correct values for the database server name and other settings which you don’t have to enter manually. If you aren’t lucky enough to have an automated script installer provided by your hosting company, simply install the latest version of Wordpress directly in the server (don’t forget to create the database for your Wordpress blog).
- Import/restore the backed up database script that was generated in step 4 of the previous section.
- Copy all the content of the Wordpress directory that you backed up in step 5 of the previous section in your server. WARNING : Make sure not to overwrite the wp-config.php file in the root of your Wordpress installation directory.
- Fire a browser and go in the admin page (\wp-admin) and log in to make sure everything is fine.
- Activate any plugins that you have deactivated in the previous section.
- If you’re using “pretty” permalinks for linking to your posts, they might no longer work because IIS 6.0 does not support mod_rewrite (read this to know more about this and why it doesn’t work anymore). In short, “pretty” permalinks result in HTTP 404 errors which is actually a false negative since it should work. The solution to make this work is to create a PHP file which provides a URL mod-rewrite workaround for IIS 6.0 and Wordpress (works with v2.8+). Read the following article to know how to do this (trust me, it’s very simple). I named that file ‘404-handler.php’ as was suggested in that article. Upload the file somewhere in your Wordpress directory (I just put it in the root installation directory).
- Now you should configure the custom error pages handled by IIS so that when a request generates an HTTP 404 error, IIS will redirect to that ‘404-handler.php’ created in the previous page which will take care of the magic. So to this:
- Log in your WebHost4Life control panel.
- Click on the “Site Admin” tab.
- Under the “IIS Manager” section, click on “Set Custom Error”.
- Click on the “Go” link associated with the domain name for your blog.
- For the error associated with 404, click on the “Edit” link.
- Specify the location of the ‘404-handler.php’ file (relative path).
- That’s it! Your “pretty” permalinks should now work!
- Now you must set the proper security permissions to your Wordpress directory structure so that you can edit files from the dashboard. To do this, follow these steps:
- Log in your WebHost4Life control panel.
- Click on the “Security” tab.
- Under the “Site Access” section, click on “File Permission”.
- Locate your Wordpress folder then click on the “Edit” link associated with it.
- In the drop down list, select the NETWORK user and give it the following rights: READ, WRITE, EXECUTE and DELETE.
- Make sure to tick the checkbox next to “Propagate changes to sub directories and files”.
- Click on “Make Changes” (ONCE!!!) and be patient.
- You will also need to activate/configure the “Cimy Swift SMTP” plugin which comes with the installation to send email notifications from within your Wordpress site. It’s really not that hard. Read this article to know how to configure the plugin.
- That’s it! You’ve made it! See if everything works correctly…or post your question if it didn’t. I’ll try my best to help you out.
Best of luck!
Similar posts you might be interested in reading:
- Part II: Setting Up Our Build Server With TeamCity
- Mapping a domain name to an IP address in the HOSTS file to bypass a DNS resolver.
- Copy files from build events within Visual Studio without Windows UAC problems
- Part I: Beginning the CI Journey with Subversion
- How to retrieve your ISP credentials from a DLink DIR-615 router (or any other router for that matter)
- Installing NVIDIA drivers on Windows 7
- Easy Blogging With Windows Live Writer






Chamber Magic:
Sometimes the ISS is a pain in…. thanks for the info!
October 16, 2009, 4:39 pmWork from Home MLM:
That’s quite a long process but looks like I’ll have to go through with it. Many thanks for the guide!
October 22, 2009, 8:25 amFred Hammons:
Found a coupon code for Name Cheap at http://www.namecheappromo.com
October 28, 2009, 11:28 pmRainbow Skill:
Thanks for the blog. Informative and a fine blog. Thanks for the information.
January 17, 2010, 5:40 amsite fr:
merci pour ces info, et tous cela poura m’aider .
January 24, 2010, 10:35 amFree blog directory:
Nice article, i think you have a good ideas for that…
thank you cause share this article…
February 1, 2010, 11:33 amJill Christina Bridge:
There is distinctly a lot to know about it. I think above we can find excellent propositions. What do you call a swimming pool full of blondes? Frosted Flakes.
February 26, 2010, 5:53 amsteve:
You would not believe how long ive been googling for something like this. Went through 5 pages of Google results couldnt find diddly squat. First page of bing. There was this…. Gotta start using that more often
February 26, 2010, 4:42 pm