Migrate Wordpress to a new Server or Directory
Posted: May 27, 2009 at 10:02 am | Tags: PHP, WordpressIf you decide to change the URL or link location of your WordPress Blog due to a new domain or moving to a sub-directory, here are some simple steps that should be done to ensure proper migration without breaking links.
To update WordPress options with the new blog location, use the following SQL command:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.olddomain.com', 'http://www.newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.olddomain.com', 'http://www.newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.olddomain.com', 'http://www.newdomain.com');
The Discussion
see what everyone is saying
This worked perfectly! Thank you so much!
Really great !
These three command lines is all you need to have your database running again.
In all the WP migration advices I found, no ones talks about the fact that, in posts everywhere URLs have to be changed ! Plus don’t try to change it by hand, it will take forever.
I also tried to dump the tables, open the scripts and find and replace “old url” by “new url”, but somehow there was always something messing up.
So thanks for these simple 3 sql commands that go a long way…
Lydia
@Lydia, Your welcome! I’m happy it helped you!
sorry, but where do i have to put these commands?
thanks for your help
@Andy, in your favorite Database Administration tool such as phpMyAdmin.
I tried migrating my blog to a new server by copying all directories and the database over. I got the blog running but when I click on an article it give a 404 error. The domain is exactly the same. I just flipped DNS. Are there any database queries that need to be run to make something happen that I’m unaware of?
Hey Trevor,
Nope this works for me.
Make sure that any other plugins you have installed don’t have a reference to the old URL. Search the whole database.
Clear your Cache