具体的な例を挙げながらCanonicalタグ・URL正規化をもうもう少し研究

canonical-tag

Canonicalタグは、正規化タグとも呼びます。サイト内(サイト同士の間でも存在します。)に類似のページが存在する場合、検索エンジンは中の一つしかインデックスしません。Canonicalタグを使えば、正確に検索エンジンに登録させたいページが指定可能となります。

検索エンジンは、ウェブサイト内の類似コンテンツを非常に嫌い、サイト内に複数の類似ページを発見した場合、通常、独自の判断でどのページを正規のページとして登録するかを決めます。

検索エンジンは重複したページだと判断するにもかかわらず、それらの存在が常に必要なので、単純に削除することは行けません。 そこで、canonicalタグを関連ページに挿入して、どのページを正規化のページとしてインデックスさせるべきかを検索エンジンに伝えることができます。

この記事で、実例を挙げながら、CanonicalとURL正規化に関しての知識と要点をまとめて解説していきたいと思います。見ていきましょう。

Canonicalタグとは

正規タグ(authoritative content tag)は、通常、正規でないすべてのページのhtmlコードの<head>セクションに配置され、正規のページを指し示すものです。 類似性の高いページグループの中で、どのページが正規ページであるかを検索エンジンに伝えるために使用されます。

<link rel="canonical" href="https://example.com/sample-page/" />

もともとは、Google、Yahoo、Microsoftなどの検索エンジンの共同タグとして導入された。 主な機能は、異なるURLの形式と同じコンテンツによって引き起こされる重複コンテンツの問題を解決することです。

最初は、サイト内部でURLは異なるが内容が非常に類似たしページが重複コンテンツと判断されていました。 検索エンジンが重複コンテンツを非常に嫌うことは周知の事実であり、仮に意図的に不当な重複コンテンツを多く掲載した場合、検索エンジンによるWebサイトへの評価は下がってしまいます。

しかしながら、類似したページは必ずしも品質が低くて必要のないものと限らないので、不公平の評価を避けるために、CanonicalというHTMLタグが応用されたのです。

一般に、Canonicalタグを手動で追加しなくても、Googleなどは類似性の高いページのグループから自動的に1つだけを選んでクロールするので、ページの重複をそんなに気にする必要はありません。Canonicalタグは、あくまでも声明くらいのものであるもので、たとえ正確に配置したとしても、検索エンジンがそれにに従わないこともあります。この点についてはご注意ください。

重複、類似性の高いページとは一体にどういったページなのか

これは本当に究明する必要の問題だと思うのですが、Googleの公式チュートリアルを含め、ウェブ上の多くの記事はほとんど明確な結論を出していません。

正しく理解しないと、どのページにCanonicalタグを貼るべきかすらわからならないです。

ざっくり言いますと、URL正規化のタグを入れる必要のある重複ページは、ページURLで形が重複したページが多いです。ただし、URLがあまり似ていなくて内容が非常に似ているページも、検索エンジンから重複ページとみなされることがあるので注意が必要です。これについては、後で詳しくご説明します。

続きましては、BaiduとGoogleそれぞれが挙げた重複ページの典例を見っていきましょう。

BaiduによるCanonicalタグを入れるべき重複ページ

例1、フォーラムの投稿は、色やトップに固定するかなどの異なる設定によって、コンテンツが全く同じなのにURLが異なるWebページを生成する可能性があり、検索エンジンは中の一つのURLだけをインデックスするはずです。例えば、次の2つのリンクが異なるのに、内容が全く同じなページです。

  1. http://bbs.zhanzhang.baidu.com/forum.php?mod=viewthread&tid=9502&highlight=
  2. http://bbs.zhanzhang.baidu.com/thread-9502-1-1.html

