技術

URL正規化とは?なぜ同じページに複数のアドレスが存在しうるのか

www、末尾のスラッシュ、httpとhttpsの違いが、気づかないうちに同じページの複数バージョンを生み出す仕組みを技術的に解説します。

概要

ほとんどのWebサイトは、意図していたよりも多くのアドレスで技術的にアクセス可能な状態になっています。ドメインとサーバーの設定によっては、次のすべてが同じホームページを表示することがあります。https://あなたのドメイン.comhttps://www.あなたのドメイン.comhttp://あなたのドメイン.com、そして末尾にスラッシュを付けたhttps://あなたのドメイン.com/です。人間の訪問者にはまったく違いがわからなくても、これらはそれぞれ技術的には別個のWebアドレスです。

「正規化(canonicalization)」とは、これらのアドレスの中から1つを公式の、優先すべきアドレスとして選び、内部リンクやサーバー設定、ページコード内のcanonicalタグなど、あらゆるものが一貫してその1つを指すようにすることを指す一般的な用語です。すべてのバリエーションを同等に有効なものとして放置しないようにするのです。

重要な理由

これを放置すると、本来1つであるべきページが、技術的な観点からは、たまたま同じ内容を持つ複数の別々のページであるかのように分裂して見えてしまいます。これはソフトウェアにとって明確に解釈しづらい、本当にややこしい状況であり、複数バージョンへのリンクがインターネット上に広まってしまってから後で解きほぐすよりも、最初から防いでおく方がはるかに簡単な、静かに積み重なる構造的な混乱です。

これはcanonicalタグに関する疑問のより深く技術的なバージョンと言えます。焦点は1行のコードというより、そもそもどのアドレスのバリエーションが実際に機能するかを決めている、サーバーとドメインの基盤設定にあります。

修正方法

  1. ドメインの最終的な優先バージョンを決めます。wwwを付けるか付けないか、そして重要なページの末尾にスラッシュを付けるべきかどうかを確認します。
  2. ドメインまたはホスティングの設定で、他のすべてのバリエーション(優先しないwwwバージョンや、素のhttp://バージョン)が自動的に選んだ1つの優先アドレスへ転送されるよう、サーバーレベルのリダイレクトを設定します。
  3. 自サイト内のすべての内部リンク(ナビゲーションメニュー、ボタン、フッターリンク)が、後からリダイレクトで修正するのではなく、優先バージョンを直接指していることを確認します。
  4. リダイレクトに加えたもう一段の保護として、各ページに自己参照型のcanonicalタグを追加します(canonicalタグに関するガイドを参照してください)。
  5. 優先しないバリエーションのアドレスをいくつかブラウザに入力し、それぞれが選んだアドレスへ自動的にリダイレクトされることを確認してテストします。

あなたのサイトにもこの問題がないか確認しましょう

Launch Readinessは、この問題を含む約50項目を数秒でチェックします — 無料・登録不要。

無料でチェックする