同じ内容のページに複数のURLでアクセスできる状態になっていると、検索エンジンからの評価が分散したり、クロールの効率が低下したりする恐れがあります。
こうした問題を解消するために重要なのが「URLの正規化」です。URLを適切に正規化することで、検索エンジンに評価してもらいたいURLを明確にし、評価を1つのURLに集約しやすくなります。
本記事では、URLの正規化の概要とSEOで重要な理由、正規化が必要な代表的なケース、301リダイレクトとcanonicalタグによる設定方法を解説します。正規化されているかを確認する方法や、設定時の注意点もあわせて紹介するので、URLの重複に悩んでいる方はぜひ参考にしてください。
URLの正規化とは
URLの正規化とは、同一または類似した内容のページに複数のURLでアクセスできる状態から、検索エンジンに評価してもらいたい1つのURLを「正規URL」として示すことをいいます。
たとえば、ドメインの前に「www」があるURLとないURLの両方で同じページにアクセスできる場合、検索エンジンからはそれぞれ別のURLとして認識される可能性があります。このようなケースで、正規URLを明確に指定する作業がURLの正規化です。
適切に正規化を行えば、複数のURLに検索エンジンからの評価が分散するのを防ぎ、狙ったURLに評価を集約しやすくなります。
URLの正規化がSEOで重要な理由
URLの正規化は、検索エンジンからの評価を適切なURLに集約するために欠かせない施策です。
検索エンジンからの評価分散を防ぐため
検索エンジンはURLごとにページを認識するため、同一コンテンツが複数のURLに存在すると、どのURLを検索結果に表示すべきか判断しにくくなります。また、本来1つのURLに集まるはずの評価が複数のURLに分かれてしまうこともあります。
URLを正規化して評価対象を1つに絞れば、評価の分散を防ぎ、正規URLへ評価を集約しやすくなります。
クローラビリティを向上させるため
検索エンジンのクローラーは、Web上のURLを巡回してページ情報を収集しています。同じコンテンツが複数のURLに存在すると、クローラーがそれぞれのURLを巡回することになり、クロールの効率が下がります。
URLを正規化すれば、不要な重複URLへのクロールを抑えられ、重要なページを効率よくクロールしてもらいやすくなります。
被リンクの評価を集約するため
外部サイトから被リンクを獲得した際、同一ページに対して複数のURLが存在すると、それぞれ異なるURLにリンクが張られる場合があります。
たとえば「wwwあり」と「wwwなし」のURLが両方存在すると、双方に被リンクが分かれてしまい、本来1つのURLに集まるはずの評価も分散します。URLを正規化しておけば、被リンクによる評価も正規URLへ集約しやすくなります。
URLの正規化が必要な例
同じ内容のページに複数のURLでアクセスできる場合は、URLの正規化を検討する必要があります。ここでは代表的なケースを紹介します。
wwwの有無どちらのURLでもアクセスできる場合
次のように、「www」があるURLとないURLのどちらでも同じページにアクセスできる場合は、URLの正規化が必要です。
- https://example.com
- https://www.example.com
「www」の有無によってURLは異なるため、検索エンジンから別々のURLとして認識される場合があります。
index.htmlの有無どちらのURLでもアクセスできる場合
URLの末尾に「index.html」があるURLとないURLの両方で同じページにアクセスできる場合も、正規化が必要です。
- https://example.com/
- https://example.com/index.html
同じページを表示していてもURLは別物のため、検索エンジンからは別ページとして扱われる場合があります。
httpとhttpsの両方でアクセスできる場合
「http」と「https」のどちらでも同じページにアクセスできる場合も、URLの正規化が必要です。
- http://example.com
- https://example.com
httpとhttpsはそれぞれ異なるURLとして扱われます。
パラメータの有無で複数のURLが生成される場合
ECサイトなどでは、商品の絞り込み・並び替え・アクセス解析などによって、URLにパラメータが付与されることがあります。たとえば以下のようなURLです。
- https://www.example.com/product?id=123
- https://www.example.com/product?id=123&category=electronics
- https://www.example.com/product?id=123&category=electronics&color=red
パラメータが異なっていても表示内容が同一またはほぼ同じ場合、検索エンジンから別々のURLとして認識されることがあります。
PC・スマートフォンで異なるURLを使用している場合
PCとスマートフォンで同じ内容のページを提供していても、それぞれ別のURLを使用しているケースがあります。
- PC用:https://example.com/page/
- スマートフォン用:https://sp.example.com/page/
このようにデバイスごとに異なるURLで同一のコンテンツを表示している場合も、検索エンジンにPC用ページとスマートフォン用ページの関係を適切に伝える必要があります。
URLを正規化する方法
同じ内容のページに複数のURLでアクセスできる場合は、検索エンジンに評価してもらいたいURLを明確にするため、URLの正規化を行います。
301リダイレクトで正規化する
301リダイレクトとは、特定のURLへのアクセスを別のURLへ自動的に転送する仕組みです。重複しているURLから正規URLへ301リダイレクトを設定することで、ユーザーと検索エンジンを正規URLへ集約できます。また、転送元のURL(ページ)の評価や被リンクの効果を、転送先(正規URL)に引き継ぐこともできます。
「http」と「https」、「wwwあり」と「wwwなし」、「index.htmlあり」と「index.htmlなし」など、不要なURLを残す必要がなく1つのURLへ統一できる場合に用います。
Apacheを利用しているWebサイトでは、.htaccessファイルで301リダイレクトを設定できます。主な手順は次のとおりです。
- テキストファイルで.htaccessを作成する
- 必要なリダイレクトの記述を追加する
- FTPソフトなどを使い、対象ディレクトリにアップロードする
- 設定後、意図したURLへリダイレクトされるかを確認する
以下に.htaccessの実装例を紹介します。
1. HTTP接続をHTTPS接続に正規化する場合
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/%{REQUEST_URI} [R=301,L]
2. wwwなしをwwwありに正規化する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
3. wwwありをwwwなしに正規化する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
4. index.htmlやindex.phpありをなしに正規化する場合
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index\.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://www.example.com/$1 [R=301,L]
5. 上記(1〜4)を組み合わせる場合
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index\.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://www.example.com/$1 [R=301,L]
.htaccessの記述を誤ると、Webサイトにアクセスできなくなったり「リダイレクトループ」が発生したりする場合があります。設定時は既存の.htaccessをバックアップし、サーバー環境や既存の設定を確認したうえで行いましょう。
canonicalタグで正規化する
canonicalタグとは、複数ある同一・類似ページの中から正規URLの候補を検索エンジンに示すためのHTMLタグです。
301リダイレクトとは異なり、ユーザーを別のURLへ転送するものではありません。そのため、パラメータ付きURLなど複数のURLを残したまま、検索エンジンには正規URLを伝えたい場合に使用します。
たとえば、次の4つのURLで同じ内容のページにアクセスできるとします。
- https://www.example.com/product
- https://www.example.com/product?id=123
- https://www.example.com/product?id=123&category
- https://www.example.com/product?id=123&category=electronics
「https://www.example.com/」を正規URLとして示したい場合は、正規化の対象となるページの<head>内に以下のcanonicalタグを記述します。

