ツバサのメモ帳
canonical(カノニカル)とは?URLの正規化で重複を防ぐ話

canonical(カノニカル)とは?
URLの正規化で重複を防ぐ話

canonicalとは

canonicalタグは、「このページの正規URLはこれです」と検索エンジンに伝えるためのHTMLタグだ。書き方は<link rel="canonical" href="https://example.com/page.html">

同じ内容のページが複数のURLでアクセスできてしまうケースがある。たとえばURLにパラメータがついた場合(?ref=twitterなど)、httpとhttpsの両方でアクセスできる場合、www有無の違いなどだ。こういうとき、Googleがどちらを「本物」として評価すべきか迷わないよう、正規のURLを教えてあげるのがcanonicalタグの役割になる。

このブログでの使い方

全ページにcanonicalを設置

このブログでは全ページのheadタグにcanonicalタグを入れている。自分自身のURLを指定する形で、「このURLが正です」と明示している。重複が発生していなくても、念のため設置しておくのが一般的だ。

リダイレクトページでの指定

ページを移転したとき、旧URLにcanonicalタグで新URLを指定すると、検索エンジンに「評価は新URLに集約してほしい」と伝えられる。meta refreshによるリダイレクトと組み合わせて使うことがある。

覚えておきたいポイント

canonicalは「指示」ではなく「ヒント」

Googleはcanonicalタグを絶対的な指示ではなくヒントとして扱う。ページ内容が大きく異なるのに同じcanonicalを指定するなど、不適切な使い方をするとGoogleが無視することもある。

自己参照canonicalでも設置する意味がある

自分自身のURLを指すcanonicalタグでも、パラメータ付きURLや大文字小文字違いのURLからのアクセスを正規化できるため、設置しておくのが安全だ。

ツバサ

ツバサ

EC関連の会社で働いています。少人数の職場なので、ささげ業務の手配から画像の外注管理、ページ更新、バイトさんへの作業指示まで守備範囲は広めです。Photoshopは苦手なので本格的な画像加工は外注に出していますが、何社も試した分、業者選びや納品チェックには慣れました。このブログは仕事の中で身につけたことの記録です。