URL正規化って何?

URL正規化って必要なんだろうか?


そんなお悩みを解決します。
この記事を書いた人

ゆめ ただ
グログ歴 5年目。
普通のビジネスマンとして働きながらFIREを目指す。
独学でゼロからブログを立ち上げる。
Dockerのローカル仮想環境を作りLinux環境も触るように。
4年目でSEO検定1級に合格し地道にスキルアップ。
次はWordPress以外のCMSに手を出そうか悩み中。
URL正規化とは?
URL正規化とは、何か?
自分のサイトURLは、1つだから大丈夫!!
確かにあなたのサイトURLは1つかもしれませんが、
Googleのクローラーから見ると、複数あるように見えてしまう場合があります。
URLが複数あっても、正しい1つのURLへ導き統一することを、URL正規化といいます。
では、なぜ複数URLがあるのでしょうか?

SEO対策としてURL正規化は必要
インタネットが普及し始めた時、「www」(World Wide Web)をドメインに付けるコトが主流でした。
現在はこの「www」が無しでも、同じサイトを表現しますが、
URL正規化の対処していない場合、検索エンジンはそれぞれ別サイトとして認識してしまいます。
被リンクも分散し重複コンテンツとみなされるケースがあります。
ペナルティの対象となる可能性もあるので、しっかり確認と対策をしておきましょう。
正規化が必要か?【サイトURLの動作確認】
自ドメインの状況を確認します。
wwwを付けて検索、もしくはwwwをはずして検索します。
wwwなしで運用している場合は、wwwを付けて検索すると、
URLが正規化されていれば、wwwなしのドメインが表示されるはずです。
正規化されていない場合は、www付きのURLがそのまま検索結果に出ます。
同様にその逆の場合もやってみます。

正規化が必要な項目【まとめ】
www有り無し以外も含め、正規化が必要な項目です。
以下は一例で、あなたに適した内容に正規化してください。
項目 | 内容 |
WWWなしに統一 | https://www.mysite.com → https://mysite.com |
https強制 | http://mysite.com → https://mysite.com |
index.html非表示 | https://mysite.com/index.html → https://mysite.com |

URL正規化の方法1【.htaccess】
URL正規化の方法を2つ説明します。
.htaccessファイルで規定する
.htaccessファイルにURL正規化の記述を追加して、
301リダイレクトを指定する方法です。
これで、統一したドメインにリダイレクトされるため、ドメインを統一化できます。

www無しで統一する場合の
.htaccessファイル例です。
「mysite」のところを自サイトのURLに書き換えてください。
<IfModule mod_rewrite.c>
RewriteEngine On
#httpsに正規化
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://mysite.com/$1 [R=301,L]
#wwwなしに正規化
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$
RewriteRule ^(.*)$ https://mysite.com/$1 [R=301,L]
#index.phpありのURLをなしに正規化
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ https://mysite.com/$1 [R=301,L]
#index.htmlありのURLをなしに正規化
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://mysite.com/$1 [R=301,L]
</IfModule>
こちらは、www有に正規化する場合です。
<IfModule mod_rewrite.c>
RewriteEngine On
#wwwありに正規化
RewriteCond %{HTTP_HOST} ^mysite\.com$
RewriteRule ^(.*)$ https://www.mysite.com/$1 [R=301,L]
</IfModule>
.htaccessファイルの編集方法(エックスサーバー編)
エックスサーバーの場合、サーバーパネルから.htaccessファイルを編集します。

正規化URLを確認する
結果を確認するには、下表のようになればOKです。
確認URL(ブラウザでアクセスする) | 正規化後 |
http://mysite.com | https://mysite.com |
https://www.mysite.com | https://mysite.com |
https://mysite.com/index.html | https://mysite.com |
https://mysite.com/index.php | https://mysite.com |
URL正規化の方法2【cannicalタグを指定】
.htaccessファイルを編集して、URLの正規化する方法を記載したが、環境によっては変種出来ない場合もあります。
この場合、正規化したいURLを、直接サイトの<header>タグ内に記述する方法があります。
同じ内容のサイトがあり、どちらにもアクセスが可能な場合は、一方のURLに正規化します。
次の内容を、正規化したいページの<header>内に記述します。
これにより、優先度の高いページをクローラーに対して伝えることができます。
<head>
<link rel="canonical" href="https://mysite.com/">
</head>

あなたのサイトのURLを正規化して
SEO対策をした上で、サイトを公開しましょう!