If 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:
1 2 3 4 5 6 7 8 |
SET @oldsite='http://www.olddomain.com'; SET @newsite='http://www.newdomain.com'; UPDATE wp_options SET option_value = REPLACE(option_value, @oldsite, @newsite) WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = REPLACE (post_content, @oldsite, @newsite); UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, @oldsite, @newsite); UPDATE wp_comments SET comment_content = REPLACE (comment_content, @oldsite, @newsite); UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, @oldsite, @newsite); UPDATE wp_posts SET guid = REPLACE (guid, @oldsite, @newsite) WHERE post_type = 'attachment'; |
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
sorry, but where do i have to put these commands?
thanks for your help
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?
If you are interested in this post, you might also want to take a look at the ezMigrate plugin for WordPress:
http://techblog.triptic.nl/ezmigrate-plugin-for-wordpress/
Just wanted to say that I use this code so much and I just keep coming back. THANK YOU so much!
Any chance you could update the post and put all lines in the same code block to make copying a bit easier?