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ヘルプ記事
現在関連エントリーはありません


