「wwwあり・なし」の統一と「index.htmlあり・なし」の統一

.htaccess(ドット エイチティーアクセス)を使った301リダイレクトで、トップページのURLを統一する方法をまとめました。

どうして統一するの?

WEBページは、通常、以下のどのURLからアクセスしても、同じコンテンツのページが表示されるようになっています。

  • https://st-candle.com/ (wwwなし・index.htmlなし)
  • https://www.st-candle.com/ (wwwあり・index.htmlなし)
  • https://st-candle.com/index.html (wwwなし・index.htmlあり)
  • https://www.st-candle.com/index.html (wwwあり・index.htmlあり)

人から見れば全く同じ内容のサイトですが、検索エンジンはこれらのURLを「別のページ」として認識します。

それぞれのページが別ページとして検索エンジンに登録されてしまうと、サイトへのアクセスの分散、被リンクの分散に繋がり、結果的に検索エンジンからの評価が分散されてしまう場合があるのです。

このようなSEOの観点からも、URLはどれかひとつに統一させることが望ましく、その方法のひとつが301リダイレクトを使ったURLの統一です。

リダイレクトの種類

リダイレクトには「301リダイレクト」と「302リダイレクト」がありますが、それぞれ以下のような意味があります。

  • 301リダイレクト・・・永続的に移動することを意味する
  • 302リダイレクト・・・一時的に移動することを意味する

URLの統一には、永続的な移動を意味する301リダイレクトを使います。
(※.htaccessが利用可能なレンタルサーバを使用していることが条件です)

URL統一の手順

1.「.htaccess」ファイルを作成する

任意のテキストエディタを開いて下記の内容を記述し、「.htaccess」というファイル名をつけて保存します。

注意:WindowsXPの人

WindowsXPなどの古いOSでは、頭に「.(ドット)」が付くファイルを作成しようとすると「ファイル名を入力してください」というエラーが出て、作成することができません。サーバーにアップロードした後でファイル名を変更できますので、ここでは「htaccess.txt」などのテキストファイルで保存しておきます。

注意:Macの人

Macでは、「.(ドット)」で始まるファイルは不可視ファイル(隠しファイル)の扱いになるため、保存した.htaccessが見えなくなってしまいます。不可視ファイルを表示させる方法もありますが、WindowsXPの人と同様に、「htaccess.txt」などのテキストファイルで保存しておいて、サーバーにアップロードした後でファイル名を変更すると簡単です。

※以下、URLの部分は必ずご自分のサイトのURLに書き換えてくださいね。

「wwwあり」に統一する場合

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

「wwwなし」に統一する場合

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

「index.htmlなし」に統一する場合

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

「wwwなし」「index.htmlなし」をまとめて統一する場合

(同じファイル内に記述します。)

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

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

「wwwあり」「index.htmlなし」で統一する場合

(同じファイル内に記述します。)

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

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

2.保存したファイルをFTPソフトでサーバーにアップロードします。

ファイル名を「htaccess.txt」で保存した人は、アップロードしたあとでファイルの名前を「.htaccess」に書き換えます。

アップロードしたファイルが消えた(見えない)場合

FTPソフトを使ってアップロードしたら(またはファイル名を「.htaccess」に変更したら)、アップロードしたはずのファイルが消えてしまったという場合は、FTPソフトの設定が「隠しファイルを表示しない」設定になっているかもしれませんので確認してみてください。

  • FFFTP:「メニュー」→「表示」→「.で始まるファイルを表示」にチェック
  • NextFTP:「オプション」→「ファイルリスト取得コマンド」→「NLST -laL」

3.確認

最後に正しく設定できたかどうか、アドレスバーにURLを入力して確認してみましょう。自動的にURLが切り替わり、転送されていれば成功です。

まとめ

URLはできるだけ短くシンプルに、「wwwなし、index.htmlなし」で統一するのがおすすめです。