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タグを設置すると、検索エンジンは以下のように処理します:
- 複数のURLで同じまたは類似したコンテンツを発見
- 各ページのCanonicalタグを確認
- Canonicalタグで指定されたURLを「正規URL」として認識
- 正規URLに評価を集約し、検索結果に表示
- 他の重複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サイトの商品ページ
商品が複数のカテゴリーやフィルター条件でアクセスできる場合:
- /category-a/product-123/
- /category-b/product-123/
- /products/product-123/?color=red
- /sale/product-123/
→ 1つのメインURLをCanonicalとして指定
2. ページネーション(ページ分割)
記事一覧が複数ページに分かれている場合:
- /blog/page/1/
- /blog/page/2/
- /blog/page/3/
→ 各ページに自己参照Canonicalを設置(rel="next"とrel="prev"も併用)
3. プリント用ページ
印刷用の別URLがある場合:
- 通常版:/article/
- 印刷版:/article/print/
→ 印刷版から通常版へCanonicalを設定
4. モバイル版ページ(別URL)
モバイル専用URLがある場合:
- PC版:https://example.com/page/
- モバイル版:https://m.example.com/page/
→ モバイル版からPC版へCanonicalを設定(ただしレスポンシブデザインの方が推奨)
5. A/Bテスト
同一内容で異なるデザインをテストする場合:
- バージョンA:/page/?variant=a
- バージョンB:/page/?variant=b
→ 両方から/page/へCanonicalを設定
6. パラメータ付きURL
トラッキングやソート条件のパラメータ:
- /products/?utm_source=facebook
- /products/?sort=price
- /products/?ref=twitter
→ すべて/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での設定例:
- 投稿編集画面の下部「Yoast SEO」セクションを開く
- 「詳細設定」タブをクリック
- 「Canonical URL」欄にURL設定(通常は自動)
- 必要に応じてカスタム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タグは「検索エンジンへの提案」であり、ユーザーをリダイレクトするものではありません。
- Canonicalタグ:検索エンジンに正規URLを伝える(ユーザーは元のURLにアクセス可能)
- 301リダイレクト:ユーザーと検索エンジンの両方を別URLに転送する
💡 使い分けの基準
- ユーザーに元のURLへのアクセスを許可したい → Canonical
- 完全に別URLに統一したい → 301リダイレクト
Canonicalタグの確認方法
方法1: ページのソースコードを確認
- ブラウザでページを開く
- 右クリック→「ページのソースを表示」
- <head>セクション内を確認
- <link rel="canonical"...を探す
方法2: ブラウザの開発者ツール
- F12キーで開発者ツールを開く
- 「Elements」または「要素」タブを選択
- <head>セクションを展開
- Canonicalタグを確認
方法3: SEOツールを使用
おすすめツール:
- Google Search Console - URL検査ツールでCanonical設定を確認
- Screaming Frog SEO Spider - サイト全体のCanonicalタグを一括チェック
- Ahrefs Site Audit - Canonical関連の問題を自動検出
- SEOチェキ - 無料のオンラインツール
Google Search Consoleでの確認
- Google Search Consoleにログイン
- 左メニュー「URL検査」を選択
- 確認したいURLを入力
- 「Googleが選択した正規URL」を確認
- 「ユーザーが指定した正規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を認識しているかチェックしましょう。