Migrate Wordpress to a new Server or Directory

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:

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');

Tags: ,

8 Responses to “Migrate Wordpress to a new Server or Directory”

  1. Joe Brunno

    This worked perfectly! Thank you so much!

  2. Lydia

    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

  3. Richard

    @Lydia, Your welcome! I’m happy it helped you!

  4. Andy

    sorry, but where do i have to put these commands?

    thanks for your help

  5. Richard

    @Andy, in your favorite Database Administration tool such as phpMyAdmin.

  6. Trevor

    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?

  7. Richard

    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

  8. Onno marsman

    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/

Leave a Reply