canonicalとは何かが全く分からなかったので調べてみることにしました。
私の場合はGoogle Search Consoleで重複コンテンツになっていたことが始まりで、canonicalに辿り着いたのですが、いまいちよくわからないので重複コンテンツ対策の前にcanonicalの知識を知っとこうと思ってです。
canonicalとは何か?
canonical⇒(カノニカル)と読みます。
canonicalとは、重複コンテンツになってしまった時にcanonical属性をheadタグ内に記述して正規ページを指定すること。
重複コンテンツがあった場合に自分でcanonicalで正規URLを指定しておかないとクロールの時にGoogle側で正規URLを指定されることになります。
重複コンテンツをクローラーが正規URLに指定してくれるなら「問題ないじゃん」と思ってしまったのですが、もし類似コンテンツや重複コンテンツをGoogle側で正規のURLに指定してくれても、指定してくれた正規のURLが自分では正規のURLにしたくない場合もあるのでは?と疑問に思う私。
そんな時にcanonical属性で「正規のURLはこっちだよ」と先に指定しておく事でクローラーに教えてあげる事ができます。
でも、cononicalで正規のURLを指定したとしても要望でしかないので必ずというものでもないようです。
そして、またまた疑問が
クローラーが正規のURLに指定する判断材料は何か?
類似コンテンツや重複コンテンツがある時にクローラーが正規のURLとして、どこを判断して指定するのか?判断材料とは何かな?と疑問になったので、少し調べてみました。
クローラーがサイトをインデックスする時はサイトのそれぞれのページのトピックを特定しようとします。
トピックとは、「話題」ですね。今回の場合はクローラーがインデックスしようとするサイト内の記事はどんな話題になってるのかな?タイトルと話題があってるかな?とかを判断してインデックスさせるようです。
よく聞く【サイトの質をよくする】という事を判断するのが、これにあたるのではないでしょうか。
このトピック特定の時に、サイト内に同じ物と思われるページがあった場合にクローラーは同じ内容のものを重複してインデックスしないように同一ページと判断したものの中でも質が高い内容の記事を選びます。
クローラ―の主な判断材料3個
- 記事がhttpとhttpsのどっちを使っているか
- ページの質
- サイトマップにURLがあるか
Search Consoleヘルプを確認したら上記3個が出ていました。
httpとhttpsはサイトのセキュア、安全面もクローラ―が見てるという事ですね。
やはり、ここでも基本的には記事の【質があるか】【ないか】が判断材料になってるんですね(そりゃそうだよね…)
サイトマップはクロールしやすくするため、判断材料に対して有効です。
重複ページと正規URLのクロールの頻度
クローラーが正規のURLと判断した場合、正規のURLに判断した記事が頻繁にクロールされることになります。
一方で重複してて正規のURLとみなされなかった記事はというと、クロールの割り当てが制限されてクロールされる数が減ります。
canonical属性を使用して正規のURLを指定する方法
重複コンテンツがあった時に、canonicalで正規のURLを指定する方法も分からなかったので調べてみました。
<link rel=”canonical”href=”https// ○○○/>
ページの<head>内にlinkタグを使って、このページの正規のURLはコレだよと伝えることができます。
「なるほどね」と思ったので自分の重複してるページの<head>内にはcanonical記述はあるかな?と疑問が出たので、ページのソースを確認してみることに。
あった
all in one seo packの設定でcanonicalの設定はしていました。
そして<head>内にあったので正規のURLにできてると思い込んでます。
私の場合、パーマリンク設定を途中で変更してしまった時があってURLの最後に「/」トレイリングスラッシュをつけました。それが重複ページの原因?と思ったりしたのですが、トレイリングスラッシュが付いてても付いてなくても同一に扱われて、トレイリングスラッシュが付いた状態で処理されるらしい。
- https://shu-sait.com/○○○/
- https://shu-sait.com/○○○
どちらで検索かけてもトレイリングスラッシュが付くのでcanonical属性<head>内でのcanonicalでURLの正規化ができているような気もするけど、自分の中であやふやなので、トレイリングスラッシュに関しては別記事にしています。
canonical属性を使って正規のURLに指定(要望)はできてると思ったのですが、またもや疑問が…
canonical属性でURLの正規化をするのはどんなときか
最後にcanonical属性を使う時はどんな時なのかを調べました。
canonicalで正規のURLにした時に重複してるほうのページも必要な場合とはどういう時なのか?
同じ商品でも色違いの商品がある場合が代表的な例です。
同じスペックのPCでカラーがブラックとホワイトとかは重複してしまいます。
そして、サイト表示の違いでPCとスマホ表示での違い。内容が同じで見え方が違うだけも重複するようです。
あとは、wwwありとwwwなしや、httpとhttpsでも重複ページになる原因です。
canonicalと301リダイレクトの使い方の違い
「301リダイレクトにすれば早くね?」そう思ったのですが、canonicalの正規化と301リダイレクトの正規化では違いがあります。
301リダイレクトなら恒久的(ずっと)に転送処理されるし転送前のURLの被リンクも引き継げるし、これはこれで、URLの正規化です。
301リダイレクトで正規のURLを指定した場合はクローラ―が100% 指示に従うようでSearch Consoleヘルプで確認してみると301リダイレクトは重複ページを削除するときにのみ使用するとのこと。
一方でcanonicalの場合は、重複ページを削除しないで正規URLも重複ページも活用したい場合はcanonicalが役立ちます。
正規のURLに指定しなかった重複ページを削除してもいい場合は301リダイレクトを使ったほうが効果が出ます。
まとめ
重複コンテンツになってしまい、対処する前に知識として知っておきたかったのでcanonicalにまつわる事を調べてみました。
エラーが出たときに、対処方法だけを見て解決するよりもエラーになった原因とエラーに対して関係する様々なことを知っておくと、再度、エラーが発生した時に役立つと思います。
今回、アウトプット的な記事にしてみましたが、誰かの参考になればと思います。