wordpressで作ったサイトのドメイン変更をする方法
wordpressで作ったサイトをサササッとドメイン変更する場合の手順。
慣れれば1時間程で完了。
FTP接続が出来て、phpmyadminがいじれるのは前提で。
1.ドメイン取得
何はともあれまずドメイン。「お名前.com」めちゃ使ってます。
wpならOKらしいので、wordpressnavi.info→wpnavi.infoへ。(.infoは特に安いので。)
2.DNS設定
お名前.com にて新たに取得したドメインに移動先を指定します。サーバー側でも移動先フォルダを指定。(ドメイン設定)そして、つながっているか確認。
この時点で新しいドメインで表示されても、サイト内のリンクが古いままです。
3.データベースのアドレスを書き換え
だいたいのサーバーに入っているはずのphpmyadminを使ってデータベースをいじります。
※データベースを消してしまうとデータの復旧は不可能なのでご注意下さい。自己責任でお願い致します。
いつもお世話になっているさくらインターネット の共有サーバーでしたら「サーバーコントロールパネル」に入って、左メニューの「データベース設定」→「管理ツールにログイン」です。
複数データベースがある場合、他のものと間違わないように注意して選択。
どれかわからない人は、FTPでwp-config.phpをダウンロードして、
define(‘DB_NAME’, ‘○○○○’);
の○部分がデータベース名です。
データベースを正しく選んだら、上の「SQL」タブをクリック!
大きなテキストエリアが現れるはずです。そこに、、、
UPDATE wp_options SET option_value = replace ( option_value ,'http://古いアドレス','http://新しいアドレス') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE (guid, 'http://古いアドレス', 'http://新しいアドレス');
UPDATE wp_options SET option_value= REPLACE (option_value, 'http://古いアドレス', 'http://新しいアドレス');
UPDATE wp_links SET link_image= REPLACE (link_image, 'http://古いアドレス', 'http://新しいアドレス');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://古いアドレス', 'http://新しいアドレス');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://古いアドレス', 'src="http://新しいアドレス');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://古いアドレス', 'http://新しいアドレス') WHERE post_type = 'attachment';
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://古いアドレス','http://新しいアドレス');
※一部半角が全角になっている場合がありますのでご注意下さい。全部半角です。
というコマンドを打って実行!
「wp_」のところはwordpressインストール時に変更している場合は変更したものに。
参考サイト:http://blog.verygoodtown.com/2010/02/wordpress-useful-sql-13/
このコマンドを打つと、wordpressのサイトドメインや投稿のドメインが全部書き換えられます。当サイトはマルチサイト機能を使って複数運用しているので、他に書き換えなければいけないところがありましたが、検索で探して手動で書き換えました。
PR
4.wp-config.phpとテンプレートのドメイン変更
マルチサイトの場合、wp-config.phpの
define(‘DOMAIN_CURRENT_SITE’, ‘wpnavi.info’);
のドメインも変更しましょう!ここ忘れると、サイトは表示されますがログイン出来ないという症状に。。。(これ見つけるのに迷った・・・。)
あと、自作テンプレなどの場合、まれにテンプレートに直接ドメインが記載されている場合はそちらも変更。
5.確認
新しいドメインでサイトを表示させ記事のチェック。ログインして内部チェック!
で問題なければOKです。
6.リダイレクト設定
古いアドレスに来たユーザーを新アドレスに誘導させるリダイレクト設定をします。
まず、古いアドレスの移動先をDNS(ドメイン設定)で適当な場所に変更。そこに「.htaccess」ファイルを作り、
Redirect 301 / http://新しいドメイン/
と記載してアップすればOKです。
古いドメインにアクセスすると、新しいドメインに移るはずです。
以上で完了!!
ドメインを変更して
facebookなどのソーシャルボタンが全て0になってしまいました・・・。
ソーシャルメディアと連携をしているので、それを変えるのをお忘れなく。
あと、最近設置したtwitter cardも再設定しないと。。。
facebookいいねボタンの動作が変だったので、facebookデバッガーでデバッグすると直りました。https://developers.facebook.com/tools/debug
何故か、contact form7の設定内容が消えていました。なぜでしょう・・・。