コピペで対応.htaccessを使ったURLの正規化でSEO対策


皆さんは、ご自身のホームページのURLをどのように書いていますか?
名刺やチラシ、パンフレットなど、あらゆるところにURLを書くことがあると思いますが、URLはどのような表記で書いているでしょうか。
弊社のドメイン(y-com.info)を例に出すと、

  • http://y-com.info
  • http://www.y-com.info

などの書き方があります。
いずれの書き方でもトップページへアクセスできます。
このように、同じURLでも違う書き方が複数存在し、そのままではユーザのアクセスの問題や、解析データの問題、また、重複コンテンツとみなされることによるSEOへの影響もありますので、これらのURLの表記を統一する必要があります
今回は、URLを統一するためのURL正規化方法を紹介します。

URLの表記の違いについて

同じトップページに対して、表記の違うURLの例を紹介します。

wwwのありなし

http://y-com.info
http://www.y-com.info

index.htmlのありなし

http://y-com.info
http://y-com.info/index.html

httpsとhttp

https://y-com.info
http://y-com.info

このように、それぞれ2パターンの3種類の組み合わせがあるので、合計8種類のURLの表記があります。
URLが8種類にも分散してしまうのは問題です、どのURLでアクセスしても必ず一つのURLにアクセスされるように改善してみましょう。

URLの正規化による統一

あなたが理想としているURLに統一してみましょう。

  • URLは簡単な方がいいので、wwwは無しにしましょう
  • URLは簡単な方がいいので、index.htmlは無しにしましょう
  • SSL対応しておく必要があるので、httpsで始まるURLにしましょう

つまり、弊社のドメインでは、

https://y-com.info

これが理想的なトップページのURLとなります。

.htaccessによる正規化処理

では、実際にこれらのURLを統一してみます。
先ほど書いたように、実際には8種類のURLが存在しそれぞれでアクセスできるのですが、どのアドレスでアクセスされたとしても

https://y-com.info

に誘導(リダイレクトする)ということをします。

ホームページのトップページのファイル(index.html)が置かれている場所に、.htaccessというファイルを用意します。

既に存在する場合はそこへ追記、無い場合はファイルを作りましょう。
Windowsでは「.」から始まるファイルが作れないので、FTPソフトの上で作るとよいでしょう。

次のコードを作成した.htaccessに追記してください。

RewriteEngine on

# httpからhttpsへのリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# wwwを取り除く
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

# index.htmlやindex.phpを取り除く
RewriteRule ^index\.(html|php)$ / [R=301,L]

書かれている内容の説明は省略しますが、これをそのままコピペして使ってもらうと以下のルールでURLの正規化ができるようになっています。

  • https://から始まる
  • wwwは無し
  • index.htmlは無し

設定が終わったら、実際にいろいろなURLでアクセスしてみて、正規のURLにリダイレクトされるか試してみましょう。
どのようなURLでも、最終的には上記のルールでアクセスされるようになっています。
トップページと同じフォルダに置いている場合は、サブページにも同じルールが適用されるので、このファイルを1つ置くだけでサイト全体のURLを正規化することができます。

これまでやっていなかった方は、ぜひやってみましょう。

[RelService] [Service]