301リダイレクトの代替方法


Webサイトのリニューアル時やドメインの変更をする場合には.htaccessを使った301リダイレクト(恒久的移転)という手法を使うのが一般的でベストな方法です。

しかし、サーバーの仕様によっては.htaccessが使えない場合もあり、無料ブログなどでは大抵サポートされていません。

そういった時、301リダイレクトの代用としていくつかの有効な施策があります。
・meta refresh
・rel=”canonical”



【meta refreshを使ったリダイレクト】
meta refreshはサイトを訪れた時に、任意のURLへ自働的にジャンプさせるタグです。
HP移転の時などに良く利用されるタグであり、301リダイレクトができない場合の代用としても活用できます。

==========================================
<meta http-equiv=”refresh” content=”数値; URL=飛ばしたい先のURL”>
==========================================

上記の「数値」部分が、ジャンプするまでの秒数を示します。

数値を”0″と指定することで、Yahoo!/Google/Bingともに301リダイレクトとして認識します。(<head>セクション内に設置。)
Googleではこの方法を推奨していませんが、301リダイレクトが使えない場合は応用すべきテクニックです。

またYahoo!では、公式サイトで0秒のmeta refreshを301リダイレクトとして扱うことを明言しています。
→リダイレクトとは?

0秒以外を指定すると302リダイレクト(一時的な移転)扱いとなるため注意が必要です。

【rel=”canonical”を使ったリダイレクト】
元々はサイト内に重複コンテンツがあった場合、正当なURLを指し示すタグとしてサポートが開始されたタグです。

例えば、下記のように内容が同じサイトで、2つともインデックスされていたとしましょう。
A:http://www.example.com/
B:http://www.example.com/index.html

Aをメインとしてインデックスさせたい場合は、Bのページの<head>セクション内で、

==========================================
<link rel=”canonical” http://www.example.com/” />
==========================================

と記述することで、Aのサイトが本来のURLであることを検索エンジンに示すことができます。

以前は同一ドメイン(またはサブドメイン間)でのみ機能していましたが、現在はクロスドメインでも機能します。
これにより、何らかの理由で301リダイレクトが使用できない場合は、その代用として使うことができるようになりました。

例えば、下記aサイトがbサイトへ移転する場合、
a:http://www.example.com/
b:http://www.example-example.com/

aのページ上で、
==========================================
<link rel=”canonical” http://www.example-example.com/” />
==========================================

と記述することで、bのページへ移転したと認識させることができます。
canonicalは現在Yahoo!/Googleがサポートしており、Bingは2010年以内には導入予定とのことですが、今は未対応のようです。
(Yahoo!は機能してない場合も多いです。)

なお、canonicalでのリダイレクト対応はGoogleも推奨しているわけでは無く、手段が無い場合は代用も可能という程度です。

これら2つの方法は、あくまで301リダイレクトが使えない場合の苦肉の策です。
301リダイレクトが使える場合は、必ずそちらを優先しましょう。

参考
→Google Web Master Centralのcanonicalヘルプ記事

現在関連エントリーはありません

上島 拓也

株式会社ブレインネット ネット集客支援事業部

ブレインネットのSEO担当です。
Blog ⇒ ネットde集客 Webマーケティング支援
Twitter ⇒ bn_ueshima