1分で読了エンジニアリング

canonicalタグと301リダイレクトの正しい選び方

Googleはどちらも強いシグナルとしますが、301が最も強く旧URLを無効にし、canonicalは両方を有効に保ちます。重複URLの四つのケースで比較します。

Marius Voß
DevRel · edge infra

canonicalタグは、どのURLをマスターコピーとして扱ってほしいかを検索エンジンに伝えます。Googleはこれを命令ではなく、強いシグナルと呼んでいます。301リダイレクトはGoogleがリストする中で最も強いシグナルで、すべての訪問者とクローラーを一つのURLに送り、旧URLは応答しなくなります。判断はこの一文に尽きます。両方のURLが人間向けに動き続ける必要があるときはcanonicalタグを使います。一方のURLだけが存在すべきなら301を使います。

この二つが混同されるのは、似通ったURL間でランキングシグナルが分散する重複コンテンツという同じ問題に、異なる仕組みで取り組むからです。canonicalは、ページのheadやHTTPヘッダーに残すシグナルです。リダイレクトは、ブラウザが自動的にたどるHTTPレスポンスです。取り違えると、必要だったURLを殺してしまうか、同じページの複数のバージョンがインデックスの中で競合したままになります。

301と302の違いよりも、この説明を何度もしてきたので、初めて聞かれたときにあってほしかったと思うバージョンをここに書きました。ステータスコードの問題でここに来た方は、301 vs 302 リダイレクトで詳しく扱っています。この記事は、別の分かれ道についてです。

canonicalタグと301リダイレクト: 二つの強さのシグナル

rel=canonicalタグはページの<head>の中にあります: <link rel="canonical" href="https://example.com/preferred-url" />。Search Centralの重複URLに関するドキュメント (2026-10-24 閲覧) は、正規化を伝える三つの方法を、強い順に、リダイレクト、rel=canonicalアノテーション、サイトマップへの記載とリストしています。canonicalタグはそこで「強いシグナル」とされています。省略すると、検索エンジンがバージョンを自分で選びます。両方のURLは有効なままで、人はどちらを訪れても200のレスポンスを得られ、タグが変えるのは検索結果に表示されるものだけで、ブラウザが到達できるものではありません。PDFなどのHTML以外のファイルには、同じシグナルをLink: <https://example.com/file.pdf>; rel="canonical"というHTTPヘッダーとして送れます。URLごとに方法は一つに絞ってください。複数を混ぜるとミスが起きやすくなります。

301リダイレクトはリクエスト自体に応答します。旧URLを要求すると、新しいURLに送られます。301または308は、遷移先を正規にすべきだとGoogleに伝え、ドキュメントは移転が元に戻らないと確信している場合にのみ使うよう述べています (Search Central、リダイレクトのページ、2026-10-24 閲覧)。一時的なコード (302、303、307) もたどられますが、遷移先を正規にはしないため、元のURLが検索結果に残ることがあります。廃止したページには恒久的なコードが必要で、キャンペーンリンクには不要なのは、そのためです。

実践的なテストは二つの条件に集約されます。

  • 両方のURLが実際の訪問者のために解決され続ける必要があるなら、canonicalを使う。
  • 今後は一方のURLだけが存在すべきなら、リダイレクトを使う。どのコードがどの種類の恒久性に合うかは、URLリダイレクトの種類が参考になります。
両方が人間に到達可能なまま、あるURLから別のURLを指すヒントとして示されたcanonicalタグと、旧URLが応答しなくなる指示として示された301リダイレクトの対比

どちらのツールも同じ問題に反対側から取り組みます。リダイレクトは人間が二度と訪れるべきではないURL向け、canonicalは人間が正当に訪れるかもしれないURL向けです。

重複コンテンツに別の対処が必要な四つの状況

四つの状況が頻繁に現れ、それぞれに正しいシグナルは一つだけです。対応を逆にすると、稼働中のワークフローを孤立させるか、おとりをインデックスに残してしまいます。

パラメータ付きのURL

トラッキングパラメータやセッションIDが付いたURL、たとえば?ref=partnerや?sessionid=abc123は、機能的にはクリーンなバージョンと同じページで、余計なものを運んでいるだけです。リダイレクトで排除するのは通常は間違いです。パラメータはリクエストを通じて残る必要があることが多いからです。紹介コード、A/Bバケット、セッションの引き継ぎなどです。対処法は、クリーンなURLに自己参照のcanonicalを置くことです。そうすればパラメータ付きのバージョンも到達可能なまま、タグが検索エンジンに、ノイズのないバージョンをインデックスするよう伝えます。

