Canonicalタグとは

Canonicalタグは、HTMLの<head>セクション内に記述するlink要素で、正規のURLを検索エンジンに明示的に伝えるためのものです。

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

このタグは「この複数あるページの中で、このURLを正式なものとして扱ってください」という指示を検索エンジンに送ります。

なぜCanonicalタグが必要なのか

Webサイトでは、同じ内容のページが異なるURLで存在してしまうケースが頻繁に発生します。

重複URLが生まれる典型的なケース:
  • https://example.com/page/ と https://example.com/page (末尾のスラッシュの有無)
  • https://example.com と https://www.example.com (wwwの有無)
  • http://example.com と https://example.com (HTTPとHTTPS)
  • https://example.com/page/?ref=twitter (パラメータ付きURL)
  • https://example.com/category/page/ と https://example.com/tag/page/ (複数のカテゴリーに属する)
  • https://example.com/page/?sort=date (ソート条件などのクエリパラメータ)
⚠️ 重複コンテンツのリスク
検索エンジンが同じ内容のページを複数発見すると、以下の問題が発生します:
  • どのページを検索結果に表示すべきか判断できない
  • 評価(リンク評価やランキング)が分散してしまう
  • 最悪の場合、重複コンテンツとしてペナルティを受ける可能性
  • クロール予算の無駄遣い(検索エンジンが同じページを何度もクロール)

Canonicalタグの仕組み

基本的な動作

Canonicalタグを設置すると、検索エンジンは以下のように処理します:

  1. 複数のURLで同じまたは類似したコンテンツを発見
  2. 各ページのCanonicalタグを確認
  3. Canonicalタグで指定されたURLを「正規URL」として認識
  4. 正規URLに評価を集約し、検索結果に表示
  5. 他の重複URLは検索結果から除外(インデックスされない)
具体例:

商品ページが3つのURLで存在する場合:

  • https://shop.com/products/shoes-red/
  • https://shop.com/products/shoes-red/?color=red
  • https://shop.com/sale/shoes-red/

すべてのページに以下のCanonicalタグを設置:

<link rel="canonical" href="https://shop.com/products/shoes-red/" />

→ 検索エンジンは「https://shop.com/products/shoes-red/」を正規URLとして扱い、検索結果にはこのURLのみ表示します。

自己参照Canonical

重複がないページでも、自分自身のURLをCanonicalタグに設定することが推奨されます(自己参照Canonical)。

<!-- ページURL: https://example.com/about/ -->
<link rel="canonical" href="https://example.com/about/" />

これにより、パラメータ付きのURLでアクセスされた場合でも、検索エンジンに正しいURLを伝えることができます。

💡 Googleの推奨
Googleは、すべてのページに自己参照Canonicalタグを設置することを推奨しています。これはベストプラクティスとされています。

Canonicalタグが必要なケース

1. ECサイトの商品ページ

商品が複数のカテゴリーやフィルター条件でアクセスできる場合:

→ 1つのメインURLをCanonicalとして指定

2. ページネーション(ページ分割)

記事一覧が複数ページに分かれている場合:

→ 各ページに自己参照Canonicalを設置(rel="next"とrel="prev"も併用)

3. プリント用ページ

印刷用の別URLがある場合:

→ 印刷版から通常版へCanonicalを設定

4. モバイル版ページ(別URL)

モバイル専用URLがある場合:

→ モバイル版からPC版へCanonicalを設定(ただしレスポンシブデザインの方が推奨)

5. A/Bテスト

同一内容で異なるデザインをテストする場合:

→ 両方から/page/へCanonicalを設定

6. パラメータ付きURL

トラッキングやソート条件のパラメータ:

→ すべて/products/へCanonicalを設定

WordPressでのCanonical設定方法

方法1: WordPressの自動設定(推奨)

WordPress 4.4以降では、デフォルトでCanonicalタグが自動的に出力されます。特別な設定は不要です。

✅ WordPress標準のCanonical
WordPressは投稿、固定ページ、カテゴリー、タグなどの主要ページに自動的に自己参照Canonicalタグを設置します。

方法2: SEOプラグインを使用

より細かい制御が必要な場合は、SEOプラグインを使用します。

主要なSEOプラグイン:
  • Yoast SEO - 最も人気のあるSEOプラグイン
  • All in One SEO - 高機能なSEO総合プラグイン
  • Rank Math - 新興の強力なSEOプラグイン

Yoast SEOでの設定例:

  1. 投稿編集画面の下部「Yoast SEO」セクションを開く
  2. 「詳細設定」タブをクリック
  3. 「Canonical URL」欄にURL設定(通常は自動)
  4. 必要に応じてカスタムURLを入力

方法3: functions.phpで手動設定

テーマのfunctions.phpに直接記述することも可能です(上級者向け)。

function add_custom_canonical() {
    if (is_singular()) {
        echo '<link rel="canonical" href="' . get_permalink() . '" />' . "\n";
    }
}
add_action('wp_head', 'add_custom_canonical');

方法4: テーマファイルで直接記述

header.phpの<head>セクション内に直接記述:

<link rel="canonical" href="<?php echo get_permalink(); ?>" />
⚠️ 重複設定に注意
WordPressやSEOプラグインが自動でCanonicalタグを出力している状態で、さらに手動で追加すると重複します。重複したCanonicalタグは検索エンジンを混乱させる可能性があるため、必ず1つだけになるよう確認してください。

Canonicalタグの注意点とよくある間違い

間違い1: 異なる内容のページに設定

