事実上 Google 独自仕様となっているURL正規化(標準化)のための rel=canonicalアノテーションですが、各社のウェブサイトの実装状況を調査したところ、間違った実装を行っている企業が少なくありません。きちんとウェブ専任の担当者を置いているであろう大手企業も例外ではなく、むしろ SEO に意識が高いが故に Canonical に関心を持って対応したのに間違った実装をしてしまいましたという事例が目立ちます。
今回は、そんな間違い実装例の中から「自己参照(Self-referential)canonical アノテーション」のよくある間違い実装例を紹介します。
自己参照canonical アノテーション(Self-referential canonical annotation)とは
自己参照canonicalアノテーションとは、ウェブページのheadセクションに自分自身への URL を canonicalページとして記述していることを指します。たとえば、www.example.com/example.html というページには、 canonical URL として www.example.com/example.html が記述されてる状態を指します。
自己参照canonicalアノテーションは、サイトで展開する1つ1つのウェブページに割り当てられた、インデックスプロパティ情報※の分散を未然に防ぐ方法として有効です。ウェブでは様々な理由により、自分が公開している形式以外のURLで外部からリンクを受けたり、Twitter や Google+ で共有・拡散することが少なくありません。
※ インデックスプロパティ:インバウンドリンクやソーシャルでのシェア、言及数など、当該URLに紐づけられた関連性評価のこと
たとえば、トラッキング目的でメルマガやRSS配信する時にパラメータを(手動/自動)付与されるケースが代表的な例です。ユーザーがメルマガに記載された(追跡用パラメータ付き)URLをクリックし、開いたウェブページ(URL)をそのままソーシャルブックマークに登録したり、Twitter や Facebook で共有すると、そのパラメータがついたままの URL がインターネット上に広がることになります。
例)? 以降がパラメータで、検索エンジンにとって本来不要な情報
デフォルト:[a] www.example.com/news/article-000.html
メルマガで紹介:[b] www.example.com/news/article-000.html?ref=magazine
RSS配信:[c] www.example.com/news/article-000.html?utm_source=feedburner&...
Google は基本的に URL 単位で当該ページの関連性を計算していきます。上記の例では、(いずれのURLも同じページを参照していますが)Googleの視点では3つの(別々の)URLが存在することになり、ランキングスコア計算時も各々のURL単位で行います。たとえば URL [c] 形式がインターネットに広く行きわたり、数多くのサイトで紹介されたり Twitter で話題になったとしても、Google は基本的にその評価を [a] にはまとめてくれません※。
※ Google は一応「ウェブマスターが設定していない場合でもアルゴリズムで自動的に認識・処理する(プロパティ情報を統合する)とは言っていますが、現実はそうではない
そこで自己参照によるcanonicalアノテーションです。全てのウェブページに、自分自身へのURLをcanonical として記載するようにしておけば、追跡用パラメータが意図せず振られているケースがあっても検索エンジンにおける評価は正規化したいURLに取りまとめられるようになります。
自己参照Canonicalに、ユーザが参照したURLを入れてはいけない
自己参照canonicalを設定する目的は、「検索エンジンに優先登録・表示したいURL を決めること」にあります。ところが実際にこれを導入している各種サイトを見ますと、勘違いをしているケースが散見されます。
どんな勘違いをしているかというと、次の図で示す「誤り」の例です。
繰り返しますが、目的は検索エンジン登録時の正規化・優先URLの決定にあるのですから、記載すべきURLは追跡用や効果測定用パラメータなしのURLであるべきです。メルマガ経由(2)でアクセスしたり、RSSフィード経由(3)でアクセスしても、あくまで閲覧するページの内容は www.example.com/news/article-000.html ですから、rel=canonical として指定すべきURL も www.example.com/news/article-000.html とするのが正解です。
ところが、正規化したいURLを記入するのではなく、ユーザーが参照してきたURLを自動的に埋め込んでしまっているウェブサイトが、結構な割合でいます。特に、メディア系サイトに多いです。上記例は追跡用パラメータを例にとっていますが、デスクトップ版/スマホ版(別URL運用)時においても同様の間違いをしているウェブサイトが増加傾向にあります。
デスクトップ版/スマホ版(別URL運用時)において、スマホ版ページで記載すべき canonical URL は、スマホ版ではなくでデスクトップ版です。しかし多くのウェブサイトが(デスクトップ版はデスクトップ版に canonical を記載しつつ)スマホ版にはスマホ版 URL を canonical アノテーションとして記載しています。
canonical URL として追跡用パラメータ等もそのまま入れてしまっては、そのパラメータの種類の分だけ余分な重複URLを Google に伝達し、canonical アノテーションを通じて果たしたい目的と真逆の作用を引き起こすという本末転倒な結果になります。
同様に、canonical URL としてスマホ版をスマホ版に指定したら、デスクトップ版とスマホ版の重複状態は解消されず、かつ両者の関係性を Google に伝達することもできなくなり、仮にスマホ版URLがソーシャル上に伝播しても評価を統合できないという、何のメリットももたらしません。
自分自身が担当しているウェブサイトで canonical を設定している方は、今一度状況をご確認ください。
#
数ヶ月前に、いくつかのメディア名をあげて Twitter にてツイートしたのですが、いずれのサイトもまだ修正されていないようですね。canonical が何の役割で、どう実装されるのが正しいかを十分に理解しないままに活用するのは危険です。
全ての canonical URL がトップページになっているような、明らかな間違いは Google 側が自動で無効にするようですが、上記に挙げた中でもスマホ版→スマホ版みたいな、意図的なのか間違いなのか判断がつかないようなものは Google は対応しません(そのデバイス向けバージョン内で重複コンテンツがあるだけの問題かもしれないから)。