キャンペーンタグ付きのURL

マーケティングチームが毎日直面するケースです。elido.app/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=august-launchのようなリンクは、タグ付きのまま正確に動き続ける必要があります。UTMパラメータは、分析がキャンペーンやチャネルをまたいで、その訪問をそのニュースレターに紐付ける手段だからです。例外はありません。素の/pricingにリダイレクトすれば、記録される前にアトリビューションを捨てることになります。

canonicalタグはリンクではなく、遷移先のページに置きます。/pricingが<link rel="canonical" href="https://elido.app/pricing" />を宣言し、UTMタグ付きのバリエーションはすべて同じ遷移先を継承します。検索エンジンはクリーンな/pricingを一つインデックスし、分析ではタグがブラウザの要求内容に触れないため、キャンペーンのバリエーションがすべて個別に見えます。一つ注意点があります。一部のブラウザは現在、UTMパラメータを削除したり、アトリビューションが成立する前にそれを読むスクリプトをブロックしたりします。キャンペーンの数字が少なく見える場合は、FirefoxとBraveがUTMアトリビューションに与える影響をご覧ください。それはトラッキングの問題であり、canonicalの問題ではありません。

ページ分割やファセットのページ

答えは、そのURLに検索クエリが求め得るコンテンツがあるかどうかで決まります。アーカイブの2ページ目は1ページ目とは別のコンテンツであり、Googleのページ分割に関するガイダンスは、シーケンス全体の正規として最初のページを使わないよう明言しています。各ページに独自の自己参照canonicalを付けてください (Search Central、ページ分割のページ、2026-10-24 閲覧)。同じカタログを並べ替えるだけのフィルタや並び順は逆のケースです。ページ分割のページは、不要なバリエーションを、noindexやクロール制限でインデックスから外すことを提案しており、URLを到達可能にしておく必要がある場合は、フィルタなしのカテゴリページへのcanonicalもよくある代替手段です。テストは先ほどと同じです。人がそのURLを必要としているか。

廃止したページの統合

ここではcanonicalタグは間違ったツールで、リダイレクトだけが正解です。ページが完全に廃止されたとき、たとえば新しい記事に統合された、カタログの変更で削除されたなどの場合、旧URLが何かに解決され続ける理由はありません。301はそのランキングシグナルをきれいに引き継ぎ、無効なページを流通から外します。削除するつもりのページにcanonicalタグを付けても、孤立したURLがよろよろと残るだけで、クロール可能なまま、劣化もし得ます。これこそリンク切れ防止が捕まえるために存在する失敗の形です。旧ページが本当になくなったのなら、リダイレクトしてください。亡骸を正規化してはいけません。

重複URLの状況を正しいシグナルとその理由に対応付けた4行: パラメータ付きURLは自己参照canonical、キャンペーンタグ付きURLは遷移先のcanonical、ページ分割やファセットのページはケースごとに判断するcanonical、廃止されたページは301リダイレクト

シグナルの強さの一覧

ドキュメントは、正規化を伝える方法をランク付けしています。以下は同じランキングに、それぞれが旧URLに何をするかを加えたものです。

シグナルGoogleの強さの評価旧URLが到達可能なまま用途
301 / 308リダイレクト最も強いいいえ廃止したページ、ドメイン移転
rel=canonical (タグまたはHTTPヘッダー)強いはいトラッキングパラメータ、ほぼ重複したページ
サイトマップへの記載弱いはい他の二つの補強
302 / 303 / 307リダイレクト正規化のシグナルではないいいえ (一時的)短期的な移転、キャンペーン

出典: Google Search Central、重複URLの統合とリダイレクトのページ、2026-10-24 閲覧。

canonicalとリダイレクトが食い違うとき

一つのURLが両方のシグナルを同時に持ち、それらが一致しないことがあります。ページAは301でページBにリダイレクトしますが、ページBは別のページCを指す独自のcanonicalを宣言していて、最初のクリックの出発点から数ホップ離れています。

