URL正規化の方法【.htaccessの書き方など3種類】

URL正規化の方法
更新日:2021年1月23日

URL正規化とは?

URL正規化とは、重複しているURLを1つのURLに統一することです。

例えば、「https://example.com/」というURLはサイトのトップページを指していますが、「https://www.example.com/」や「https://example.com/index.html」といったURLでも同じトップページにアクセスすることができます。
これらは一見同じ内容のページに見えますが、Googleなどの検索エンジンはそれぞれ違うページと認識します。

このようなURLは違うけれど同じ内容のページが複数あることを「重複コンテンツ」と呼び、SEO的にマイナスの評価を受ける可能性があります。
また、正しいページがわからなくなったり、リンクが分散してしまうなどの様々な問題があるので、人間の目線でみても重複コンテンツは良くありません。

そのため、検索エンジンに「このURLが正規のURLだよ」と伝える必要があるということです。

重複しているURLの例

重複しているURLとして、ほとんどのサイトで発生するのは以下の3つです。
これら以外にも、PC用とモバイル用ページでURLが違うなどのパターンもあります。

wwwあり・wwwなし
https://www.example.com/
https://example.com/
index.htmlあり・index.htmlなし

https://example.com/index.html
https://example.com/

※サイト構成によって、index.php や index.cgiになる場合もあります。

SSLあり(https)・SSLなし(http)
https://example.com/
http://example.com/

URL正規化の方法

URLを正規化するためには一般的に3つの方法がありますが、すべての方法で正規化することをおすすめします
特に、閲覧者を正規のURLに移動させる301リダイレクトはとても重要です。

ここで指定したURLが検索エンジンに評価され、検索ページにも表示されることになります。
後で変更するのは検索順位に影響が出る可能性もあるので、正規化するURLは慎重に選ぶようにしてください。
ほとんどのサイトでは、index.htmlはなしで、SSL(https)はありを正規URLとしていますが、wwwを付けるかどうかは好みで決めて大丈夫です。

※コードをコピペする場合は、「example.com」の箇所を正規にしたいURLに変更してください。

.htaccessで正規URLに301リダイレクトする

.htaccessとは、Webサーバーの挙動を決めることができるファイルのことです。
.htaccessファイルに301リダイレクト(恒久的に移動)の指示を書くことで、正規ではないURLにアクセスしてきたユーザーを正規URLに移動させることができ、検索エンジンにも正規URLを伝えることができます。

.htaccessファイルは、レンタルサーバーのindex.htmlがある場所にあります。
FTPソフトでレンタルサーバーからダウンロードし、メモ帳などのテキストエディタで編集した後、同じ場所にアップロードしなおしてください。

※.htaccessは挙動にかかわる重要なファイルなので、必ずバックアップをとり、記入間違いのないように注意してください。

※.htaccessのルールとして、最後の行を必ず改行(空白の行)にしてください。

※メモ帳で.htaccessの編集をすると「.htaccess.txt」というファイルになってしまうので、FTPソフトでレンタルサーバーにアップロードした後、FTPソフト上で「.txt」の部分を削除してください。

wwwありにリダイレクト

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

wwwなしにリダイレクト

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

index.htmlなしにリダイレクト

index.phpの場合は、htmlの箇所をphpに変更してください。

RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://example.com/$1 [R=301,L]

SSLあり(https)にリダイレクト

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

wwwとindex.htmlはなし、SSLはあり(https)にまとめて設定

「RewriteEngine on」は最初の1つだけにして、ひとまとめにすることができます。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://example.com/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

rel="canonical"に正規URLを指定する

<link>タグのrel="canonical"属性に正規URLを指定することで、検索エンジンに正規URLを伝えることができます。
URLを指定する方法は、<head>内に下記のコードを追加するだけです。

<link rel="canonical" href="https://example.com/">
canonicalにURLを指定する

サイトマップを正規URLで作成する

Googleなどの検索エンジンに送信するサイトマップ(sitemap.xmlなど)から正規URLを伝える方法です。
サイトマップを送信すると、検索エンジンにサイト内のページを伝えることができますが、間違った情報を伝えないためにも正しいURLで作成する必要があります。

サイトマップの作成には、sitemap.xml Editorがおすすめです。
入力欄に正規URLを入力すれば、サイト内のリンクを自動で取得し、「sitemap.xml」を作成してくれます。

sitemap.xml Editorの使い方

作成したサイトマップは、レンタルサーバーのindex.htmlがある場所にアップロードし、Google Search Consoleから送信してください

Search Consoleにサイトマップを送信する

URL正規化の確認方法

検索エンジンが正規URLを認識しているか確認するには、Google Search Consoleの「URL検査ツール」を使います。
メニューにある「URL検査ツール」を選択してURLを入力し、カバレッジをクリックすれば確認することができます。

URL正規化ができているか確認する

「ユーザーが指定した正規URL」が正規化で指定したURLに、「Googleが選択した正規URL」が検査対象のURLになっていればちゃんと認識されています。

無料ブログや無料ホームページでURL正規化ができない場合

無料レンタルブログや無料ホームページサービスでは、.htaccessやheadタグの編集に対応していない場合が多く、URL正規化を完全にはできない可能性があります。
ヘルプなどを見ても解決できない場合は、Google Search Consoleに正規URLのみを登録して、内部リンクやSNSのリンクを正規URLにリンクするという方法で対処できると思います。

もう一点気になることは、無料ブログからWordPressに引っ越したいとなった時などに、301リダイレクトに対応していないとサイトの評価を受け継ぐことができません。
たくさんの人に見にきてもらえるサイト・ブログを目指しているのであれば、最初からレンタルサーバーで始めることをおすすめします。

レンタルサーバーの詳細と比較:レンタルサーバー比較|料金と機能の一覧

URL正規化の注意点

URL正規化の方法は、ひとつずつ見ていけば難しいことではないのですが、SEOに直接影響する部分でもあるため、きちんと確認しながら行う必要があります。
繰り返しになることもありますが、URL正規化の注意点をまとめておきます。

  • 指定する正規URLをすべての方法で統一し、間違いのないように確認してください。
  • URLを後で変更するのはSEO的に良くないので、正規にするURLは慎重に選んでください。
  • .htaccessファイルは必ずパックアップを取り、編集後は正規ではないURLにアクセスしてリダイレクトできているか確認してください。
  • サイト内のリンクも正規URLにリンクするようにしてください。
totopアイコン