ホーム > Google、HTTP Link ヘッダでの rel="canonical" 指定可能に。HTML 文書以外の正規化も可能

ホスティング

*マット・カッツの発言を聞き取りたいと思っている方には、 オンライン英会話スクールがオススメです。
Google、HTTP Link ヘッダでの rel="canonical" 指定可能に。HTML 文書以外の正規化も可能
Saturday, 18 June 2011 19:14

2011年6月17日のウェブマスターオフィシャルブログで、Google は HTTP ヘッダでの rel="canonical" 指定を始めたことを発表しました。

これによって HTML 文書だけではなく、様々なメディアにおける正規化が可能となります。

SEO の正規化とは?いつ、なぜ使うの?

SEO での正規化というのは、検索エンジンに対して「異なる URL で配信される同一文書間で、オリジナル文書と複製文書を明確にすること」ことを言います。

なぜそういうことをするかというと、Google に限らず多くの検索エンジンでは複製文書を嫌うからです。

例えば、次のような状況を考えてみましょう。

悪い SEO 業者がいて、レアなキーワードを使ってある HTML ページを作ります。とてもレアなキーワードで、そのキーワードを使えば簡単に SERP 上位が狙えるとします。

案の定ページ http://www.example.com/foo.html は SERP の上位表示されました。そこで、この文書のコピーをたくさん作ります。コピーを http://www.example.com/copy1.html、http://www.example.com/copy2.html、http://www.example.com/copy3.html、... とします。

すると、そのキーワードによる検索結果は同じコンテンツがズラズラと並ぶことになってしまいます。

これは検索エンジン利用者にとって大変不便です。

したがって Google はなるべく同様のコンテンツをまとめるなどして、検索結果を美しく保つようにしています。

多くの検索エンジンではこのように文書をコピーする、とか、レアなキーワードで質の低いコンテンツを大量生産するといったことをするサイトを SERP から落とすなどの努力を続けています。2011年春に Google が実施したいわゆる "パンダ・アップデート" がその例です。

このように、変なことをして検索エンジンからの PV を集めるということ全般をブラックハット SEO などといいますが、ブラックハット SEO としてではなくとも、 普通に悪意のない人も同様のことをしてしまう場合があります

例えば、Amazon.com の例を考えてみましょう。

Amazon.com で商品の Kindle を検索します。すると、検索結果がでてきて狙った商品 (つまり Kindle) の紹介ページが表示されました。このときの URL は、 実際に試すと次のようになりました。

http://www.amazon.com/Kindle-Wi-Fi-Graphite-Display-Technology/dp/B004HFS6Z0/ref=sr_1_1?ie=UTF8&qid=1308422037&sr=8-1

この URL にはたくさんパラメータがついています。実はこのパラメータはいくつか取ってしまっても、同じページが表示されます。

こうしたパラメータはページをより正しく間違いなく表示するためだったり、あるいはユーザーの行動を追跡するためのものだったり(Amazon.com がどれだけトラックしているかはしりませんが)、と、 Web 上で商売をするためには必要な(少なくとも欲しい)情報も含まれている場合もあるわけです。

他の例をあげれば、例えば同じ文書のテキスト版、Word 版、PDF 版を配布することもあるでしょう。

つまり「異なる URL で同じ文書を返す」ということは必ずしもブラックハットSEO を意図したものではないのです。

そこで登場するのが URL の正規化という考え方です。

ユーザーが複製されたコンテンツを要求した場合、「これのオリジナル文書はこちらの URL ですよ」と教えるのです。 これによって、検索エンジンに対して「僕等はブラックハットSEOをしてるんじゃないですよ!」と申告するのです。

従来の正規化は HTML のタグで行っていた

これまでの正規化は HTML の link タグで行っていました。

具体例で言えば、オリジナルが http://www.example.com/foo.html でコピーが http://www.example.com/copy1.html だった場合、 copy1.html の HTML ヘッダ部分に次のように記述します。

<link rel="canonical" href="http://www.example.com/foo.html" />

こうすることで、coyp1.html というのは foo.html のコピーですよ、と検索エンジンに教えることができるのです。

尚、この指定は必ず検索エンジンが従うというものではなく、検索エンジンへの「ヒント」という位置付けです。全く異なる文書が canonical 指定されていても、それは無視されます。

ちなみに、Amazon.com も上記の Kindle ページには次のように link タグが書かれていました。

<link rel="canonical" href="http://www.amazon.com/Kindle-Special-Offers-Wireless-Reader/dp/B004HFS6Z0" />

オンラインショッピングサイトなどを構築する歳には、必ず指定しておきましょう。

HTTP ヘッダによる正規化によって PDF 文書なども正規化可能に

今回の Google の発表では Link HTTP ヘッダで正規化できるようになりました。HTML ヘッダではなく、HTTP ヘッダであることに注意してください。

HTMLが不要になるので、これによって PDF 文書なども正規化可能になります。HTML 文書と、それと同じ内容の PDF ファイルを配信しているような場合は、 Link ヘッダを設定すると良いでしょう。

具体的には次のように Link HTTP ヘッダを構成します。

Link: <http://www.example.com/white-paper.html>; rel="canonical"

Apache の .htaccess では copy1.pdf のあるディレクトリにて次のようにすれば OK です。

<FilesMatch "copy1.pdf">
<IfModule mod_headers.c>
Header set Link "<http://www.example.com/foo.html>;rel=\"canonical\""
</IfModule>
</FilesMatch>

以上、ここでは SEO での正規化の意味と HTTP Link ヘッダでの canonical 指定方法について説明しました。