【覚書】 WordPress 301 リダイレクト URL変更 htaccess 下層ページ そのまま

サーバ・プログラム

このブログのURLを

http://www.takahashi-takuro.com

から

https://takuro.info/

に変更しました。なんか長ったらしいので。

で、ブログに限らずURL(ドメイン)を変更したとき、SEO的にこれまでgoogle先生からの評価がリセットされちゃいます。

すなわち、検索結果で引っかかって来なくなってしまい、サイトのアクセス数が現象してしまうという悲しい自体が起きます(T_T)

そんな時、これまでのgoogle先生の評価を新しいURLでも引き継ぐために「301リダイレクト」というので、やってあげます。

単純にリダイレクトというのは、例えば古いアドレス

http://www.takahashi-takuro.comをクリックして見て下さい。

で、アドレスバーを見ると、 https://takuro.info/ って表示されて無いですか?

=========================================

これは http://www.takahashi-takuro.com にアクセスすると https://takuro.info/ に転送されるように設定されているからです。

人間に対してはそれで良いのですが、google先生(ロボット)に対しても、「新しいURLに変わっただけなので、今までの評価も引き継いでね」というメッセージを送る必要があります。

で、サイト管理者がこの転送(リダイレクト)の仕方で301という方法でやれば「新しいURLに変わっただけなので、今までの評価も引き継いでね」という意志を示せるわけです。

他には302という方法の転送であれば、「これは一時的なものなので、しばらくしたら元に戻すよ」という意思表示になる!といった具合に使い分けます。

=========================================

で、その記述方法の覚書メモです。

細かい方法はこのサイトにすごくよくまとまっているので、参考にしてみてね。

サイトリニューアル時の301リダイレクト、.htaccess記述方法いろいろ

今回は純粋にドメインが変わっただけって言う時の方法です。

なので下層ページはそのままです。

http://www.takahashi-takuro.com/hoge

は、そのまま

http://takuro.info//hoge

です。太字のドメイン部分だけが変更になるだけです。

結構301にかぎらずhtaccessの記述方法などまとめたページは多いのですが、ただ単純にドメイン変えただけだよ。なんてときのシンプルな方法とか探し難くかったりしたので。。。

基本のキだけど、一応まとめたよ。と。

更にこのブログはWordPressという人気cmsを使っているので、このWordPressの場合の注意事項も添えています。

=========================================

まず、301リダイレクトをするためには「.htaccess」というファイルをいじります。

WordPressであれば、インストールして、パーマリンク設定時に自動的に生成されます。

余談ですが、パーマリンクとは、URLを動的に好きな記述にしちゃうというものです。

例えば、

◆日時ベース
https://takuro.info/2012/10/25

◆記事タイトル
https://takuro.info/omoshiroiyatsu/

◆記事番号
https://takuro.info/?p=123

とかから自分の好きなものに出来たりします。

=========================================

で、301リダイレクトに話戻しますと、WordPressで自動生成された「.htaccess」はWordPressをインストールされたルートディレクトリにあります。

そいつをftpとかでダウンロードして、中身を追記して、再度アップというのが主な流れです。

で、まずは自動生成された「.htaccess」の中身を見てみます。

[php]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

[/php]

※なんかで見たけど、「.htaccess」は最後に改行がいるので忘れずに!

で、こいつに

http://www.takahashi-takuro.com

から

https://takuro.info/

に変わったよ。というのを追記してあげます。

と言うより意味的には、 http://www.takahashi-takuro.com でアクセスしてきた場合 https://takuro.info/ に転送してやる と考えたほうがわかりやすいかもしれません。

で、記述はこんな感じです。

[php]

# 追記部分 始まり
RewriteCond %{HTTP_HOST} ^(www\.takahashi-takuro\.com)(:80)? [NC]
RewriteRule ^(.*) https://takuro.info/$1 [R=301,L]
# 追記部分 終わり

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

[/php]

http://www.takahashi-takuro.com や https://takuro.info/ は、自分の該当する奴にもちろんなおしてね。

で、1点注意なのが、

# BEGIN WordPress から始まる部分でmod_rewrite.cってモジュール使ってるんですが、これよりも”前”に書いてやらないとダメみたいです。

そこは注意ね。

って。こんだけの話でした。

【追記】2013.11.01

本文だとwwwなしの時、リダイレクトされないので、

[php]

# 追記部分 始まり
RewriteCond %{HTTP_HOST} ^(www\.takahashi-takuro\.com)(:80)? [NC]
RewriteRule ^(.*) https://takuro.info/$1 [R=301,L]
# 追記部分 終わり

# さらに追記部分 始まり
RewriteCond %{HTTP_HOST} ^(takahashi-takuro\.com)(:80)? [NC]
RewriteRule ^(.*) https://takuro.info/$1 [R=301,L]
# さらに追記部分 終わり

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

[/php]

Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集
Ken Coar Rich Bowen
オライリージャパン
売り上げランキング: 20039

コメント

  1. R より:

    この記事に出会えたおかげでサーバー移行作業が終わってくれました。
    掲載ありがとうございます。

  2. […] 【覚書】 WordPress 301 リダイレクト URL変更 htaccess 下層ページ そのまま | 高橋拓郎が書いているブログ […]

  3. […] […]

  4. […] […]

  5. kazu より:

    さんざんググった挙げ句

    「で、1点注意なのが、

    # BEGIN WordPress から始まる部分でmod_rewrite.cってモジュール使ってるんですが、これよりも”前”に書いてやらないとダメみたいです。」
    ↑が、解決の決め手でした。どうもありがとうございました!

タイトルとURLをコピーしました