例2、商品一覧ページで、価格順や販促キャンペーン順など、ページの内容が酷似しているページ。

  • http://mall.leho.com/pr-list?locid=75fb2a357d38397c5e1e75fa&cid=5e1e02f950a4101fb27571ee&order=discount
  • http://mall.leho.com/pr-list?order=price_asc&locid=75fb2a357d38397c5e1e75fa&cid=5e1e02f950a4101fb27571ee

例3は、ECサイトでは、同じモデルの商品を表示する複数のページがあり、各ページの色などごく一部の様子だけが異なり、他のコンテンツはほぼ同一になります。このときもrel="canonical"を使うことで、商品ページの中で最も人気の色を持つページを正規ページに設定することをBaiduは推奨し、検索結果でそれを優先に表示させます。

上記はBaiduの公式ドキュメントに記載されている代表的な例であり、ドメインをまたいで使用することも可能であります。

ドメイン名を変更する場合、一時的に301リダイレクトを行うことができない場合、しばらくCanonical声明を使用することができます。

たとえば、新しいドメインのページは、古いドメインとまったく同じで、開発を担当するスタッフは新しいページを作成するとき、古いドメインのページを参照しなければなりません。この時期は、301リダイレクトの代わりにドメイン名を跨いで正規タグを配置するほうがいいです。

また、ページのコンテンツが表示上、長すぎてページングを行う場合をご注意ください。

ページ分割された記事の最初のページは、一般に正規のページとして正規化の声明をする必要があるという見方があります。 しかし、現実にはこのやり方は間違っているかもしれません。少なくとも、Googleはこれが間違っていると強調したことがあります。

要するに、ページングされた各ページはそれぞれ異なるページとして扱うべきなので、第一ページ目だけを正規化ページにしてはいけません。

Googleが説明したCanonicalタグを追加すべき重複ページの例

1. マルチデバイスそれぞれのためにWebページを作成した場合

  • https://example.com/news/a-puma-at-large
  • https://m.example.com/news/a-puma-at-large
  • https://amp.example.com/news/a-puma-at-large

2. パラメータやIDなどを使用した動的なページURLの場合

  • https://www.example.com/products?category=hat&color=red
  • https://example.com/hats/cocktail?gclid=ABCD
  • https://www.example.com/hats/red/redhat.html

Google自動タグは、Google Adsに必須の機能です。原理は、ユーザーが広告をクリックすると、自動マークの機能により、クリック後に到達するURLに付加情報(gclidパラメータ、「Googleクリック識別子」と呼ばれる)が追加されます。 gclidは、同じ広告をクリックしても同じgclidが生成されないので、毎回のクリックに伴うユニークなものです。

3.同じ記事を同時に複数のカテゴリーに配置すると、自動的に複数のURLとして記録される場合

  • https://blog.example.com/dresses/green-dresses-are-awesome/
  • https://blog.example.com/green-things/green-dresses-are-awesome/

4.www/非www, http/httpsのバリエーションによってサーバーは同じコンテンツに異なるURLを配る場合

  • http://example.com/green-dresses
  • https://example.com/green-dresses
  • http://www.example.com/green-dresses

5.他のサブドメインに転載された記事で、元のサイトの記事と全く同じか部分的に重複している場合

  • https://news.example.com/red-hats-for-every-day-155672.html(転載後の記事)
  • https://blog.example.com/hats/red-hats-are-awesome/3245/ (元記事)

6.印刷用ページを別途用意する場合

  • example.com/page
  • example.com/print/page

上記の例は基本的にURLの類似性が高いページですが、Google Adをクリックして生成されたURLと商品ページのURL、マルチサイトにリダイレクトされた記事のURLが異なる場合など、例外も存在します。このことから、単純にページ内容の重複が多い場合も、Canonicalタグの正規化声明を設定することも検討対象となることがわかります。

Canonical正規化のページを声明する理由

わざわざCanonicalタグを手動で追加する必要はないという見方もあります、主には2つの理由があります。

  • まずは、重複したページのうちどれをインデックスするか、Googleが独自に判断できます。
  • 次に、複数のページが多くインデックスされ、ランキングされれば良いのではないだろうかと。

