この記事は、以下のような人にオススメです。
Webサイトの重複コンテンツの管理に苦労していませんか?
canonicalタグは、あなたが探している解決策になるかもしれません。この記事では、canonicalタグとは何か、canonicalタグを使用してGoogleや他の検索エンジンでのサイトのパフォーマンスを向上させる方法について説明します。
また、canonical URLを指定するさまざまな方法、Googleが各ページに最も適したものを決定する方法についても説明します。
ぜひ最後までお読みいただけますと幸いで。
早速、canonicalタグは何でしょうか?
weblio和英辞典では「規準的な、標準的な」という意味でした。
canonicalタグは、Googleの検索結果で、重複するページ、または非常によく似たページの中から優先的に表示させるバージョンを特定するために使用する方法です。
つまり、検索エンジンはcanonicalタグを通して、あるURLのどのバージョンを優先的に表示するかを決定します。
canonicalタグは、同じコンテンツが複数のURLからアクセスできる場合、重複コンテンツの問題を防ぐためにも非常に重要な役割をしています。
検索結果ページ(SERP)で正確にインデックスされることを確保するために、マーケティング担当者もcanonical URLを使用します。このURLの特定のバージョンを正として機能させ、重複コンテンツ問題を最小限に抑えることができます。
canonicalタグの次は、canonical URLを押さえておきましょう。
Googleは、canonical URLを、重複するページの中で「最も権威のある」ページのURLと定義しています。
つまり、Googleは、重複または類似したコンテンツを表示する他のページの「マスター」バージョンとして、canonical URLを認識しています。
なので、canonical URLの意味を理解することは、ウェブサイトのコンテンツが検索エンジンに正しくインデックスされることを確認するのに非常に重要であり、重複コンテンツ問題を回避したい場合でも、知っておく必要があります。
同じ、または非常に類似したコンテンツを持つ複数のページがサイトに存在する場合、検索エンジンはどのページを検索結果ページ(SERP)に表示させることに迷うことがあります。この問題を解決には、ウェブサイト側が表示すべきページを提示する必要があって、それがcanonical URLです。
canonical URLを指定する方法はいくつかがあります。Googleドキュメントにも詳しく説明しています。
ここでは、その中でもよくつかわれている方法についてお話します。
Canonicalタグは、ちょっとでも間違ったらGoogleが無視してしまうタグです。
canonical URLを指定する場合、最も一般的な方法として、HTMLコードの<head>セクションに<link rel="canonical">のように、rel canonicalタグを追加することです。
この方法が最も使われていて、検索エンジンにどのバージョンのウェブページがインデックスされ、表示されるべきかを知らせることができます。たとえば、ウェブページに2つのページが同じ内容でURLが異なる場合、このコードを追加するだけで、指定されたページが表示させることができます。
では、canonicalタグの例を見てみましょう。
<head> <link href="https://oscarchair.jp/canonical-page.html" rel="canonical" /> </head>
1行を追加するだけで、多くの問題は解決する。いいでしょう。
ユーザーの入力や変数によって表示内容が変わるような、動的なページを表示するウェブサイトでは、上記の方法だけでは対応できない場合もあるようです。その場合、HTTPレスポンスヘッダーにcanonical URLを追加する方法があります。
これは、HTMLに書いてクローラーに読ませるのではなく、クローラーを誘導して、canonical URLがインデックスされるようにする方法です。
では、HTTPヘッダーの例を見てみましょう。
Link: <https://oscarchair.jp/canonical-page.html>; rel="canonical"
あともう一つの方法は、XMLサイトマップに記載することです。
XMLサイトマップに記載されているURLはインデックスされる対象であることを検索エンジンに知らせることができます。
Googleドキュメントにも書いている通り、sitemap.xmlの中に記載されるページURLはすべて正規ページであるべきで、大きなサイトにはこの方法がよいが、やはり1つ目の方法(canonicalタグ)がおすすめです。
さて、canonical対策を話してきましたが、視点を変えて、Google側はどのように正規なページを特定するでしょうか?
その場合、Googleが持っているアルゴリズムでcanonical URLを特定します。
いくつかの重要な指標がある中で、以下の2つが最重要といいます。
このように、Googleのアルゴリズムの中で、複数の要素を持って、インデックスされるcanonical URLを特定します。
通常、canonicalタグがあれば、それを使用しますが、必ずそれを使うとは限りません。他のページの方がユーザーに適していると判断した場合、別のバージョンがインデックスされます。
上に書いているように、canonical対策をしていても、Googleは必ずそれを正規ページとして使うとは限りません。サイト側からの「提案」を無視する場合があります。
なので、自分が提案しているcanonical URLが、ちゃんとインデックスされているかを確認する必要があります。
調査するのに、簡単な方法がいくつかあります。
最も簡単な方法は、検索結果ページ(SERP)で確認することです。
目的のキーワードを入力して検索すればよいです。検索結果の中で、正規と非正規のページが両方インデックスされていても問題ではありませんが、非正規の方が上位になっている場合、サーチコンソールからページを一時的に削除したりするような対策が必要になります。
また、Google Search Consoleでウェブサイトの所有権を確認している場合、サーチコンソールのページインデックスレポートを使用して、検索エンジンが優先的に表示されるページを特定することができます。
サーチコンソールではインデックスされているサイトページとインデックスされていないサイトページの一覧を提供されています。
「代替ページがcanonicalタグと不一致」、「Googleが選択した正規ページが異なる重複コンテンツ」を特定することができます。
対応が必要なページが一瞬でわかります。
また、「検索パフォーマンス」レポートには、各ページのクリック数や表示回数など、検索パフォーマンスの概要を確認できます。このレポートで、非正規ページにも関わらず、表示回数を獲得している場合、Googleがcanonicalタグを無視している可能性があります。
canonicalタグが正しく設定されていても発生する場合がありえます。
例えば、非正規ページですが、多くの内部リンクや外部リンクを獲得しているなどです。
詳細はこの記事の「Googleがcanonical URLを特定する仕組み」のセッションを参照してください。
さらに、サーチコンソールではURL検査ツールがあります。ウェブページのインデックスとクロール状況をリアルタイムで確認することができます。この機能で、正規ページがインデックスされているか、また、非正規のページはインデックスされていないことになっているかも特定できます。
下記のように、非正規ページが正しく「URL が Google に登録されていません」になっていることを確認することができます。
有料なランキングチェッカーでは、指定のURLに対し、特定のキーワードで検索する場合のランクを毎日記録しています。
こうしたツールを使って、非正規のページが望まないランクを獲得しているか、その代わり、正規ページの順位が上がっていないかを確認することが可能になります。
さらに、ツールによりますが、結果をExcelにエクスポートして、そこに非正規のURL(例えば、パラメータ持ちのURL)があるかどうかを確認できます。
はい。とても重要です。大きな理由としては以下の2つです。
1つのサイトに対して、クロールできる上限数が割り当てられています。
小規模なサイトは特に気にする必要もないが、ECサイトなど、商品ページが多くなると、クロール数の節約が重要になります。
コンテンツが重複しているにも関わらず、URLが異なるだけで、貴重なリソースが消費されるのは回避したいです。
Googleは1つのサイトで、重複コンテンツが見つける場合、ペナルティを受ける場合があり、ランキング順位が下がる恐れがあります。これもcanonicalタグを追加することで回避できます。
なので、可能な限りcanonicalタグを実装することが推奨されています。
canonicalタグ最適化することによって、クロールリソースをより効率的に使用できるようになり、検索エンジンの検索結果での順位や視認性が向上し、顧客とのエンゲージメントを最大限に高めることができます。
また、canonicalタグを導入することで、重複コンテンツやカニバリゼーション問題から保護することができます。
類似した検索クエリに対して多数のページが競合する場合、ユーザーと検索エンジンの双方を混乱させ、最終的にランキングとトラフィックの減少につながります。
ウェブページが正しくインデックスされることを確保するためにも、SEOにおいては、canonicalタグを推奨しています。
重複ページを1つのcanonical URLに統合することによって、サイトのユーザーエクスペリエンス(UX)がよくなり、SEO戦略全体が強化されます。このテクニックを利用していない競合他社よりも優位に立つことができます。
今でしょう。(笑)
canonicalタグを使用すると、ウェブサイトのパフォーマンスが最大化されます。
SEOに悪影響を与える重複コンテンツの問題を回避するのに役立ちます。
ウェブマスターであれば、「canonical URLの指定方法」のセッションで提示した方法を進めることで、コンテンツが正しくインデックスされ、検索エンジンでも上位にランクされるようになります。その結果、オンラインでの認知度が向上し、ページへのトラフィックが増加することにつながります。
なので、今、すぐ、直ちに対応しましょう。
基本的に全ページ対応することがおすすめです。
重複コンテンツがいつどこで発生するかは、ウェブマスターといえども、わかりません。
例えば、今「https://oscarchair.jp」というページがあります。
他のURLで全く同じTOPページを作ることはまず考えられません。
ただし、仮に10000ぐらいのサイトが外部から、「https://oscarchair.jp/?abcdefg」のURLでリンクされた場合、Googleは「https://oscarchair.jp/?abcdefg」を正規ページとするかもしれません。
なので、全ページ対応することがおすすめです。
あえて、canonicalタグの対応が必須なページをピックアップするのであれば、以下のようになります。
ウェブサイトでソート機能を実装する際、canonicalタグは必ず実装してください。
ソート機能はGETメソッドで実装することが多いです。つまり、パラメタ付きのURLで商品ページを表示することが多くあります。
その場合、オリジナルで、パラメタが付いていないURLを「メインソース」として、canonicalタグに示す必要があります。
なんだかんだややこしい。。。以下に例を挙げ説明してみようと思います。
例えば、Ebayで、「SEO」関連の商品を検索することとします。
この時、URLはこのようになっています。
https://www.ebay.com/sch/i.html?_from=R40&_nkw=SEO&_oac=1
次に、金額の安い順で商品を並び替えすると、URLは次のようになります。
https://www.ebay.com/sch/i.html?_from=R40&_nkw=SEO&_oac=1&_sop=15
もしcanonicalタグが設定していない場合、URLが違いますので、Googleはこれらを2つ独立したページとしてインデックスされます。
仮に、このカテゴリの商品数が非常に少なく、1つまたは2つしかないとなる場合、URLが違うのに、コンテンツが全く同じとみなされ、Googleからのペナルティを受けてしまうかもしれません。
1つのカテゴリに、2つの商品しかないことはEbay上ありえないかもしれませんが、商品数が少ないECサイトは日本ではたくさんあって、むしろこういった状況が多いといえるかもしれません。
では、ペナルティを回避するのに、どうすればよいか?
Ebayは答えを教えてくれます。
上記の2つのページ、URLは違いますが、ソースコードを見ると、両方のcanonicalタグは同じで、以下のようになっています。
<link rel="canonical" href="https://www.ebay.com/sch/i.html?_nkw=seo&_sop=12" />
実は2つとも正規ページではなく、「www.ebay.com/sch/i.html?_nkw=seo&_sop=12」が正規ページでした。
このように、正規ページとするパラメータを決定して、それをcanonicalタグに反映する必要があります。
これもソート機能と似ていて、商品一覧ページに多くみられます。
ソート機能と同様、フィルタ機能もGETメソッドで実装することが多く、パラメタ付きのURLで商品ページを表示されます。
さまざまなフィルタリングパラメータを適用すると、オンラインストアのウェブサイトでは、それぞれのフィルタキーワードで最適化されていないページが複数存在することになります。
今度は、楽天市場を例とします。
以下のリンクで6個くらいのフィルターをかけています。
楽天市場のリンク
では、canonicalの構成を見てみましょう。
<link rel="canonical" href="https://search.rakuten.co.jp/search/mall/%E3%83%9E%E3%82%B9%E3%82%AF/-/tg1000877-tg1011173-tg1037330/"/>
色、生産国、枚数のフィルターはかけたままですが、
価格帯、レビュー、送料設定はcanonical URLを含まない構造になっています。
このように、どんな項目がインデックスされたい、どの項目は正規化したくないのはサイトそれぞれで、一言canonical化しましょう!といっても、しっかり検討が必要です。
これも少なからずあります。
というのも、1つの商品は必ず1つのURLしかアクセスできないとは限りません。
「ニットシャツ」という商品があるとします。
この商品をより多くの人見つけてもらうためには、「シャツ」のカテゴリだけでなく、「ニット」のカテゴリも入れていきます。
そうなると、「シャツ」カテゴリからアクセスした場合は、
https://example.com/item/shirt/knitt-shirt-AA123/
「ニット」カテゴリからアクセスした場合は、
https://example.com/item/knit/knitt-shirt-AA123/
というケースが発生します。
URL2つですが、内容は一緒なので、canonicalタグでどちらかをメインカテゴリにして、このように設定が必要になります。
<link rel="canonical" href="https://example.com/item/shirt/knitt-shirt-AA123/"/>
UTMパラメータやトラッキングパラメータで流入元を集計することはよくあると思います。
その場合でも、検索エンジンが重複コンテンツと誤解されないように、UTMパラメータやトラッキングパラメータを含まないURLでcanonical対策が必要になります。
例えば、こういうURLが来ても、
https://oscarchair.jp/blog?fbclid=IwAR37rGXM4w4P0kCRJv0aa17ciUqcdAsCL5BqoLwmZ6o3pixsQzm52iAdSqw
<link rel="canonical" href="https://oscarchair.jp/blog">
で対策済ですので、問題なく正確にインデックスされます。
もし、あなたのサイトが、HTTPとHTTPSのように複数のバージョンでアクセスできる場合、または「www」が含まれている場合とそうでない場合でもアクセスできる場合、canonicalタグの対応が必要になります。
すべて該当する場合、単にトップページだけでも以下の4つのバージョンがあります。
https://oscarchair.jp/ http://oscarchair.jp/ https://www.oscarchair.jp/ http://www.oscarchair.jp/
canonicalタグで1つのバージョンに指定しましょう。
<link rel="canonical" href="https://oscarchair.jp/">
で対策済ですので、問題なく正確にインデックスされます。
まぁ、この場合、canonicalタグ以前の問題で、まずHTTPアクセスされた場合、301リダイレクトでHTTPSに指定した方がいいと思いますが。。。
上記のパターンと少し似ていますが、クロスドメインの重複コンテンツです。
仮にオスカーが"https://oscarchair.jp/"で1度公開した記事を他のサイト再利用しました。
canonicalタグを実装していない場合、Googleはサイトの所有者までは判断しないので、結果、他のサイトのコンテンツを丸々コピーしたという行為に見なされ、Googleのペナルティを受けることになります。
これが2011年に実装された「パンダアップデート」です。
※ちなみに、「パンダシステム」は退役で、2015年に今のコアランキングシステムに組み込まれています。
ただし、canonicalタグを実装した場合、canonical URLを本来の記事に指定した場合、ペナルティを受けることはなくなり、さらに評価は元記事に引き継がれ、元記事がよりランク順位の向上になります。
ページネーションの正規化について、2つの方法があります。
1つは、以前の記事(ページネーション(Pagination)のSEO)にも話しましたが、各ページで自己参照を行います。
https://oscarchair.jp/blog には
<link href="https://oscarchair.jp/blog" rel="canonical" />
https://oscarchair.jp/blog?page=2 には
<link href="https://oscarchair.jp/blog?page=2" rel="canonical" />
これはGoogleが推奨している方法で、各ページに自身を参照するcanonicalタグが含まれるようになります。
クローラーがすべてのページに到達することができるので、ページごとにインデックスされます。一般に安全だと考えられています。
2つ目の方法ですが、これは1つ目の方法と逆で、ページネーション化されたウェブページがインデックスされたくない場合の方法です。
ページをインデックスされたくない場合、canonicalタグを使わないことをお勧めします。
代わりに、noindexを指定します。
<meta name="robots" content="noindex, follow"/>
このタグを使うことによって、クローラーはページをクロールして、ページにあるリンクも確認されますが、インデックスされないように指示できます。
まとめると以下のようになります。
どの方法を取っても、正しい方法です。コンテンツが正しくリンク・インデックスされ、重複コンテンツ問題も回避できるようになります。
ざっとまとめますと、重複コンテンツの対応として、以下の2種類の対応があります。
両方とも、検索結果ページ(SERP)で上位表示されるべきコンテンツを指定することができて、重複コンテンツの管理ができるようになります。
コンテンツの引っ越しを永久に移動させる場合は、301リダイレクトがいいです。
ユーザーやクローラーが古いURLへアクセスしようとすると、自動的に新しいページに転送され、最初アクセスしたページが有効でないことを示します。
ただし、重複してはいるものの、引っ越しではないケースもあります。
例えば、広告キャンペーンを実施していて、トラッキングでUTMパラメータを使用している場合、それと対比して、UTMを使っていないオーガニックのパフォーマンスの集計も必要になります。
目的が異なる両方のURLが同時に必要な場合、301リダイレクトではなく、rel=canonicalタグを使用します。
両方のURLを同時に使えると同時に、正規URLを指定できます。
ならば、rel=canonicalあれば十分では?
メリットがあればデメリットもあります。rel=canonicalタグが重複コンテンツの中でcanonical URLを指定できますが、検索エンジンが必ず指定したcanonical URLを使用する保証するはありません。前項に話したように、外部リンクや内部リンク、ユーザー検索とコンテンツの関連性などをもって判断されます。
以上で、canonicalタグの意味や使い方について説明しました。
canonicalタグは、SEOにおいて、重要な要素であり、基本です。
そして、間違いやすい部分でもありますので、要注意です。
今日も見ていただきありがとうございました。
お役に立てれば幸いです。
それでは。