検索エンジンの既存の評価を引継ぐドメイン名変更やURL変更(301リダイレクト)

ドメイン移転やホームページのリニューアル時にどうしてますか?

レンタルサーバーの変更でドメイン名を変更する時や、ホームページのリニューアルでページ構成(URL)が変わる時にどうしてますか?
今までGoogleやYahoo!の検索エンジンで検索されて集客できていた「検索エンジンの評価」を無駄にするのも、もったいないと思います。
301redirect
「検索エンジンの評価」とは、検索エンジンに各ページが索引されて、被リンクやPageRankやドメインの運用年数などをもとにした検索エンジンによるページの評価の事です。
GoogleやYahoo!から、キーワード検索をした時には、検索エンジンの評価と利用者のアクセスしている場所をもとに、検索結果の表示順が変動して表示されています。
何もしないで、新サイトやページを公開するだけでは、この時間経過により累積された評価をドブに捨てる事になりかねません。
もともと、GoogleやYahoo!の検索で、ひっかからないのでしたら、このページで説明しているような事は考えなくて良いですが、
ある程度検索で誘導できていたのでしたら、この記事を参考にして、サイト変更時の作業内容として考慮してください。
※Yahoo!JAPANは、Googleの検索結果を利用していますので、説明上GoogleとYahoo!は同一と考えてください。

301リダイレクトとは

Googleなどから「301リダイレクト」で検索すると、たくさんの情報がヒットします。
「301リダイレクト」は、ドメインを変更(サイトの移設)時や、ページのURLを変更した時に、旧(OLD)のものから、恒久的に新(NEW)へ転送する機能です。
検索エンジン等がクロールする時には、旧(OLD)のものから、恒久的に新(NEW)に変わったことを認識して、今までの評価を引継いでくれます。

リダイレクトには「302リダイレクト」と言う一時的な方法もありますが、これは恒久的ではなく一時的なので、検索エンジンには良い影響はないので使わない方が良いらしいです。
 302リダイレクトの例:htmlのhead部に記述できる、meta refresh形式のリダイレクト

また、「301リダイレクト」時の、Google公表のガイドラインに沿った使い方が良いらしいです。
 必ずURL毎にリダイレクトする。新しいURL毎ではなく、新しいサイトのトップページに、全ての古いURLをリダイレクトしてはいけない。
 古いURLをrobots.txtでブロックしてはいけない。

「301リダイレクト」の指定は、「.htaccess」ファイルへ記述する方法や、PHPプログラムでコーディングする方法があります。

「.htaccess」ファイルへ301リダイレクトの記述をする方法

「.htaccess」を編集できるレンタルサーバーが前提になります。(サーバー移転時には移転元です。移転先には不要です。)
「mod_Rewrite」と言う機能が使えるApacheサーバーと、「mod_Rewrite」が使えないサーバーで記述方法が異なります。
「mod_Rewrite」が使えるかどうかが解らない場合には、下記のような「.htaccess」の定義をして確認してみれば良いと思います。

確認用の>「.htaccess」例:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^testold.html$ http://ドメイン名/testnew.html [R=301,L]
</IfModule>

これをアップロードしたら、http://ドメイン名/testold.html とたたき、http://ドメイン名/testnew.html に転送されれば使えると判断

1)「mod_Rewrite」が使える場合の記述例
1-1)ページ毎に記述する場合

RewriteEngine on
RewriteRule ^old.html$ http://ドメイン.jp/new.html [R=301,L]
以後、RewriteRuleを複数行記載

1-2)サイトのリンク構造等が変わらない場合の、ドメイン変更(移転)時の記述例

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(旧ドメイン\.jp)(:80)? [NC]
RewriteRule ^(.*) http://新ドメイン.jp/$1 [R=301,L]

※ドメイン.jp などは ドメイン.com や ドメイン.netのように書き換えて!

2)「mod_Rewrite」が使えない場合の記述例
1-1)ページ毎に記述する場合

Redirect 301 /old.html http://ドメイン/new.html
以後、Redirect 301を複数行記載

1-2)サイトのリンク構造等が変わらない場合の、ドメイン変更(移転)時の記述例

Redirect 301 / http://ドメイン/

※ドメインは、ドメイン.jp や ドメイン.com や ドメイン.netのように書き換えて!

PHPプログラムで 301リダイレクト をコーディングする方法

<?
header( “HTTP/1.1 301 Moved Permanently” );
header( “Location: http://ドメイン/new.php” );
?>

ブックマーク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存