日本語 English(Home)

URL正規化とは?表記ゆれの統一ルールと、301・canonicalの使い分け

wwwの有無や計測用のパラメータなど、同じページが別々のURLで見られる状態は多くのサイトで起きています。どの表記を正にするか、どの方法で伝えるか、設定後にどう確かめるかを、当サイトの例も交えて整理します。

URL正規化とは?表記ゆれの統一ルールと、301・canonicalの使い分け

この記事の要点:

  • 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とhttpshttp:// と https://httpsにするhttpsへ301リダイレクト
wwwの有無example.com と www.example.comどちらか一方もう一方から301リダイレクト
末尾のスラッシュ/blog と /blog/どちらか一方もう一方から301リダイレクト
index.htmlの有無/blog/ と /blog/index.htmlディレクトリのURL301リダイレクト
大文字と小文字/Page/ と /page/小文字にそろえるなど301リダイレクト、または表記の統一
パラメータ?utm_source=mail、?sort=price正規URLに含めるパラメータcanonical、内部リンクから外す
スマートフォン用の別URLexample.com/page/ と m.example.com/page/同じURLで表示を切り替えるかレスポンシブにして1つのURLにする。別URLを続けるならcanonicalとalternateで対応を示す
トップページの言語や入口/ と /ja/入口になるURL301リダイレクト

いくつか補足します。

  • 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。内部リンクには付けない
セッションIDsid、sessionid変わらないURLではなくCookieで扱うのが勧められている
並び替えsort=price順番だけ変わる多くの場合、並び替える前の一覧
絞り込みcolor=red&size=m一部が変わる検索に出したい組み合わせだけを独立したページにし、それ以外はクロールを抑える
ページ番号page=2変わる各ページ自身。1ページ目にまとめない
商品・記事のIDid=123変わるそれぞれが独立したページ

Googleは、内容を変えないパラメータはできるだけ取り除き、パラメータの区切りには一般的な「&」を使うよう説明しています。絞り込みの組み合わせが非常に多いサイトでは、すべてをcanonicalで処理するより、クロールさせないURLを決めるほうが向いている場合があります。

以前Search Consoleにあった「URL パラメータ」ツールは、2022年に廃止されました。Googleはパラメータの扱いを自動で判断するようになったと説明しています(Google 検索セントラル ブログ:URL パラメータ ツールの廃止)。今は、サイト側のURLの設計とcanonical・robots.txtで対応します。

統一する手順:決める順番と、当サイトでの例

正規化は、順番を間違えると手戻りが増えます。次の順で進めます。

  1. ルールを書き出す:前の節の表をもとに、https・wwwの有無・末尾スラッシュ・小文字・入口のURLを決め、文書に残します。
  2. サーバーでリダイレクトを設定する:古い表記から正規URLへ、301で1回で届くようにします。http→https→www→末尾スラッシュのように何段階も続く転送は、まとめて1回にします。
  3. canonicalを確認する:各ページのcanonicalが、ルールどおりの自分自身のURLを指しているかを確かめます。パラメータ付きURLでは、パラメータの無いURLを指しているかを見ます。
  4. 内部リンクを直す:メニュー・パンくず・本文・関連記事のリンクを、正規URLに置き換えます。リダイレクトを経由するリンクを残さないようにします。
  5. サイトマップを直す:正規URLだけを載せ、リダイレクトするURLやnoindexのURLを外します。
  6. 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で確かめる

  1. 「URL検査」で、「ユーザーが指定した正規 URL」と「Google が選択した正規 URL」を比べます(Search Console ヘルプ:URL 検査ツール)。
  2. 「ページのインデックス登録」レポートで、重複や代替ページに関する理由を確認します。
レポートの理由意味対応の目安
代替ページ(適切な 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の記事一覧」にまとめています。

参考情報

関連する記事

「テクニカルSEO」の記事をすべて見る →

クロールバジェットとは:Googleの説明と、気にすべきサイト・しなくてよいサイト
テクニカルSEO

クロールバジェットとは:Googleの説明と、気にすべきサイト・しなくてよいサイト

クロールバジェットは、多くのサイトでは気にする必要がありません。Google の「クロール バジェットの管理」の原文に沿って、決まる仕組み、対策が必要なサイトの目安、クロールの統計情報での確かめ方、クロールを無駄にする原因と対処を、当サイトの点検結果とあわせて説明します。

AIでSEO対策を、もっと続けやすく。

機能と使い方、料金・契約条件は、サービス資料でご案内します。