「canonicalタグを入れておけば、URLの正規化は済んでいる」。WordPressやSEOプラグインが各ページにcanonicalタグを自動で出力するため、設定画面を一度確認して終わりにしているサイトは多いはずです。タグが出ている以上、Googleもその指定どおりに扱ってくれると考えるのは自然なことでしょう。
しかし、これまで多くのサイトで「検索結果に思ったURLが出ない」原因を調べてきた弊社の立場から言えるのは、正規化は、URLに関わる指示をすべて同じ1つにそろえる作業だということです。Googleの解説でも、canonicalタグはリダイレクトやサイトマップと並ぶシグナルの1つとして扱われています。
本記事では、URL正規化の意味から、301リダイレクトとcanonicalタグの使い分け、Search Consoleでの確認までを、公開後の検索対策に携わってきた制作会社の視点で順を追ってお伝えします。
- URL正規化は、同じ内容を表示する複数のURLから、検索結果に出す1つを決めてGoogleに伝える作業
- 重複URLがあってもペナルティは受けないが、どのURLが表示されるかをGoogleの判断に任せることになる
- 入口を1つにまとめられる重複は301リダイレクト、両方のURLを残す重複はcanonicalタグで対処する
- canonicalタグを入れても、内部リンクやサイトマップが別のURLを指していると指定が採用されないことがある
- 設定後はSearch ConsoleのURL検査で「Googleが選択した正規URL」を確かめる
URL正規化とは?正規URLとの関係
URL正規化とは、同じ内容のページが複数のURLで表示されるときに、代表とするURLを1つ決めて検索エンジンに伝えることです。この代表のURLを正規URLと呼びます。
たとえば、次の4つのURLは、サーバーの設定しだいで同じトップページを表示します。
http://example.com/
https://example.com/
https://www.example.com/
https://www.example.com/index.html人の目には同じページでも、検索エンジンにとっては別々のURLです。Googleは重複しているURLの中から1つを正規URLとして選び、検索結果にはそのURLを表示します。
つまり、正規化をしていなくてもGoogleは何かしらのURLを選びます。サイト側が正規化をする意味は、その選択をGoogle任せにせず、自分で指定することにあります。

URL正規化が必要な理由
重複URLそのものは珍しいものではありません。それでも正規URLを指定しておくべき理由は、次の3つです。
検索結果に出すURLを自分で選ぶため
正規URLを指定しないと、Googleは重複の中から自ら判断して1つを選びます。その結果、広告計測のパラメーターが付いたURLや、wwwの有無が社内の表記と違うURLが検索結果に出ることがあります。検索結果に出すURLは、名刺や広告に載せているURLとそろえておきましょう。
評価を1つのURLに集めるため
ほかのサイトからのリンクが、wwwありとwwwなしに分かれて張られていることは珍しくありません。正規URLを伝えておくと、Googleは重複URLに集まったリンクなどのシグナルを、正規URLにまとめて扱います。
クロールの手間を重複URLに使わせないため
並べ替えや絞り込みでURLが増えるECサイトでは、同じ商品一覧が何通りものURLで表示されることもあります。Googleが同じ内容を何度も読みに行く分だけ、新しいページを見つけるまでに時間がかかる可能性があります。
重複URLがあっても、ペナルティを受けるわけではありません。Googleは、重複コンテンツはスパムに関するポリシーの違反ではないと説明しています。正規化は罰を避けるための作業ではなく、表示されるURLと評価の集まる先を自分で決めるための作業です。
※ 出典:Google 検索セントラル「URL 正規化とは何か」

重複URLが生まれる典型的なパターン
重複URLの多くは、サーバーやCMSの初期設定から生まれます。サイトを作った人が意図していなくても、次のような表記の違いで同じページが開けてしまいます。
パターン | 同じページに届くURLの例 | 主な直し方 |
|---|---|---|
httpとhttps | `http://example.com/` と `https://example.com/` | 301リダイレクト |
wwwの有無 | `https://example.com/` と `https://www.example.com/` | 301リダイレクト |
index.htmlの有無 | `https://www.example.com/` と `https://www.example.com/index.html` | 301リダイレクト |
末尾のスラッシュの有無 | `/blog/` と `/blog` | 301リダイレクト |
大文字と小文字 | `/Blog/` と `/blog/` | 301リダイレクト |
計測や並べ替えのパラメーター | `/items/?sort=price` と `/items/` | canonicalタグ |
PCとスマホで別のURL | `www.example.com/` と `m.example.com/` | canonicalタグとalternate |
表の中で見落としやすいのが、大文字と小文字の違いです。Googleは、URLの大文字と小文字を区別して扱うと明記しています。
上の5つは、サーバー側で一度設定すれば全ページに効くものです。httpsとwwwの転送は、ページ数に関係なく最初に設定するのが基本です。
301リダイレクトとcanonicalの使い分け
正規URLをGoogleに伝える方法は、主に3つあります。Googleはリダイレクトとcanonicalタグを強いシグナル、サイトマップを弱いシグナルと位置づけています。
| 301リダイレクト | canonicalタグ | サイトマップ | |
|---|---|---|---|
| Googleへのシグナル | 強い | 強い | 弱い |
| 重複URLを開いた人 | 正規URLへ転送される | そのまま閲覧できる | そのまま閲覧できる |
| 向いている重複 | 入口を1つにまとめられるもの | 両方のURLを残す必要があるもの | ほかの方法の補助 |
| 設定する場所 | サーバーの設定ファイルなど | 各ページのhead内 | sitemap.xml |
使い分けの基準は、重複URLを開けるまま残す必要があるかどうかです。入口を1つにできる重複は301リダイレクト、両方残す重複はcanonicalタグと覚えておけば、迷う場面はほとんどありません。

