canonicalタグが複数設定されている
1つのページにcanonicalタグが複数あると、Googleはそれらを全て無視することがあります。結果として、正規URLの指定そのものが効かなくなります。設定しているのに効かない、という分かりにくい形で現れる問題です。
公開日: 2026年8月16日 / 最終更新日: 2026年9月6日
カテゴリ: インデックス / 影響度: 高 / 想定工数: 1時間 / ルールID: multiple_canonical
この問題の意味
canonicalは「このページの正規URLはこれです」と伝えるタグです。1ページに1つだけ置くのが前提の仕様です。
複数のcanonicalが存在すると、検索エンジンはどれを信じるべきか判断できません。Googleの説明では、矛盾する指定があった場合はすべて無視されることがあるとされています。つまり「正規化の指定が無い」のと同じ状態になります。
なぜ気づきにくいのか
canonicalを設定した本人からすると「設定済み」なので、正しく動いていると思い込みます。実際には無視されており、意図しないURLがインデックスされたり、重複コンテンツが解消されなかったりします。
ページのソースを開いて上から読んでも、head内が長いと2つ目のcanonicalに気づかないことがあります。
よくある発生原因
- テーマ本体とSEOプラグインの両方がcanonicalを出力している
- SEOプラグインを2つ入れている
- ページビルダーやキャッシュプラグインが独自に追加している
- 過去に手動で埋め込んだcanonicalが残っている状態で、プラグインを導入した
Smash SEOの検出条件
ページ内のcanonicalタグの数を数え、2個以上ある場合に検出します。対象は応答が200番台〜300番台のページです。値が同じか異なるかに関わらず、複数存在する時点で報告します。仕様上1つであるべきものが複数ある状態自体がリスクだからです。
直し方
出力元を1つに絞ります。どちらを残すかは、今後の運用のしやすさで決めてください。
- ページのソースで canonical を全文検索し、何個あるか数える
- それぞれがどこから出力されているかを特定する(テーマのheader.php、プラグイン、ビルダー)
- SEOプラグインを使っているなら、テーマ側の直書きを削除するのが一般的
- 削除後、複数のページ種別(トップ、記事、一覧、固定ページ)でそれぞれ1個になっているか確認する
正しい状態
<head>
<!-- canonicalは1ページに1つだけ -->
<link rel="canonical" href="https://example.com/service/" />
</head>修正後の確認方法
- ソースを表示し、canonicalが1つだけであること
- Search Consoleの「URL検査」で、Googleが選択した正規URLが意図どおりか
- 再診断して該当が0件になること
よくある質問
同じURLのcanonicalが2つあるなら問題ないのでは?
値が同じでも仕様違反であり、実装が二重になっている状態です。片方だけ後から書き換わると矛盾が生じるため、1つに統一すべきです。
HTTPヘッダとHTMLの両方でcanonicalを指定していますか?
HTTPヘッダのLinkヘッダでも指定できます。両方で異なる値を指定すると矛盾するため、どちらか一方に統一してください。
関連記事
- canonicalが自身のURLと異なる(canonical不一致)
canonical不一致とは、あるページの canonical タグが自分自身ではなく別のURLを指している状態です。意図した正規化なら問題ありませんが、意図せず発生している場合、そのページは検索結果に出なくなる可能性があります。 - canonicalが外部ドメインを指している
外部ドメインへのcanonicalは「このページの正規版は他社サイトにあります」という宣言です。記事配信(シンジケーション)などで意図的に使う正当な設定ですが、意図せず設定されている場合、自サイトのページは評価を放棄していることになります。 - サイトがインデックスされない12の原因と確認手順
インデックスされない原因は多くの場合、この12個のどれかです。上から順に確認すれば、原因の切り分けに漏れがなくなります。各項目に確認方法と、詳しい直し方への案内を付けています。
この問題が自分のサイトで起きているかは、URLを入力するだけで確認できます。 無料で診断する / ルール一覧 / 料金プラン