この記事の要点:
- URL正規化とは、同じ内容のページが複数のURLで表示される状態を整理し、代表となる1つのURL(正規URL)にそろえることです。
- まず「https・wwwの有無・末尾スラッシュ・大文字小文字」などの表記のルールを決め、使わない表記は301リダイレクトで正規URLへ転送します。
- リダイレクトできないパラメータ付きURLなどはcanonicalで伝え、内部リンクとサイトマップも正規URLだけにそろえます。方法ごとに違うURLを指すと、Googleが別のURLを選ぶことがあります。
- 指定はあくまでGoogleへの手掛かりです。設定後は、リダイレクトの応答とSearch Consoleの「URL検査」で、Googleが選んだ正規URLを確かめます。
URL正規化とは:代表のURLを決めて、すべての指定をそろえること
URL正規化とは、同じ内容のページが複数のURLで表示される状態を整理し、代表となる1つのURL(正規URL)にそろえることです。サーバー側でURLの表記を統一し、検索エンジンに正規URLを伝え、サイト内のリンクやサイトマップもそのURLに合わせます。
Googleは、内容がほぼ同じページをまとめ、その中から代表のURLを1つ選んで検索結果に表示します。この選ぶ処理を正規化と呼び、選ばれたURLを正規URLと呼びます(Google 検索セントラル:URL の正規化とは)。
大切なのは、サイト側の指定は「手掛かり」であって、命令ではないことです。Googleは、HTTPSかHTTPか、リダイレクト、サイトマップに載っているか、canonicalの指定などをもとに判断します。サイト側でできるのは、これらの手掛かりを同じ1つのURLにそろえ、迷う余地を減らすことです。
正規化しないと何が起きるか
同じページが複数のURLで見られる状態は、多くのサイトで起きています。それ自体がペナルティの対象になるわけではありませんが、次のような困りごとにつながります。
| 起きること | 具体的な影響 |
|---|---|
| 意図しないURLが検索結果に出る | 例:計測用のパラメータ付きURLや、httpのURLが表示される |
| リンクなどの評価が分かれる | 外部や内部からのリンクが、同じページの別々のURLに向けられる |
| クロールが無駄になる | 同じ内容を何度も取得するため、大きなサイトでは新しいページの発見が遅れることがある |
| 分析の数字が分かれる | Search ConsoleやGA4で、同じページの数字が複数のURLに分かれ、比べにくくなる |
重複ページ全般の原因と直し方は「重複コンテンツとは」で説明しています。この記事では、URLの表記のゆれをそろえる作業に絞って説明します。
表記ゆれのパターンと、決めておく統一ルール
まず、サイト全体で「どの表記を正とするか」を決めます。このルールが決まっていないと、リダイレクトもcanonicalも内部リンクも、担当者ごとにばらばらになります。URLの各部分(ドメイン・ディレクトリ・スラッグ)の呼び方は「ディレクトリとURLの対応」で説明しています。
| 違い | 例 | 決めること | 主な対処 |
|---|---|---|---|
| httpとhttps | http:// と https:// | httpsにする | httpsへ301リダイレクト |
| wwwの有無 | example.com と www.example.com | どちらか一方 | もう一方から301リダイレクト |
| 末尾のスラッシュ | /blog と /blog/ | どちらか一方 | もう一方から301リダイレクト |
| index.htmlの有無 | /blog/ と /blog/index.html | ディレクトリのURL | 301リダイレクト |
| 大文字と小文字 | /Page/ と /page/ | 小文字にそろえるなど | 301リダイレクト、または表記の統一 |
| パラメータ | ?utm_source=mail、?sort=price | 正規URLに含めるパラメータ | canonical、内部リンクから外す |
| スマートフォン用の別URL | example.com/page/ と m.example.com/page/ | 同じURLで表示を切り替えるか | レスポンシブにして1つのURLにする。別URLを続けるならcanonicalとalternateで対応を示す |
| トップページの言語や入口 | / と /ja/ | 入口になるURL | 301リダイレクト |
いくつか補足します。
- HTTPS:Googleは、同じ内容ならHTTPSのページを正規URLに選びやすいと説明しています。ただし、証明書に問題がある、HTTPSからHTTPへリダイレクトしている、といった場合はHTTPが選ばれることがあります。
- 末尾のスラッシュ:
/blogと/blog/は別のURLとして扱われます。ドメイン直後のhttps://example.comとhttps://example.com/は同じです。 - スマートフォン用の別URL:パソコン用とスマートフォン用で別のURLを使う作りは、Googleが勧める形ではありません。Googleは、同じURLで画面の幅に合わせて表示を変えるレスポンシブ ウェブデザインを勧めています。別URLを続ける場合は、パソコン用のページにalternate、スマートフォン用のページにcanonicalを書いて、対応を示します。詳しくはモバイルファーストインデックスの確認点を参照してください。
- 大文字と小文字:URLのパスは大文字と小文字が区別されます。サーバーが同じページを返していても、URLとしては別物です(Google 検索セントラル:URL 構造のベスト プラクティス)。
どの方法でそろえるか:301・canonical・リンク・サイトマップの使い分け
正規URLを伝える方法は複数あり、強さが違います。Googleは、リダイレクトとcanonicalを強い手掛かり、サイトマップへの記載を弱い手掛かりと説明しています(Google 検索セントラル:重複した URL の統合)。
| 方法 | 手掛かりの強さ | 向いている場面 | 使えない・向かない場面 |
|---|---|---|---|
| 301リダイレクト | 強い | http→https、wwwの有無、末尾スラッシュ、移転した旧URLなど、古い表記を使わなくなる場合 | パラメータ付きURLのように、利用者がそのURLのまま見る必要がある場合 |
| rel=”canonical” | 強い | 計測用・並び替えのパラメータ付きURL、印刷用ページなど、ページは表示したまま代表を伝えたい場合 | サイト全体の表記の統一(リダイレクトのほうが確実) |
| 内部リンクの統一 | 補助 | 常に行う。メニュー・パンくず・本文のリンクを正規URLにする | ― |
| サイトマップへの記載 | 弱い | 常に行う。正規URLだけを載せる | これだけで正規化しようとする場合 |
| robots.txtでのブロック | 使わない | ― | Googleは正規化の目的で使わないよう説明しています。ブロックすると、リダイレクトやcanonicalを読めなくなります |
一時的な転送(302など)は、恒久的な転送(301・308)よりも正規化の手掛かりとして弱い扱いです。転送先を正規URLにしたい場合は、恒久的な転送を使います(Google 検索セントラル:リダイレクトと Google 検索)。
注意したいのは、手掛かりどうしの食い違いです。Googleは、同じページについて方法ごとに違うURLを正規URLとして指定しないよう説明しています。例:サイトマップには/page/を載せ、canonicalでは/pageを指している状態です。また、1つのページにcanonicalが複数あると、すべて無視されます。
パラメータ付きURLはどう扱うか
パラメータとは、URLの「?」より後ろに付く「キー=値」の情報です。内容が変わるかどうかで扱いを分けます。
| 種類 | 例 | 内容 | 正規URLの考え方 |
|---|---|---|---|
| 計測用 | utm_source、utm_campaign | 変わらない | パラメータの無いURL。内部リンクには付けない |
| セッションID | sid、sessionid | 変わらない | URLではなくCookieで扱うのが勧められている |
| 並び替え | sort=price | 順番だけ変わる | 多くの場合、並び替える前の一覧 |
| 絞り込み | color=red&size=m | 一部が変わる | 検索に出したい組み合わせだけを独立したページにし、それ以外はクロールを抑える |
| ページ番号 | page=2 | 変わる | 各ページ自身。1ページ目にまとめない |
| 商品・記事のID | id=123 | 変わる | それぞれが独立したページ |
Googleは、内容を変えないパラメータはできるだけ取り除き、パラメータの区切りには一般的な「&」を使うよう説明しています。絞り込みの組み合わせが非常に多いサイトでは、すべてをcanonicalで処理するより、クロールさせないURLを決めるほうが向いている場合があります。
以前Search Consoleにあった「URL パラメータ」ツールは、2022年に廃止されました。Googleはパラメータの扱いを自動で判断するようになったと説明しています(Google 検索セントラル ブログ:URL パラメータ ツールの廃止)。今は、サイト側のURLの設計とcanonical・robots.txtで対応します。
統一する手順:決める順番と、当サイトでの例
正規化は、順番を間違えると手戻りが増えます。次の順で進めます。
- ルールを書き出す:前の節の表をもとに、https・wwwの有無・末尾スラッシュ・小文字・入口のURLを決め、文書に残します。
- サーバーでリダイレクトを設定する:古い表記から正規URLへ、301で1回で届くようにします。http→https→www→末尾スラッシュのように何段階も続く転送は、まとめて1回にします。
- canonicalを確認する:各ページのcanonicalが、ルールどおりの自分自身のURLを指しているかを確かめます。パラメータ付きURLでは、パラメータの無いURLを指しているかを見ます。
- 内部リンクを直す:メニュー・パンくず・本文・関連記事のリンクを、正規URLに置き換えます。リダイレクトを経由するリンクを残さないようにします。
- サイトマップを直す:正規URLだけを載せ、リダイレクトするURLやnoindexのURLを外します。
- Search Consoleで確かめる:次の節の手順で、Googleがどう判断したかを見ます。
当サイト(seoagent.jp)では、トップ/から日本語版/ja/への転送が302(一時的)になっていました。これを301(恒久的)に変え、旧サイト時代のURLも1対1で301にしました。その後、日本語版をトップ/に移し、/ja/で始まるURLを対応するページへ301にしました。反映のたびに、この301を確認しています。
また、記事一覧/ja/blog/のcanonicalが、/ja/blog/ja/という存在しないURLを指していたことがありました。多言語プラグインとの組み合わせで起きたもので、canonicalをページ自身のURLに直す処理を加えました。その後、全ページのcanonicalが自分自身を指していることを自動の確認で確かめています。canonicalは画面では見えないため、プラグインの組み合わせや更新のあとに、HTMLで確かめる習慣が役に立ちます。
設定したあとに確かめる方法
設定が意図どおりに動いているか、Googleがどう判断したかを、次の方法で確かめます。
リダイレクトの応答を確かめる
ブラウザは転送後のページを表示するため、途中の応答が分かりません。コマンドで確かめると、ステータスコードと転送先が見えます。
例:
curl -sI http://example.com/blog | grep -i -E "^HTTP|^location"
HTTP/1.1 301 Moved Permanently
Location: https://example.com/blog/
http・https、wwwあり・なし、末尾スラッシュあり・なしの組み合わせを試し、どれも301で1回で正規URLに届くかを見ます。
Search Consoleで確かめる
- 「URL検査」で、「ユーザーが指定した正規 URL」と「Google が選択した正規 URL」を比べます(Search Console ヘルプ:URL 検査ツール)。
- 「ページのインデックス登録」レポートで、重複や代替ページに関する理由を確認します。
| レポートの理由 | 意味 | 対応の目安 |
|---|---|---|
| 代替ページ(適切な canonical タグあり) | canonicalで別のURLを正規と指定しており、Googleもそれに従った | 意図どおりなら対応不要 |
| 重複しています。ユーザーにより、正規ページとして選択されていません | 重複と判断されたが、正規URLの指定が無い | 正規URLを決めてcanonicalやリダイレクトを設定する |
| 重複しています。Google により、ユーザーがマーキングしたページとは異なる正規ページが選択されました | 指定とGoogleの判断が食い違っている | リダイレクト・内部リンク・サイトマップが指定と食い違っていないか確かめる |
直したあと、すぐに結果が変わるとは限りません。Googleは、問題を直したあとも、ページが最大2週間ほど重複のまとまりに残ることがあると説明しています。
よくある間違い
- リダイレクトが何段階も続く:例:http→https→www→末尾スラッシュ、と順に転送される状態。表示が遅くなり、確認もしにくくなります。できるだけ1回で正規URLへ届くようにします。
- 302のまま放置している:恒久的に移したのに一時的な転送のままだと、転送先が正規URLとして扱われにくくなります。
- 計測用パラメータ付きのURLで内部リンクを張る:サイト内の移動にはutm_〜を付けないようにします。
- robots.txtやnoindexで重複URLを消そうとする:robots.txtでブロックするとcanonicalやリダイレクトが読まれません。noindexは正規化ではなく、インデックスから外す指定です。
- 全ページのcanonicalをトップページに向ける:内容が違うページを正規URLに指定すると、指定が無視されたり、本来出したいページが検索に出なくなったりします。
- 変化する値をURLに含める:日付や時刻のような値を付けると、URLが際限なく増えたように見えることがあります。
よくある質問
URLの末尾にスラッシュを付けるべきか、付けないべきか、どちらがよいですか?
どちらでも構いません。大切なのはサイト内で1つに決め、もう一方を301で転送し、内部リンクとサイトマップもそろえることです。すでに使われている表記があれば、変える理由が無い限りそれに合わせると手間が少なくなります。
canonicalを設定したのに、Googleが別のURLを選んでいます。
canonicalは手掛かりの一つで、Googleはほかの手掛かりも合わせて判断します。内部リンクやサイトマップが別の表記を指していないか、指定先が200を返しているか、内容が十分に同じかを確かめてください。
大文字のURLを小文字にそろえる必要はありますか?
大文字と小文字の両方で同じページが表示されるなら、どちらかにそろえることをおすすめします。外部からリンクされている表記がある場合は、そろえたうえで、使わない表記から301で転送します。
URLを変えると検索順位はどうなりますか?
影響の大きさはサイトの状況によって異なり、決まった期間や結果は示されていません。変える場合は、旧URLから新URLへ1対1で301を設定し、内部リンクとサイトマップも新URLにそろえてください。
SEOAGENTでできること
SEOAGENTでは、Search Consoleと連携して記事ごとの表示回数やクリック、検索語を確認したり、記事同士の内部リンクの出入りを表で確かめたりできます。リダイレクトやcanonicalの設定は、サーバーやWordPressのテーマ・プラグイン側で行います。
URL正規化と関わるテクニカルSEOの記事は「テクニカルSEOの記事一覧」にまとめています。


