URLを正規化はなぜ行う?その必要性とやり方を解説

今回はURLの正規化をする必要性と、そのやり方について紹介します。

 

URLの正規化とは?

URLの正規化とはドメインの部分の「www」の有無や、「/index.html」の有無によるアクセス可能なURLを1つのURLにまとめることです。

なぜそんなことをする必要があるのかというと、Googleは「www」の有無や「/index.html」の有無といったURLのばらつきを、それぞれ1つの固有のページとして認識します。

つまり、「https://www.hogehoge.com」と「https://hogehoge.com」を別のページとして評価してしまいます。

すると、ページの評価が分散して上位にインデックスされにくくなってしまいます。

 

これを防ぐために、1つのドメインを正規化して「本物のページはこれ」とGoogleに伝える必要があります。これがURLの正規化です。

 

URLを正規化する方法

URLの正規化はやり方が2つあるので、紹介します。

 

.htaccessを使って301リダイレクト

不要な側のURLにアクセスしたユーザーを、オリジナルのURLに301リダイレクトで転送するよう設定します。

リダイレクトをさせるにはいくつかパターンがあります。

例えば、wwwありからなしにリダイレクトする場合は以下のようになります。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.hogehoge\.jp$
RewriteRule ^(.*)$ http://hogehoge.jp/$1 [R=301,L]

 

また、URLの最後の/index.htmlありからなしにリダイレクトさせる場合は以下のようになります。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://hogehoge.jp/$1 [R=301,L]

 

ただし、.htaccessをいじる方法なので、難しいと感じる人も多いと思います。

その人にはcanonicalを使って正規化する方法がオススメです。

 

canonicalタグを使ってURLを正規化

正規化したいページの<head>内にcanonicalタグを入れることで、「このページが本物ですよ」とGoogleに知らせます。これにより評価を統一させることができます。

以下のタグを<head>内に入れましょう。

<link rel="canonical" href="http://hogehoge.jp">

 

こっちの方が全然簡単ですね。