こんにちは、ツバサです。
ブログのHTMLテンプレートを作ってもらったとき、headタグの中に<link rel="canonical">という見慣れない記述があった。何のためのタグか調べたのでメモしておく。
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からのアクセスを正規化できるため、設置しておくのが安全だ。