一つ目について、検索エンジンが正しい判断を下せるように、インデックスさせたいCanonicalページを指定するほうがいいではないでしょうか。検索エンジンが、ウェブマスターが設置したCanonicalタグを含むさまざまなシグナルを分析し、一連の類似したページのうちどれをインデックス化するかを正確に判断します。詳しくGoogleのアルゴリズムに深く関わることで、Google以外誰も一言で断言できません。複数のページからどれを収録するか検索エンジンにとって対処しにくい場合もあるし、手動で設置したCanonicalタグが検索エンジンの正しい判断に非常に有益です。

2つ目について、本当に重複ページが多くあれば、代表的な1ページだけをインデックスさせた方が、ページランクがより集まりやすくてSEOに有利になります。

類似性の高い正規でないページグループでは、以下のような問題が生じる可能性もあります。

検索エンジンのサイトへのクロール資源を無駄遣いにしてしまう可能性があります。 (ただし、1000ページ未満のサイトであれば、あまり気にする必要はない)。

正規でないページグループの問題が大きければ、インデックスにマイナスな影響を与える可能性があります。 検索エンジンは、正規化されていないURLを含めることにリソースを費やすなら、真に価値の大きいコンテンツに使えるリソースは少なくなります。

検索エンジンがご声明の正規化ページをインデックスしない理由

この点については、Googleが動画で詳しく解説しています。

ユーザーがどのページを好むかという側面と、Webサイトがどのページを好むかという側面の両者とも依拠にしてGoogleは正規化ページを判断します。

もしあなたが希望のページをGoogleにインデックスさせたいなら、下の点に注意を払うべきと、この動画は主張しています。

  • Canonicalタグの設置
  • リダイレクトを使用する(リダイレクトは指示であり、Canonicalタグは単に声明くらいの弱い信号である)。
  • より多くの内部リンクを目標ページに指し示す
  • サイトマップに正規化しようとするページを正しく配置(非正規のページはサイトマップに取り出す)
  • httpsで始まるURLを使用する
  • URLを整える(例:短くし、パラメータの使用を控えめに、静的URLを使用するなど)

つまり、Googleは上記の要素を見て、どのページをCanonicalページとしてインデックスするか決定します。ご希望のページがインデックスされる代わりに、別の類似したページがインデックスされたなら、上記の諸事項に照合して検査をしましょう。

このほか、動画では、自分が指定した以外のページがインデックスされても、SEOに悪影響がないことを強調しています。

Canonicalタグを配置する際の注意点まとめ

実際にCanonicalタグを設置する際には、いくつかの注意点があります。これらの注意点については、Googleの公式ドキュメント「General Guidelines」のセクションに、詳しい説明があります。下のほうでは要約としてとくに重要な部分を自分なりにまとめてみました。より深く理解したい場合は、Google公式ドキュメント 「integration of duplicate URL」 を参照することをお勧めします。

  • robots.txt ファイルをURL正規化に使用することはいけません。
  • GSCのURL削除ツールを正規化に使用してはいけません。(検索結果からすべてのバージョンのURLが削除されます。
  • サイト内の内部リンクは常にCanonicalページを指してください。
  • GSC の「パラメータ処理」機能を使用することで、クロール時に無視すべきパラメータと対応のページを Google bot に提示してください。
  • サイトマップには、非正規のURLを取り除いて、正規のURLのみを登録してください。
  • 正規のURLとして(HTTPではなく)HTTPSで始まるURLを使ってください。httpsで始まるのが必須であることは言うまでもありません。

結論

今回は、Canonicalタグとは何か、Canonicalタグを使うべき状況とは何か、声明されたページを検索エンジンがインデックスしないかとの3点についてまとめました。

また、使用時の注意事項などもまとめてみました。より詳しい事項や設定方法を知りたい場合は、「integration of duplicate URL」というGoogleの公式ドキュメントを参照してください。