ドキュメントはリダイレクトをrel=canonicalより上位に置いています。AからBをたどるクローラーはAのタグを必要とせず、Bに着くので、読むのはBが宣言するcanonicalです。BがCを指していれば、一つのチェーンの中でGoogleに二つの異なることを伝えていることになり、結果はもはや予測できません。チェーンの終点にクローラーが着く頃には、上流にあるものはすべてノイズです。

実際の失敗が哲学的であることはまれで、多くは誰も監査していないチェーンです。最終的な遷移先のcanonicalが何年も前の別の移行のために設定され、見直されていないといった具合です。これを解きほぐすには、200を返し自分自身を正規とするURLに着くまですべてのホップをたどり、古くなっているリンクを修正します。きれいな一ホップと、着いた先と一致するcanonicalタグ一つ。それが目指す状態のすべてです。

すべてのページに自己参照のcanonicalが必要な理由

自己参照のcanonicalとは、canonicalタグが自分自身を指すページのことです。/pricingが黙っている代わりに<link rel="canonical" href="https://elido.app/pricing" />を宣言します。冗長に見えます。ページが自分自身であることをなぜ確認する必要があるのでしょうか。これは、URLが偶然重複するあらゆる経路に対する安価な保険です。末尾スラッシュ、大文字小文字の混在するパス、プラグインが付けた余分なクエリ文字列、httpsと並んで残るhttp版などです。どれも、どのコピーが本物かを示すものがなければ、別のほぼ同一のURLとしてインデックスされ得ます。

これがない場合、Googleは「客観的に最良」と判断したバージョンを特定して表示するとしています。たいていはうまくいきますが、うまくいかないときは、間違ったURLが上位に出ているのを見て気づくことになります。インデックス可能なすべてのページに明示的に設定すれば、曖昧さが問題になる機会は生じません。

短縮リンクと正規URLの関係

短縮リンクは、ここに属するように見えて、ほとんど属さない疑問を生みます。s.elido.me/abc123は、遷移先を指すcanonicalタグが必要なのでしょうか。いいえ。短縮リンクのホストは、訪問者を送るページの重複ではありません。それ自体にコンテンツのない住所です。Elidoのリダイレクトサービスはデフォルトで302を返し、リンクごとに301や307に設定することもできます。Googleは301を遷移先の正規化のシグナルとして扱い、一時的なコードはそのようには扱わないため、301 vs 302 リダイレクトを念頭にリンクごとに選んでください。Elidoはリダイレクトのレスポンスにcanonicalヘッダーを追加せず、その必要もありません。正規化は、インデックスされ得るページのためのものであり、短縮リンクはそもそもその候補ではありません。

重要なcanonicalタグは遷移先のページにあり、訪問者が他の経路で到着した場合とまったく同じです。s.elido.me/summer-saleがyoursite.com/sale?utm_source=twitterに人を送るなら、canonicalの作業は、先ほどのキャンペーンタグ付きURLのケースのままで、同じようにタグ付けするあらゆるキャンペーンリンクと変わりません。それは短縮リンクではなく、yoursite.com/saleで行われます。スマートリンクで一つの短縮リンクを異なる遷移先にルーティングしても、答えは変わりません。canonicalの作業は、訪問者が着いた場所で行われます。リダイレクト自体の仕組みについては、URLをリダイレクトする方法をご覧ください。

二つのシグナルを分けて考えれば、短縮リンクに対するSEO上の不安はほとんど根拠がありません。リダイレクトは自分のシグナルを渡し、遷移先のcanonicalは自分のシグナルを扱い、互いに汚染しないからです。この問いの残りはURL短縮サービスはSEOに悪影響を与えるかで扱っています。

ページが実際にどのシグナルを送っているかの確認方法

推測せずに、両方のシグナルを直接確認してください。まずリダイレクトからです。

curl -sI "https://example.com/old-page"

Locationヘッダー付きの301または308は恒久的な移転を意味し、302、303、307は一時的なものです。3xxステータスがなければリダイレクトはなく、canonicalタグだけが唯一のシグナルになります。canonicalタグ自体を見るには、ページを取得してソースを検索します。

curl -s "https://example.com/page" | grep -i 'rel="canonical"'