301リダイレクトで入口を1つにする
httpとhttps、wwwの有無のように、どちらのURLも残す理由がない重複は、301リダイレクトで正規URLへ転送します。Apacheのサーバーなら、`.htaccess`に次のように書くと、httpやwwwなしのURLをまとめて`https://www.example.com/`へ転送できます。
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]リダイレクトには、永続的な301と308、一時的な302と307があります。永続的なリダイレクトでは検索結果に転送先が、一時的なリダイレクトでは転送元が表示されます。正規化の目的で使うのは、永続的な301です。
レンタルサーバーやCDNを経由している環境では、上の書き方ではhttpsの判定が効かず、転送が繰り返されることがあります。書き換える前に設定ファイルを控えておき、反映後はすぐに各URLを開いて確かめてください。
条件別の書き方は、.htaccessのリダイレクトの解説記事と301リダイレクトの設定方法の解説記事で詳しく扱っています。
canonicalタグで正規URLを指定する
並べ替えのパラメーターが付いた一覧ページや、広告の計測用URLは、転送してしまうと機能しなくなります。こうした重複は、各ページのhead内にcanonicalタグを書いて正規URLを伝えます。
<link rel="canonical" href="https://www.example.com/items/" />hrefには、`https://`から始まる絶対URLを書きます。Googleは、相対パスでの指定は長期的に問題が起きる可能性があるとして勧めていません。正規URLのページ自身にも、自分を指すcanonicalタグを入れておきます。
PDFのようにhead内にタグを書けないファイルは、HTTPヘッダーでcanonicalを送る方法があります。タグの書き方の詳細は、canonicalタグの解説記事を参考にしてください。
サイトマップと内部リンクで補う
サイトマップに載せたURLは、正規URLの候補としてGoogleに伝わります。単独ではシグナルが弱いため、リダイレクトやcanonicalタグと同じURLを載せて、指示をそろえる役割で使います。
内部リンクも同じです。Googleは、サイト内でリンクするときは重複URLではなく正規URLにリンクするよう案内しています。
※ 出典:Google 検索セントラル「重複した URL を統合する」

URL正規化の確認方法
設定したら、実際のURLで結果を確かめます。ブラウザとSearch Consoleがあれば、次の手順で確認できます。
httpで始まるURL、wwwなしのURL、index.htmlを付けたURLなどを入力し、アドレスバーが正規URLに切り替わるかを見ます。
ブラウザの開発者ツールのネットワークタブで、転送が301になっているか、転送が2回以上続いていないかを見ます。
ソースを表示して「canonical」で検索し、hrefが正規URLの絶対URLになっているかを確かめます。
URL検査の結果にある「ユーザーが指定した正規URL」と「Googleが選択した正規URL」が一致しているかを見ます。
最後の手順がいちばん大切です。canonicalタグはGoogleにとって強いヒントですが、必ず従う命令ではありません。ブラウザでの確認がすべて正しくても、Googleが別のURLを選んでいることはあります。

canonicalが採用されない原因
では、Googleが指定と違うURLを選ぶのはなぜか。記事公開後の相談で原因を調べると、タグの書き方の誤りより多いのが、サイト内の指示が別々のURLを指している状態です。
Googleは正規URLを選ぶときに、canonicalタグだけでなく、リダイレクト、サイトマップ、内部リンク、HTTPSかどうかを合わせて見ています。そのため、タグと内部リンクが食い違っていると、タグの指定が採用されないことがあるのです。
サイト内で起きやすい食い違い
次のような状態は、サイトを作った後の更新や設定変更で生まれます。
- canonicalタグはwwwありを指すのに、メニューやパンくずの内部リンクがwwwなしのURL
- サイトマップに、パラメーター付きURLや転送元のURLが載っている
- canonicalタグの指定先が、さらに別のURLへリダイレクトされている
- 正規URLにしたいページに、noindexが付いている
- 1つのページに、別々のURLを指すcanonicalタグが2つ出力されている
とりわけ見落とされがちなのが、サイトのリニューアルやhttps化の後に残る古い内部リンクです。記事本文に手で書いたリンクは、テーマやプラグインの設定を変えても書き換わりません。
canonicalタグ、内部リンク、サイトマップの指すURLを1つにそろえる。正規化の設定で最後に確かめるのは、この一点です。
正規化で使ってはいけない方法もあります。robots.txtでのブロックは、正規化に使わないようGoogleの解説に明記されています。Search ConsoleのURL削除ツールも、URLのすべてのバージョンが検索結果から消えるため、正規化の手段にはなりません。

