COLUMN
COLUMN
2026.05.22
canonicalタグ(カノニカルタグ)は、同じ内容のページが複数のURLで存在するとき「このURLが正解です」と検索エンジンに伝えるHTMLタグです。正しく設定することで、SEO評価の分散を防ぎ、特定のページに評価を集中させることができます。この記事では、canonicalタグの基本概念から具体的な記述方法・WordPressでの設定・よくあるミスまでを2026年現在の情報をもとに解説します。
canonicalタグとは、HTMLの<head>タグ内に記述する<link>タグの一種です。「canonical(カノニカル)」は「正規の・正典の」という意味で、複数のURLに同じコンテンツが存在するとき、どれが「正規のURL」なのかを検索エンジンに示す役割を持ちます。
Googleなどの検索エンジンは、同一コンテンツが複数のURLで存在する状態を「重複コンテンツ」として認識します。重複コンテンツが発生すると、次のような問題が起こります。
canonicalタグを設定することで、分散した評価を1つのURLに集約し、意図したページを検索結果に表示させることができます。
canonicalタグは2009年にGoogle・Yahoo・Microsoftの3社が共同で提唱・サポートを開始した仕様です。当初からSEOの重要な内部対策として認識されていました。2026年現在、HTTPSが事実上の標準となったこともあり、「HTTPSを正規URLにする」「wwwあり・なしを統一する」といった基本的なURL正規化の重要性は変わらず、むしろSEO対策の基盤として必須の要素とされています。
canonicalタグは「ヒント」です。Googleはcanonicalを尊重しますが、最終的にどのURLを正規として扱うかはGoogleが判断します。設定すれば必ず従ってもらえるわけではありません。
canonicalタグを使う代表的なケースを整理します。自サイトが以下の状況に該当していないか確認してみましょう。
1. www有りと無しが両方アクセス可能
https://www.example.com/
https://example.com/
どちらも同じトップページを表示する設定になっている場合、2つの別URLとして認識されます。
2. HTTPとHTTPSが混在
http://example.com/page/
https://example.com/page/
SSL化が不完全だと、HTTPとHTTPSの両方でアクセスできる状態になっているケースがあります。
3. index.htmlあり・なし
https://example.com/
https://example.com/index.html
サーバーによってはどちらでも同じページが表示されます。
4. URLパラメーターによる重複
https://example.com/column/123/
https://example.com/column/123/?ref=sns
https://example.com/column/123/?source=newsletter
アクセス解析のUTMパラメーターやセッションIDが付いたURLが検索エンジンにクロールされると、別URLとして認識されます。
5. 印刷用ページやページネーション
https://example.com/products/
https://example.com/products/print/
https://example.com/products/?page=1
印刷用に別途用意したページや、商品一覧のページング(1ページ目、2ページ目…)にも注意が必要です。
6. ECサイトでの色・サイズ違い商品
https://example.com/item/shirt/?color=red
https://example.com/item/shirt/?color=blue
同じ商品の色違いをURLパラメーターで区別している場合に重複が発生します。
まったく同一ではなくても、内容の大部分が重複するページ(例:別カテゴリに同じ記事を掲載、シンジケーションコンテンツなど)にもcanonicalの設定が推奨されます。
canonicalタグは<head>と</head>の間に記述します。
<link rel="canonical" href="https://example.com/column/123/">
rel="canonical" は固定の値(変更不可)href に正規URLを絶対URLで記述するGoogleは2026年現在、正規ページ自身にもcanonicalタグを記述する「selfリンク」を推奨しています。重複URLが存在しないページであっても、自分自身のURLをcanonicalとして指定しておくことで、Googleが誤った正規化を行うリスクを下げられます。
<!-- https://example.com/column/123/ 自身に記述する場合 -->
<link rel="canonical" href="https://example.com/column/123/">
<!-- NG: 相対URLは使わない -->
<link rel="canonical" href="/column/123/">
<!-- NG: httpとhttpsが一致していない -->
<link rel="canonical" href="http://example.com/column/123/">
<!-- OK: HTTPSの絶対URLで記述 -->
<link rel="canonical" href="https://example.com/column/123/">
同じコンテンツを別ドメインでも公開している場合(メディアシンジケーションなど)は、クロスドメインcanonicalを設定することでオリジナルサイトに評価を集めることができます。
<!-- サブサイトやシンジケーション先のページに記述 -->
<link rel="canonical" href="https://original-site.com/column/123/">
クロスドメインcanonicalはGoogleがサポートしていますが、悪用リスクもあるため設定後はGoogleサーチコンソールで認識状況を確認することを推奨します。
WordPressを使っている場合、手動でHTMLを編集しなくてもSEOプラグインを使って簡単に設定できます。
WordPress 4.6以降、投稿・固定ページには自動的にcanonicalタグが出力されます。ただし、URLパラメーターや複雑なURL構造には対応していないため、SEOプラグインの利用が推奨されます。
Yoast SEOは国内外で広く使われているSEOプラグインです。
サイト全体の設定は「SEO > 検索での見え方 > カノニカル URL」から確認できます。
AIOSEOも多くのWordPressサイトで使われているSEOプラグインです。
プラグインを使いたくない場合は、テーマのfunctions.phpにコードを追加することでも対応できます。ただし、テーマのアップデートで上書きされる可能性があるため、子テーマを使うことを強く推奨します。
// 子テーマの functions.php に追記
function add_canonical_tag() {
if ( is_singular() ) {
echo '<link rel="canonical" href="' . esc_url( get_permalink() ) . '">' . "\n";
}
}
add_action( 'wp_head', 'add_canonical_tag' );
Yoast SEOやAIOSEOなどのプラグインをすでに使っている場合、functions.phpへの追記と二重にcanonicalタグが出力されるケースがあります。必ず重複していないかソースを確認してください。
canonicalタグは記述を誤ると意図しないページに評価が流れてしまう危険があります。よくあるミスを確認しておきましょう。
<!-- NG -->
<link rel="canonical" href="/column/123/">
<!-- OK -->
<link rel="canonical" href="https://example.com/column/123/">
相対URLでも多くの場合は動作しますが、Googleの公式ガイドラインでは絶対URLの使用が推奨されています。意図しないURL解釈を防ぐためにも絶対URLで記述しましょう。
canonicalに指定したページが404(ページが見つからない)を返す場合、Googleはcanonical指定を無視します。canonical先が正常にアクセスできるか必ず確認してください。
ページのソースに<link rel="canonical">が2つ以上あると、Googleはどちらを採用すべきか判断できず、両方無視する場合があります。WordPressではテーマのheader.phpとプラグインが同時にcanonicalを出力するケースがあるため注意が必要です。
301リダイレクトでAページをBページに転送している場合、Aページのcanonicalも正規URL(B)に設定するのが正しい対応です。リダイレクト元のURLをcanonicalにすると評価が正しく集約されません。
あるページにnoindexメタタグを設定しながら、別ページのcanonicalとして指定されている場合、Googleはその指定を評価できません。noindexにするページは原則canonicalとして指定しないようにしましょう。
記事や商品リストが複数ページに分かれている(ページネーション)場合、すべてのページを1ページ目にcanonical指定してしまうと、2ページ目以降の内容がインデックスされなくなります。ページネーションには各ページのself canonical(自分自身のURLを正規指定)を使うのが現在の推奨です。なおrel="next" / rel="prev"はGoogleのSEOシグナルとしては使用されていません。
canonicalタグと301リダイレクトは、どちらも「正規URLに評価を集める」目的で使われますが、仕組みと用途が異なります。
301リダイレクトは、HTTPレスポンスレベルで「このURLは恒久的に移動しました」と伝える仕組みです。旧URLにアクセスしたユーザーは自動的に新URLに転送され、ブラウザにも移動先URLが表示されます。
| 項目 | canonical タグ | 301リダイレクト |
|---|---|---|
| ユーザーへの影響 | なし(旧URLのまま表示) | 新URLに自動転送される |
| SEO評価の移行 | 検索エンジンへのヒント | より確実に評価が移行される |
| 設定の場所 | HTMLの<head>内 |
サーバー設定(.htaccess等) |
| 複数URLの共存 | できる(旧URLも生きている) | 旧URLは無効化される |
| 確実性 | Googleが必ず従うとは限らない | 基本的に確実に機能する |
301リダイレクトを使うべきケース
canonicalタグを使うべきケース
最も確実なのは301リダイレクトです。canonicalタグは「できれば従ってほしい」ヒントに過ぎないため、サーバーの設定が可能な場面では301リダイレクトと組み合わせて使うのが理想的です。
Apacheサーバーで.htaccessを使う場合の例を示します。
# wwwあり → wwwなしに統一する場合
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
# HTTPをHTTPSにリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
301リダイレクトで旧URLを新URLに統一したうえで、新URLのページにselfのcanonicalタグを記述しておくのがベストプラクティスとされています。
設定したcanonicalタグが正しく機能しているか確認する方法を紹介します。
対象ページを開き、右クリック→「ページのソースを表示」でHTMLを確認します。<head>内に以下のような記述があれば設定されています。
<link rel="canonical" href="https://example.com/column/123/">
Googleサーチコンソールの「URL検査」ツールを使うと、Googleが実際にそのページをどのURLで正規化しているかを確認できます。
ここに表示されたURLが、Googleが正規と判断しているURLです。設定したcanonicalと異なる場合は、重複の問題やcanonicalの記述ミスがないか再確認しましょう。
ChromeなどのブラウザのDevToolsを使って確認することもできます。
<head>タグ内を検索(Ctrl+Fで「canonical」と検索)Q. canonicalタグを設定しないとSEOに悪影響がありますか?
A. 必ずしも悪影響があるとは限りませんが、重複URLが存在する場合はSEO評価が分散するリスクがあります。特にwwwあり・なし、HTTP・HTTPSが混在している場合は設定することを推奨します。重複コンテンツがないシンプルなサイトでも、selfリンクとして自ページのURLを指定しておくことがGoogleのベストプラクティスとされています。
Q. canonicalタグを設定してもGoogleが無視することはありますか?
A. あります。canonicalタグはGoogleへの「ヒント」であり、命令ではありません。Googleはページの内容やリンク構造などを総合的に判断して正規URLを決定するため、指定したcanonicalが採用されないケースもあります。Googleサーチコンソールの「URL検査」で実際にGoogleが認識している正規URLを確認することをおすすめします。
Q. WordPressのSEOプラグインを使えば自動でcanonicalが設定されますか?
A. Yoast SEOやAIOSEOを導入している場合は、各投稿・固定ページに対して自動的にcanonicalタグが出力されます。また、WordPressのバージョン4.4以降は標準機能でもcanonicalが出力されますが、URLパラメーターや複雑な構成の場合はSEOプラグインを使うほうが確実に管理できます。
Q. canonicalタグと301リダイレクトを両方設定する必要はありますか?
A. 状況によります。URLを完全に変更する場合は301リダイレクトだけで十分です。一方で、URLパラメーターが付いたページや削除できないURLへの対処にはcanonicalタグが適しています。恒久的なURL変更には301リダイレクトを優先し、canonicalはそれを補完する形で使うのがベストプラクティスです。
Q. ページネーション(記事一覧の2ページ目以降)にはcanonicalをどう設定すればいいですか?
A. ページネーションの各ページには、そのページ自身のURLをcanonicalとして設定するのが現在の推奨です。かつてはrel=”next” / rel=”prev”が推奨されていましたが、GoogleはこれをSEOシグナルとしては使用しないと発表しています。各ページのself canonicalを設定しておけば、コンテンツが正しくインデックスされやすくなります。
canonicalタグは、重複URLによるSEO評価の分散を防ぐための重要な内部対策です。この記事で解説したポイントをまとめます。
<head>内に<link rel="canonical" href="正規URL">の形式で記述するcanonicalタグの設定は一度やってしまえば管理コストが低く、SEOの土台を整えるうえで効果的な施策です。まずはサイトに重複URLがないかをチェックするところから始めてみましょう。
SEOの内部対策についてさらに詳しく知りたい方は、こちらの記事も参考にしてみてください。
WEB DESIGN & DEVELOPMENT
大阪でホームページ制作をご検討の方へ
集客・ブランディングに強いWebサイトを、大阪の専門チームがご提案!
まずはお気軽に無料相談からどうぞ
大阪でweb制作会社に見積もりを取ると、10万円台から500万円超まで金額が大きく異なることがあります。…
view more
大阪でweb制作会社を探している方が最も困るのが「どの会社を選べばいいかわからない」という判断基準の…
view more
大阪市内でホームページ制作を依頼しようとしている中小企業・個人事業主の方に向けて、制作会社の選び…
view more