Rudra Analyzer

SEO

canonical タグの問題を修正する方法:よくある間違いとその見つけ方

canonical タグは、どのURLを優先してほしいかを検索エンジンに伝えます。検索エンジンに無視されたり、誤ったページを選ばれたりする原因となる間違いと、サイト内での見つけ方を紹介します。

執筆:Rudra Techno Team 読了時間 7分
このページの内容

同じコンテンツが複数のURLに存在することはよくあります。www の有無、トラッキングパラメーター付き、並べ替えや絞り込みをした状態、印刷用、他サイトへの配信版などです。canonical タグ、つまりページの <head> に記述する <link rel="canonical" href="https://example.com/shoes/"> は、そうしたURLのうちどれを表示してほしいかを検索エンジンに伝えます。検索エンジンはこれを命令ではなく強いヒントとして扱い、他のシグナルと矛盾する場合は無視します。

canonical の問題のほとんどは、何百ものページで繰り返されるテンプレートの設定ミスです。その見分け方と直し方を紹介します。

適切な canonical とは

  • canonical タグは1ページに1つだけで、<head> の中にある。
  • 正しいプロトコルとホストを含む絶対URLである。/shoes/ ではなく https://example.com/shoes/ と書きます。
  • 通常のページでは、そのページ自身を指している(自己参照 canonical)。
  • 200 を返し、インデックス可能で、リダイレクトされないURLを指している。
  • 他のシグナルと一致している。内部リンク、サイトマップ、リダイレクトのすべてが、同じ優先URLを使っています。

canonical のよくある問題

canonical がリダイレクト、404、エラーのURLを指している

URLを変更したあとも、テンプレートが古いアドレスを出力し続けていることがよくあります。こうなると、すべてのページが「こちらの別のURLを優先してください」と伝えているのに、そのURLはリダイレクトされるか、もう存在しません。検索エンジンはたいてい自分で canonical を選ぶようになり、どのURLが表示されるかをあなたは制御できなくなります。canonical を、200 を返す最終的なURLに更新してください。

noindex と、別ページへの canonical の併用

noindex は「このページを表示しないでください」という意味で、別のURLへの canonical は「このページはあちらの重複です」という意味です。両方を指定すると、矛盾したシグナルを送ることになります。どちらを意図しているのかを決めましょう。ページが重複なのであれば、canonical を残して noindex を外します。単に検索に出したくないだけなら、noindex を使い、canonical は自己参照にするか、なしにします。この違いについては、noindex の意味のガイドで解説しています。

canonical が noindex のページを指している

「インデックスしないでください」と自ら伝えているURLを優先するよう検索エンジンに指示すると、表示できるものが何も残りません。canonical をインデックス可能なページに向けるか、指定先のページから noindex を外してください。

すべてのページの canonical がトップページになっている

テーマやプラグインの設定によって、サイトのルートURLがすべてのページの canonical として出力されていると、事実上、他のすべてのページを除外するよう検索エンジンに頼んでいることになります。以前ほど多くはありませんが、移行のあとにはいまでも起こります。下層ページをいくつか選んでソースを確認しましょう。

相対URL、形式の誤り、複数の canonical

相対指定の href は技術的には許されていますが、壊れやすい書き方です。内容の食い違う canonical タグが2つあると(テーマが出力するものと SEO プラグインが出力するものであることが多い)、通常は両方とも無視されます。1か所で生成した、ただ1つの canonical だけを残してください。

プロトコル、ホスト、末尾のスラッシュの不一致

サイトは https://www.example.com/ で運用しているのに canonical が http://example.com/page となっていると、どの canonical もリダイレクトされるURLを指していることになります。ホスト、プロトコル、末尾のスラッシュの有無をそれぞれ1つに決め、canonical、内部リンク、サイトマップのすべてで統一して使いましょう。

別ドメインへの canonical

別ドメインへの canonical は、コンテンツを意図的に配信している場合には正当な使い方です。あなたの記事を転載するパートナーは、あなたのオリジナルを canonical に指定できます。一方、自分のサイトの中では、テンプレートに残ったステージング用ドメインや旧ドメインなど、たいていは設定ミスです。

ページネーションの各ページが1ページ目を指している

カテゴリの2ページ目には1ページ目とは別のアイテムが並んでいるので、重複ではありません。本当の意味での「すべて表示」ページを用意しているのでない限り、連続するページのそれぞれに自己参照 canonical を設定してください。