食い違いを見つけた後の直し方
直す順番は、内部リンクとサイトマップを正規URLの表記にそろえてから、Googleに読み直してもらう流れです。
canonicalタグは正しく書いたのに、URL検査で「Googleが選択した正規URL」が別のURLになっています。タグが壊れているのでしょうか。
編集部
タグの書き方が正しくても起きることです。Googleはタグだけでなく、サイト内のリンクやサイトマップがどちらのURLを指しているかも見て選びます。まず、メニューや記事本文のリンク、sitemap.xmlに載っているURLが、タグで指定したURLと同じ表記になっているかを確かめてください。
内部リンクの書き換えとサイトマップの修正を済ませたら、URL検査からインデックス登録をリクエストします。反映までの期間は決まっておらず、Googleが該当のURLを読み直してから切り替わります。
canonicalを入れたのに、Googleが別のURLを選び続けていませんか
正規URLの食い違いは、内部リンク、サイトマップ、リダイレクトを1ページずつ確かめないと見つかりません。Writers-hubのSEO・AI検索対策では、Search Consoleのデータとサイト内の設定を照らし合わせ、どのURLにそろえるかの判断からご相談いただけます。
似た内容の記事をcanonicalでまとめてよいか
記事を書き続けているサイトでは、同じテーマの記事が2本、3本と増えていきます。検索順位の食い合いを避けるために、片方の記事からもう片方へcanonicalタグを向けたいという相談を受けることがあります。
結論から言えば、おすすめしません。canonicalタグは、同じ内容か、ほぼ同じ内容のページのためのものです。見出しや結論の違う記事どうしにcanonicalを向けても、Googleは別のページと判断して指定を採用しない可能性があります。
採用された場合も、正規URLにならなかった記事は検索結果に出なくなります。その記事にしか書いていない内容は、検索した人に届かないまま残ることになります。
- 2本の記事の内容を1本に集められる
- 外部からのリンクも統合先へ引き継がれる
- 読者がどちらのURLを開いても同じ記事に届く
- 残す記事を決め、もう片方の内容を書き足す手間がかかる
- 重なる説明を削らないと、統合先の記事が長くなりすぎる
- 転送元の記事への内部リンクは、統合先のURLへ書き換える
内容の違う記事はcanonicalでなく統合と301で1本にする。どちらの記事の見出しと情報を残すかは、検索した人の疑問に答えている部分を基準に選びます。
URL正規化のよくある質問
URL正規化について、制作の現場でよく受ける質問をまとめました。
受けません。Googleは、重複コンテンツはスパムに関するポリシーの違反ではないと説明しています。ただし、検索結果にどのURLが出るかはGoogleの判断に任せることになります。
httpとhttps、wwwの有無の転送は、ページ数に関係なく設定しておきましょう。サーバー側で一度設定すれば全ページに効きます。パラメーター用のcanonicalは、並べ替えや広告計測でURLが増えるサイトで検討すれば足ります。
使えません。URLパラメータツールは2022年に提供を終えています。パラメーター付きURLは、canonicalタグで正規URLを伝え、内部リンクにはパラメーターのないURLを使って対処します。
WordPressは、投稿や固定ページに自身を指すcanonicalタグを標準で出力します。残る作業は、httpsとwwwの転送と、管理画面の「設定」から「一般」にあるWordPressアドレスとサイトアドレスを正規URLの表記にそろえることです。
まとめ|URL正規化は「タグ」より「そろえる」で決まる
URL正規化は、同じページに届く複数のURLのうち、検索結果に出す1つを決めてGoogleに伝える作業です。canonicalタグを入れることは作業の一部で、ほかの指示と同じURLを指していなければ採用されないことがあります。
- httpとhttps、wwwの有無、index.htmlの有無を301リダイレクトで1つにする
- パラメーター付きURLには、正規URLを指すcanonicalタグを入れる
- 内部リンクとサイトマップを正規URLの表記にそろえる
- URL検査で「Googleが選択した正規URL」が指定と一致しているか確かめる
私たち合同会社Writers-hubは、記事の制作から公開後の検索対策まで、検索した人が正しいURLで答えにたどり着けるサイトづくりを支援しています。
同じテーマの記事が増え、どれを残すか決めきれていませんか
似た内容の記事をcanonicalでまとめる前に、記事どうしの内容を読み比べ、残す記事と統合する記事を決める作業が必要です。Writers-hubのSEO記事コンテンツ作成では、既存記事の統合や書き直しから、新しい記事の制作までをお引き受けします。