canonicalタグを設定する際は、正規URLを誤って指定しないよう注意しましょう。また、canonicalタグはあくまで正規URLの候補を示すものであり、指定したURLが必ず正規URLとして採用されるとは限りません。
canonicalタグの詳細については、以下の記事もあわせてご参照ください。
301リダイレクトとcanonicalタグの使い分け
301リダイレクトとcanonicalタグは、どちらもURLの正規化に利用できますが、仕組みや適したケースが異なります。
301リダイレクトは、ユーザーや検索エンジンを正規URLへ自動的に転送する方法です。正規URL以外のURLへユーザーがアクセスする必要がないケースに向いています。
一方、canonicalタグはユーザーを転送せず、検索エンジンに正規URLの候補を伝えるためのものです。同一または類似するページが複数のURLに存在し、それぞれのURLを残したい場合に向いています。
両者の主な違いは以下のとおりです。
| 項目 | 301リダイレクト | canonicalタグ |
| ユーザーの転送 | あり | なし |
| URLの統一 | 正規URLへ転送する | 複数のURLを残せる |
| 主な用途 | 不要なURLの整理・統一 | 複数URLを残しつつ正規URLを示す |
| 具体例 | http・https、wwwあり・なしなど | パラメータ付きURLなど |
どちらを使うべきか迷った場合は、「正規URL以外のURLをユーザーが利用する必要があるか」を基準に考えるとよいでしょう。URLの状況や目的に合わせて、適切な方法を選択することが大切です。
URLが正規化されているか確認する方法
URLの正規化を設定したら、意図したURLが検索エンジンに正規URLとして認識されているかを確認しましょう。
Google Search ConsoleのURL検査ツールで確認する
GoogleがどのURLを正規URLとして認識しているかは、Google Search Consoleの「URL検査ツール」で確認できます。
確認したいURLを入力すると、Googleに登録されているページの情報が表示されます。正規化の状況を確認する際は、「ユーザーが指定した正規URL」と「Googleが選択した正規URL」の項目に注目してください。

