301リダイレクトと302リダイレクト、meta refreshの設定方法

リダイレクトとは、訪問者を自動的に特定のURLへ転送する設定のことです。

リダイレクトする目的はユーザビリティの観点から、訪問者を新しいURLへ自動的に誘導することが主ですが、旧URLが受けたリンク価値を新URLに引き継がせるというSEO的な目的もあります。

ドメインを変更した場合には、リダイレクトする事により旧URLのリンクジュースを、新URLに受け渡すことが出来ます。100%受け渡せるわけではなく、おおよそ80%ほどと言われていますが、ドメインを移転した場合にはリダイレクトが必須と憶えておきましょう。

リダイレクトにはサーバ側で行う301リダイレクト、302リダイレクトと、サイト側で行うmeta refreshがあります。

あわせて以下のページもご覧頂ければ幸いです。

301リダイレクト

301リダイレクトは.htaccessやJavascript、PHPでやる方法がありますが、ここでは一般的な.htaccessを使う方法でご説明します。

.htaccessの記述方法

.htaccessファイルの作り方は、メモ帳などのテキストエディタで.htaccess.txtというファイルを作り以下の記述を行います。いずれの場合も、転送先の指定は絶対URLで行うのが特徴です。なお、最後の行には改行を入れてください。

◆サイト全体を新ドメインのトップへ転送
RedirectMatch 301 .* http://新ドメイン/

◆URLを指定せずに転送
Redirect 301 / http://新ドメイン/
サブページのURLが変わっていなければこれで全ページ上手く転送されるはずです。

◆URLを指定して転送
Redirect 301 /wp/ http://www.seotemplate.biz/wp-plug/
wpというディレクトリからwp-plugというディレクトリに転送されます。

Redirect 301 /wp-01.html http://www.seotemplate.biz/wp-plug/wp-01.html
Redirect 301 /wp-02.html http://www.seotemplate.biz/wp-plug/wp-02.html

wp-01 とwp-02から、それぞれの新URLに転送されます。

一つの.htaccessに複数の設定を記述すことが可能です。なお、同一ドメイン内で飛ばす場合は、転送元と転送先に同じディレクトリ名があると、無限ループに陥って301リダイレクトが機能しませんので注意しましょう。

mod_rewrite

◆サイト全体を新ドメインへ転送
RewriteEngine On
RewriteCond %{http_host} ^www.sample.com
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]

www.sample.comからwww.example.comへ転送されます。フォルダ名やファイル名を変えていない場合には、これで全てのページが対応するページへリダイレクトされます。

サーバがmod_rewriteに対応している必要がありますが、だいたいのサーバで使えると思います。利用できない場合は、上記の方法で記述して下さい。

◆サブディレクトリに展開したWordPressサイトを新ドメインへ転送
RewriteEngine On
RewriteBase /dire/
RewriteRule ^index\.php$ – [R=301,L]
RewriteRule . /dire/index.php [R=301,L]

Redirect 301 /dire/ http://example/

.htaccessはWordPressをインストールしたディレクトリにアップロードします。それぞれ対応するページへ転送されます。もっとスマートな記述方法がありそうですが、知識不足です><

サーバがmod_rewriteに対応している必要がありますが、だいたいのサーバで使えると思います。

.htaccessファイルのアップロード

作成した.htaccess.txtをアップロードし、サーバ上で.txtを削除すれば作業は完了です。実際に転送元のURLにアクセスして指定したURLにリダイレクトされているのかチェックしましょう。

301リダイレクトの確認は、View HTTPFiddler2などのツールを使うのが便利です。

302リダイレクト

301リダイレクトは「恒久的な転送」を意味していますが、「一時的な転送」の場合には302リダイレクトを使用します。なお、302リダイレクトではリンクの受け渡しが行われません。

記述方法は基本的に301リダイレクトと同じですが、

Redirect 302 /wp/ http://www.seotemplate.biz/wp-plug/

このように301の部分を302に変更する必要があります。

SEO的な観点からあまり302リダイレクトは使われないのですが、ドメインのトップではなく、サブディレクトリにメインサイトを公開している場合などに有効です。

「/pc/index.html」や「「/pc/index.php」という形でパソコン用のサイトを公開している方も多いと思いますが、検索結果に表示されるURLを.comや.jpなどのドメイン名にしたいという場合に302リダイレクトを使います。

meta refreshによるリダイレクト

無料ホームページスペースなどで.htaccessによるリダイレクトが使用できない場合には、meta refreshを使用します。

head内に以下のように記述します。

<meta http-equiv="refresh" content="0; URL=http://新ドメイン/">
即時(0秒)転送されます。

<meta http-equiv="refresh" content="3; URL=http://新ドメイン/">
3秒後に転送されます。(秒数は任意に変更可)

0秒の転送は301リダイレクトと同等に扱われ、秒数を指定すると302リダイレクトと同等に扱われますが、検索エンジンによっては上手く処理されない可能性もありますので、あくまで.htaccessが使えない場合の対処法となります。

関連記事

タグ


公開日:2011年2月7日
最終更新日:2011年10月29日

コメント/トラックバック(2) |

カテゴリー:SEO対策

コメント

コメント


コメントをどうぞ

※スパムと判断したコメントは削除しています。

このページの先頭へ