URL正規化って何?
URL正規化って必要なんだろうか?
そんなお悩みを解決します。
この記事を書いた人【ゆめただ】
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対策をした上で、サイトを公開しましょう!