How to transfer a WordPress blog to a different domain?
-
16-10-2019 - |
Question
Let's say we are currently hosting our WordPress blog on certain domain and would like to move it to a new domain. How to do this with the least hassle and SEO hit?
Are there any plugins that could help with this? (for example providing automatic cross-domain 301 redirection or similar)
Solution
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:
- Changing The Site URL
- Easily Move a WordPress Install from Development to Production?, which recommends several ways to move a blog to a new URL
OTHER TIPS
Look at the previous answer as to SEO and 301 redirect. As for moving wordpress:
- Change the site_url and home_url values in your db. these two values resid in wp-options. just use the phpmyadmin interface to change them to the new wordpress location
- Use wordpress search&replace plugin in order to make sure all your in-bound links and images don't break. (just change http://oldurl.com to http://newurl.com for all content and post meta it's a fairly easy to use plugin)
That's about it. you're good to go.
What I like to do is to export the wordpress database to a .sql file. Then do a find/replace on oldurl.com to newurl.com. Yes, you can just change your site_url and home_url in the options table, but you will have missed A LOT of other places.
Not to mention, some plugins will break if you don't do it this way.
Once you make the change, import your .sql file into the new database on the new server.
The WordPress Codex is an excellent tool. :)