❌ 間違った使い方:
まったく内容の異なるページAからページBへCanonicalを設定する。

正しい使い方:
同じまたは非常に類似した内容のページ間でのみ使用する。

間違い2: ページネーションで1ページ目を指定

❌ 間違った使い方:
/blog/page/2/ から /blog/page/1/ へCanonicalを設定

正しい使い方:
各ページに自己参照Canonicalを設定し、rel="next"とrel="prev"を併用

間違い3: 相対URLで記述

❌ 間違った記述:
<link rel="canonical" href="/page/" />

✅ 正しい記述:
<link rel="canonical" href="https://example.com/page/" />

Canonicalタグは必ず絶対URLで記述してください。

間違い4: 複数のCanonicalタグを設置

❌ 間違った設定:
1つのページに複数のCanonicalタグを記述する

正しい設定:
1ページにつき1つのCanonicalタグのみ

間違い5: noindexページにCanonical設定

⚠️ 矛盾した設定:
noindex(インデックスさせない)とCanonicalを同時に設定すると、検索エンジンに矛盾した指示を送ることになります。通常はどちらか一方のみを使用してください。

間違い6: リダイレクトとの混同

Canonicalタグは「検索エンジンへの提案」であり、ユーザーをリダイレクトするものではありません。

💡 使い分けの基準
  • ユーザーに元のURLへのアクセスを許可したい → Canonical
  • 完全に別URLに統一したい → 301リダイレクト

Canonicalタグの確認方法

方法1: ページのソースコードを確認

  1. ブラウザでページを開く
  2. 右クリック→「ページのソースを表示」
  3. <head>セクション内を確認
  4. <link rel="canonical"...を探す

方法2: ブラウザの開発者ツール

  1. F12キーで開発者ツールを開く
  2. 「Elements」または「要素」タブを選択
  3. <head>セクションを展開
  4. Canonicalタグを確認

方法3: SEOツールを使用

おすすめツール:
  • Google Search Console - URL検査ツールでCanonical設定を確認
  • Screaming Frog SEO Spider - サイト全体のCanonicalタグを一括チェック
  • Ahrefs Site Audit - Canonical関連の問題を自動検出
  • SEOチェキ - 無料のオンラインツール

Google Search Consoleでの確認

  1. Google Search Consoleにログイン
  2. 左メニュー「URL検査」を選択
  3. 確認したいURLを入力
  4. 「Googleが選択した正規URL」を確認
  5. 「ユーザーが指定した正規URL」にCanonicalタグの設定が表示される
💡 Googleが選択した正規URLとは
Canonicalタグは検索エンジンへの「提案」であり、必ずしも従うとは限りません。Googleが独自の判断で別のURLを正規URLとして選択することもあります。Google Search Consoleで実際にどのURLが正規URLとして扱われているか確認しましょう。

よくある質問(FAQ)

Q1. CanonicalタグとリダイレクトはどちらがSEOに効果的ですか?
完全に別URLに統一したい場合は301リダイレクトの方が効果的です。301リダイレクトはリンク評価を100%近く引き継ぎます。Canonicalタグも同様の効果がありますが、あくまで「提案」なので、検索エンジンが従わない可能性もあります。ただし、ユーザーに元のURLへのアクセスを許可したい場合はCanonicalタグを使用します。
Q2. Canonicalタグを設定すると、元のページはインデックスされなくなりますか?
はい、検索エンジンはCanonicalで指定された正規URLのみをインデックスし、検索結果に表示します。重複URLは検索結果から除外されますが、ユーザーは直接アクセスできます。
Q3. すべてのページにCanonicalタグを設置すべきですか?
はい、Googleは自己参照Canonicalタグをすべてのページに設置することを推奨しています。WordPress 4.4以降では自動的に設定されるため、特別な対応は不要です。
Q4. クロスドメインでCanonicalタグを使用できますか?
はい、異なるドメイン間でもCanonicalタグを使用できます。例えば、コンテンツを配信する複数のサイトがある場合、すべてから元記事のURLをCanonicalとして指定できます。ただし、悪用するとペナルティのリスクがあるため、正当な理由がある場合のみ使用してください。
Q5. CanonicalタグとXML Sitemapの関係は?
XML Sitemapには正規URL(Canonicalで指定したURL)のみを含めることが推奨されます。重複URLをSitemapに含めると、検索エンジンに混乱した信号を送ることになります。
Q6. Canonicalタグを削除するとどうなりますか?
既存のCanonicalタグを削除すると、検索エンジンは自分で正規URLを判断します。重複コンテンツがある場合、意図しないURLが検索結果に表示される可能性や、評価が分散するリスクがあります。

まとめ

Canonicalタグは、重複コンテンツ問題を解決し、SEO評価を正しく集約するための重要な技術です。WordPressでは自動的に設定されますが、ECサイトやパラメータ付きURLを使用するサイトでは、SEOプラグインを使った細かい制御が必要になることもあります。

✅ Canonical設定のチェックリスト
  • すべての重要ページに自己参照Canonicalタグが設定されている
  • 重複コンテンツには適切な正規URLが指定されている
  • Canonicalタグは絶対URLで記述されている
  • 1ページに複数のCanonicalタグがない
  • noindexとCanonicalを同時に使用していない
  • Google Search Consoleで正規URLが正しく認識されている

定期的にGoogle Search ConsoleやSEOツールでCanonical設定を確認し、検索エンジンが意図通りに正規URLを認識しているかチェックしましょう。

関連用語