Emily Newsom

As Development Director, Emily oversees all of Brightflock's development projects. Prior to co-launching Brightflock in 2008, Emily developed enterprise Java systems for the biotechnology industry. Emily is an avid proponent of open source software (but without the beard!) and has contributed to a number of OSS projects including Firefox, Ubuntu, WordPress and Drupal. Emily holds an honors BSc in Computer Science from the University of Victoria.

My personal site can be found here

Emily Newsom's blog »

Relocating WordPress from one URL to another URL is a common task for us. When building a new site or making changes to an existing site we will often create a sandbox environment to develop and test our changes before full deployment. Moving from development to deployment requires that the URLs in the WordPress database be changed. At first glance, the WordPress documentation (http://codex.wordpress.org/Changing_The_Site_URL) suggests that only two database entries need to be updated. However, if any content has embedded absolute URLs (for example, linking to other internal pages) as you would normally see using the WYSIWYG link insertion tool, then these values do not get updated. There are even more problems if themes or plugins are used that keep their own serialized metadata--quite often this serialized metadata contains absolute URLs as well. What a mess.

There are a few plugins available that claim to update URLS, most notably the Velvet Blues release. However, we were never able to get the plugins to work properly. When we looked at the Velvet Blues code it was evident that it really didn't attempt to handle URLs embedded in serialized metadata.

So what to do?

Well after we wasted our time a few times trying other solutions, we ended up writing Complete Update URLs. We've used this plugin on a number of projects with complex themes, plugins, and UTF8 and it has always done its job. The business logic of the plugin is also very simple--load the entire database and deserialize any serialized data, perform a search and replace on that deserialized data, re-serialize, re-insert, and repeat.

So if you're looking to relocate your WordPress install and you want a solution that will work the first time, give Complete Update URLs a try:

http://wordpress.org/extend/plugins/complete-update-urls/

Also check the FAQs for information on how to use the plugin:

http://brightflock.com/complete-update-urls-faqs