- ユーザーが指定した正規URL:canonicalタグなどによってWebサイト側が正規URLとして指定したURL
- Googleが選択した正規URL:Googleが実際に正規URLとして判断したURL
意図したURLと異なるURLがGoogleに選択されている場合は、canonicalタグの指定・リダイレクト・内部リンクなどの設定に問題がないかを確認しましょう。
リダイレクトが正常に設定されているか確認する
301リダイレクトでURLを正規化した場合は、正規化前のURLへアクセスし、意図した正規URLへ転送されるかを確認します。
たとえば「http://example.com」から「https://example.com」へ正規化した場合は、httpのURLへアクセスした際にhttpsのURLへ自動的に転送されるかをチェックします。
あわせて、「リダイレクトチェッカー」などのオンラインツールを利用し、HTTPステータスコードが「301」となっているかも確認するとよいでしょう。
canonicalタグを確認する
canonicalタグでURLを正規化した場合は、対象ページのHTMLソースを表示し、タグが正しく記述されているかを確認しましょう。
たとえば「https://www.example.com/」を正規URLに指定する場合は、<head>内に以下の記述があるかを確認します。

タグが設置されているかだけでなく、指定しているURLに誤りがないかも忘れず確認しましょう。
URLを正規化するときの注意点
URLの正規化は評価集約に有効な施策ですが、設定を誤ると意図しないURLが正規URLとして認識される場合があります。以下の点に注意しましょう。
正規化先のURLを間違えない
URLを正規化する際は、検索エンジンに評価してもらいたいURLを正規化先として正しく指定しましょう。正規化先を誤ると、本来検索結果に表示したいページとは異なるURLへ評価が集約されてしまいます。
とくに301リダイレクトやcanonicalタグの設定時は、http・httpsやwwwの有無、URLのスペルなどに誤りがないかを丁寧に確認してください。
また、内容が大きく異なるページを正規化先として指定するのは避けましょう。canonicalタグは、基本的に同一または類似した内容のページに対して使用します。
設定後は、リダイレクト先やcanonicalタグの記述を実際に確認し、意図したURLが指定されているかをチェックしましょう。
canonicalタグを設定しても必ず採用されるとは限らない
canonicalタグを設定したとしても、指定したURLが必ず正規URLとして採用されるわけではありません。
canonicalタグはあくまで正規URLの候補を伝える手段であり、Googleはcanonicalタグに加え、リダイレクト・サイトマップ・内部リンクなど複数の情報をもとに正規URLを判断します。そのため、canonicalタグで指定したURLとGoogleが選択した正規URLが食い違うこともあります。
canonicalタグを設定する際は、サイト内の内部リンクもできるだけ正規URLに統一しておきましょう。設定後はGoogle Search ConsoleのURL検査ツールを使い、GoogleがどのURLを正規URLとして認識しているかを確認することが大切です。
robots.txtをURL正規化のために使用しない
robots.txtはクローラーによるクロールを制御するためのファイルであり、URLの正規化を目的として使用するものではありません。
重複URLへのクロールをrobots.txtでブロックしても、検索エンジンに正規URLを伝えることはできません。また、canonicalタグを設置したページをrobots.txtでクロール禁止にすると、検索エンジンがcanonicalタグ自体を読み取れなくなる場合があります。
URLを正規化したいときは、robots.txtではなく、目的に応じて301リダイレクトやcanonicalタグを使いましょう。
正規化が検索結果に反映されるまで時間がかかる場合がある
URLの正規化を設定しても、すぐに検索結果へ反映されるとは限りません。
検索エンジンが正規化の設定を認識するためには、対象ページを再度クロールして情報を処理する必要があります。そのため、301リダイレクトやcanonicalタグを設定してから、Googleが正規URLを認識するまでには一定の時間を要します。
設定直後に検索結果が変わらなくても、すぐに設定ミスと判断する必要はありません。まずはリダイレクトやcanonicalタグが正しく設定されているかを確認し、そのうえでGoogle Search Consoleなどを使って正規化の状況をチェックしましょう。
まとめ
URLの正規化は、検索エンジンからの評価を適切なURLに集約するだけでなく、クローラビリティの向上や被リンク評価の集約にもつながる重要なSEO施策です。
同じ内容のページに複数のURLでアクセスできる場合は、正規URLを明確にし、状況に応じて301リダイレクトとcanonicalタグを使い分けましょう。設定後はGoogle Search Consoleなどを活用し、意図したURLが正規URLとして認識されているかを確認することも欠かせません。
URLの正規化はSEO内部施策の基礎の一つです。検索エンジンがサイト内のページを適切に認識・評価できるよう、重複URLの有無を定期的に見直し、必要に応じて正規化を行いましょう。

リスティング広告【最適化】に必須のチェックリストを”無料”配布中!
リスティング広告を運用する上で必要なチェックリストをPDF形式で無料でダウンロードいただけます。
【広告代理店の運用者】が教えるリスティング広告の基礎を使ってあなたのビジネスの集客アップにご活用ください。