ページの canonical をチェックする

Rudra の無料 SEO チェッカーは canonical タグを読み取り、それが単一の絶対URLであるかを確認します。別のURLを指している場合は、その指定先にリクエストを送り、200 が返るかどうかを確かめます。

ホームページをチェック · 無料 · 登録不要

canonical の問題の見つけ方

1つのページで確認する

ページのソースを表示して rel="canonical" を検索するか、Rudra の無料 SEO チェッカーにそのページをかけます。チェッカーは、canonical の欠落、相対URLでの指定、重複、そしてそのページ以外を指す canonical を報告します。canonical がページの最終的なURLと異なる場合は、指定先に HEAD リクエストを1回送ってステータスを確認します。また、canonical が別のURLを指している noindex のページは、矛盾として指摘します。別ドメインへの canonical は意図的な場合もあるため、参考情報として記録されます。

サイト全体で確認する

canonical の問題は、実のところページ同士の関係の問題なので、クロールで調べるのが最も確実です。Rudra のサイトスキャン(無料アカウントを作成し、ダッシュボードから開始します。無料ウェブサイト監査は1ページが対象です)は、各ページの canonical を、クロール時にそのアドレスで確認できた内容と照らし合わせ、問題を理由ごとにグループ化します。canonical の指定先がリダイレクトされる、エラーステータスを返す、noindex である、別のホストにある、あるいは noindex のページが別のURLを canonical に指定している、といった理由です。ページ数や階層の深さの上限のためにクロールが到達しなかった指定先は、壊れているものとして報告されるのではなく、未検証として集計されます。

Google Search Console で確認する

「ページのインデックス登録」レポートには、「重複しています。Google により、ユーザーがマークしたページとは異なるページが正規ページとして選択されました」や「代替ページ(適切な canonical タグあり)」に分類されたページが一覧表示されます。URL 検査では、あなたが宣言した canonical と Google が選択した canonical の両方が表示されます。両者が異なる場合は、内部リンク、リダイレクト、サイトマップがもう一方のURLを指していないかなど、矛盾するシグナルを探してください。

正しい順序で修正する

  1. すべてのURLについて、優先する形式(プロトコル、ホスト、末尾のスラッシュ、パラメーター)を決めます。
  2. 可能であれば、それ以外の形式を 301 で優先URLにリダイレクトします。リダイレクトは canonical よりも強いシグナルです。
  3. 単一のテンプレートまたはプラグインから、ページごとに1つ、絶対URLの自己参照 canonical を生成します。
  4. 内部リンクとサイトマップを更新し、優先URLだけを使うようにします。サイトマップの問題を診断する方法もご覧ください。
  5. 残しておく必要のある本当の重複(絞り込み、印刷用ページ)は、canonical をメインのバージョンに向けます。
  6. 再クロールを行い、その後の数週間、ページが再クロールされていく様子を Search Console で見守ります。

よくある質問

すべてのページに canonical タグが必要ですか?

必須ではありませんが、インデックス対象のすべてのページに自己参照 canonical を設定しておくのが良い習慣です。自分では制御できない、パラメーターやトラッキングコード付きのURLから身を守れます。

Google は必ず canonical タグに従いますか?

いいえ。canonical は強いヒントですが、Google はリダイレクト、内部リンク、サイトマップ、コンテンツの類似度とあわせて判断します。シグナルが矛盾していると、Google は別の canonical を選ぶことがあり、その結果は Search Console の URL 検査で確認できます。

canonical と 301 リダイレクトのどちらを使うべきですか?

古いアドレスや www なしのバージョンのように、訪問者にとって重複URLがまったく必要ない場合は 301 を使います。絞り込みや並べ替えをした一覧ページのように、重複URLにもアクセスできる必要がある場合は canonical を使います。

canonical で別のドメインを指定できますか?

はい。別のサイトがあなたのコンテンツを転載し、オリジナルを明示するような、意図的なコンテンツ配信の場合には使えます。自分のサイトの中では、別ドメインへの canonical はたいてい、ステージング環境や移行の名残です。

サイトをさらに詳しく分析したいですか?

サイトのすべての問題を、直すべき順に確認できます

アカウントなしでどのページも無料でチェックできます。登録すればサイト全体をクロールできます。各レポートはSEO、よくあるパフォーマンスの問題、アクセシビリティ、セキュリティを対象とし、すべての問題に修正案が付きます。