How to transfer a WordPress blog to a different domain?

I recommend handling the 301 redirect in your web server rather than in WordPress. mod_rewrite or RedirectMatch will be much more efficient than spinning up WordPress to deliver a Location: header.

<VirtualHost *:80>
    ServerName busted-cheap-url.com

    # mod_alias
    RedirectMatch permanent (.*) http://great-new-url.com$1

    # OR mod_rewrite
    RewriteEngine on
    RewriteRule (.*) http://great-new-url.com$1 [R=301]
</VirtualHost>

There are several methods for changing the blog URL; I tend to prefer setting a new WP_HOME and WP_SITEURL in wp-config.php as a quick fix, and running SQL commands in the database as a more permanent solution.

See also:

Leave a Comment