URL 正規化 (URL Normalization / URL Canonicalization) とは、同じ Web ページを指す複数の URL 表記を、1 つの標準的な形式に統一する処理です。たとえば「http://Example.COM/page/」「https://example.com/page」「https://example.com/page/index.html」はすべて同じページを指す可能性がありますが、検索エンジンはこれらを別の URL として扱います。
URL 正規化で統一すべき主な要素は、プロトコル (http → https)、ホスト名の大文字小文字 (Example.COM → example.com)、末尾のスラッシュ (有無の統一)、デフォルトポート番号の除去 (:443 や :80)、パーセントエンコーディングの統一 (%7E → ~)、不要なクエリパラメータの除去、パスの正規化 (/a/../b → /b) です。
短縮 URL サービスにとって URL 正規化は核心的な技術です。ユーザーが入力した URL を正規化してからデータベースに保存することで、同じページに対して複数の短縮 URL が生成されるのを防げます。「https://example.com/page」と「https://example.com/page/」を別の URL として扱うと、同じページに 2 つの短縮 URL が割り当てられ、クリック統計が分散してしまいます。
SEO の観点では、URL 正規化の不備は重複コンテンツ問題を引き起こします。同じコンテンツが複数の URL でアクセス可能な場合、検索エンジンはどの URL を正規版として扱うか判断に迷い、検索順位が分散します。canonical タグ (<link rel="canonical">) で正規 URL を明示することが最も確実な対策です。
RFC 3986 は URI の構文を定義しており、正規化のルールもこの仕様に基づいています。ただし、実務上は RFC の厳密な正規化だけでは不十分で、Web サーバーの設定 (末尾スラッシュの扱い、www の有無など) に応じたサイト固有の正規化ルールも必要です。関連書籍は Amazon でも探せます。