リダイレクトとは
リダイレクトという言葉は「向きを変える)という意味で、主にホームページを移転した場合や特定のページのURLを変更した場合に、新しいURLへアクセスを転送する事を言います。
リダイレクトの方法としては、HTTPレスポンスによるもの、HTMLのmeta refreshによるもの、javascriptによるものがあります。
それぞれのリダイレクトの方法には特徴や注意点があります。順番に見ていきましょう。
HTTPによるリダイレクト
301リダイレクトや302リダイレクトなどで一般的に利用されている方法で、リダイレクトで最も良く使われるものです。
.htaccessやphpによって設定することが多いです。
こちらはサーバーサイドでリダイレクトを実行する為、サーバーの種類によっては利用できない場合があります。
htmlのmeta refreshによるリダイレクト
対象ページに専用のタグを埋め込むためhtmlによるリダイレクトと呼ばれることがあります。
設定時に転送するまでの秒数を指定する事ができます。
ただ、下記で詳しくご紹介致しますが、Googleはmeta refreshによるリダイレクトをサポートしているものの推奨してはいませんので、サーバーサイドでのリダイレクトができない場合に利用することがおすすめです。
javascriptによるリダイレクト
下記のようにjavascriptを使用してリダイレクトを実行する方法です。
location.href = “http://example.com”;
転送されるまでにjavascriptが実行される必要があるため、実行を許可していないユーザー(ブラウザ)では転送がされないため注意が必要です。Googleはjavascriptの実行ができるため転送はされるものの、こちらもサーバーサイドでのリダイレクトを実行できない場合に使用することがおすすめです。
リダイレクト方法の使い分け
基本的にリダイレクト(転送)はSEOを考慮するとまずはHTTPによるリダイレクトを検討することをおすすめします。
ただし、サーバー条件などでHTTPによるリダイレクトができない場合、転送方法はjavascript→htmlの優先順位で考慮するとよいでしょう。
ページ移転を行う場合、全く転送を行わないとSEO評価が失われてしまいますが、htmlによる転送であってもある程度評価を引き継ぐことが可能です。
meta refreshによるリダイレクト
HTMLファイルの<head>~</head>内に記述するタグを用いて転送させる方法です。
ページによっては、「本サイトは移転しました。5秒後にジャンプします」といった表示が出た後、自動的に転送されるのを見たことがあるかもしれません。
この転送は以下のようなタグで指定が可能です。
0秒後に指定URLへ転送を行う場合
<meta http-equiv=”refresh” content=”0;URL=’http://www.example.com/'” />
5秒後に指定URLへ転送を行う場合
<meta http-equiv=”refresh” content=”5;URL=’http://www.example.com/'” />
SEOの効果を期待するならば、転送までの時間は0秒を指定しておくことをお勧めします。
このように、meta refreshタグでのリダイレクトは、SEO効果を最大限に発揮できない可能性があるものの、移転先のURLをインデックスさせ、評価をある程度引き継ぐことが可能です。