Search ConsoleのURL検査ツールは、Googleが実際に選択したcanonicalを表示します。タグとGoogleの選択が異なる可能性があるときの、最後の確認手段です。URLが両方を送っている場合は、どちらが本当の遷移先かを決めつける前に、チェーンを最後までたどってください。両者が一致している、つまりリダイレクトが、自分自身を指すcanonicalを持つURLに着いているとき、シグナルは曖昧さがありません。ランキングに関わるすべてのURLは、この状態であるべきです。

ブログの関連記事

よくある質問

canonicalタグと301リダイレクトの違いは何ですか?

canonicalタグはページのheadにあるヒントで、両方のURLが有効で到達可能なまま、検索エンジンにどのURLを優先するかを伝えます。301リダイレクトはHTTPステータスコードで、すべての訪問者とクローラーを新しいURLに送り、旧URLをサービスから外します。Googleの正規化に関するドキュメントは、リダイレクトを最も強い正規化シグナル、rel=canonicalを強いシグナルとしてランク付けしているため、canonicalは他の証拠に負ける可能性がありますが、恒久的なリダイレクトでは再検討すべき旧ページが残りません。両方のURLがリクエストに応答し続ける必要があるときはcanonicalを、一方だけでよいときはリダイレクトを使います。

重複コンテンツには、canonicalタグと301リダイレクトのどちらを使うべきですか?

重複URLが完全に存在しなくなるべきなら、つまり廃止されたページ、旧ドメイン、恒久的な移転なら、リダイレクトを使います。リダイレクトは、ランキングシグナルを統合すると同時に、無効なURLを流通から外すからです。重複URLが正当な理由で到達可能なままである必要があるとき、たとえばUTMタグ付きのキャンペーンリンク、セッションパラメータ、ほぼ重複したフィルタ済みページなどには、canonicalタグを使います。判断の決め手は、正規として選ばないURLを人が訪れ続ける正当な理由があるかどうかです。

canonicalタグとリダイレクトが食い違うとどうなりますか?

Googleはリダイレクトをrel=canonicalより上位に置いており、リダイレクトをたどるクローラーは、そもそも旧ページのタグに到達しません。遷移先に着いて、そのページが宣言するcanonicalを読むので、有効になるのは遷移先のタグです。食い違いの解決策は、200を返し、自分自身を正規とするURLに着くまで、すべてのホップをたどることです。

UTMパラメータ付きのURLにcanonicalタグは必要ですか?

はい。canonicalタグは遷移先のページに置き、トラッキングパラメータを除いたクリーンなURLを指すようにします。/pricingのようなページは、UTMタグ付きのバリエーションがいくつリンクしていても、自分自身を正規として宣言すべきです。そうすれば検索エンジンはクリーンなURLを一つインデックスし、分析ではタグ付きのバリエーションが個別に記録され続けます。UTMタグ付きのURLをリダイレクトすると、分析ツールが訪問を紐付ける前にパラメータが取り除かれてしまいます。

なぜすべてのページに自己参照のcanonicalタグを置くのですか?

自己参照のcanonical、つまりページが自分自身を優先URLとして宣言することは、末尾スラッシュ、余分なクエリパラメータ、httpsと並んで残るhttp版など、ページが偶然重複するあらゆる経路を塞ぎます。これがないと、Googleは独自のシグナルで正規URLを選びます。通常は正しいものの、まれに間違ったバリエーションを選びます。インデックス可能なすべてのページに明示的に設定すれば、その曖昧さを無料で取り除けます。

短縮リンクにcanonicalタグは必要ですか?

いいえ。短縮リンクはHTTPリダイレクトで応答し、ページのコンテンツがないため、そのURLにはcanonicalタグが解決すべき曖昧さがありません。正規化が重要なのは、コンテンツとしてインデックスされ得るページです。重要なcanonicalタグは、短縮リンクがリダイレクトする遷移先のページにあり、訪問者が他の経路で到着した場合とまったく同じです。

Elidoを試す

URLを貼り付けて短縮リンクを取得

登録不要。リンクは30日間有効。永久に保存するには登録してください。

無料アカウントが必要です。無料プランには合計 25 件のリンクが含まれます。 アカウントをお持ちですか? ログイン

Elidoを試す

EUホスティングのURL短縮サービス。カスタムドメイン、詳細な分析、オープンAPI付き。無料プラン - クレジットカード不要。

タグ
canonical vs 301 redirect
rel=canonical
canonical tag
canonical url
301 redirect
duplicate content

続きを読む