index.htmlで表示されると起こるデメリット

ホームページを作っていくと、http://example.com/とhttp://example.com/index.htmlとで2つ表示することができるのですが、
検索エンジンによるとこれは別のページとされるようです。

つまり、1つのページの評価が2つに分散されてしまうため、SEO的にも損をしているようです。

そこで
http://example.com/index.html → http://example.com/
に統一するように設定します。

 

.htaccessを使って設定

.htaccessというファイルを作成して以下のように記述します。

 

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

 

http://example.comは適切なURLに変更してお使いください。
作成した.htaccessをFTPソフトでアップすればindex.htmlはindex.htmlなしに統一されているかと思います。

これは.htaccessを利用してindex.htmlというURLをindex.htmlなしにリダイレクトする設定をしています。
この設定を用いて、たとえばwwwのありなしを統一したい場合、

 

wwwありに統一する場合

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

 

wwwなしに統一する場合

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

というようにすることもできます。

 

.htaccessが作成できない場合

windowsは「ファイル名を設定してください。」などで.htaccessが作成できないかもしれません。

そういったばあい、.htaccess.txtというファイル名で作成をして、
FTPでアップした後に名前を.htaccessに変更すると良いでしょう。

 

index.htmlなしに統一できない場合

お使いのサーバーによっては、.htaccessによるリダイレクトができない場合があります。
RewriteEngineが使えるかどうかを調べていただき、使えない場合は下記の方法で対応してみましょう

 

metaタグでリダイレクトを設定する

htmlのheadに下記のメタタグを入れます(http://example.com/は適切なURLに変更してください)

 

<meta http-equiv="refresh" content="0;URL=http://example.com/" />

 

これで少し表示された後にindexなしのページにリダイレクトされます。

その際、メタタグでこのページのURLはこちらが正しいですよという指示をすると良いでしょう。

 

  <link rel="canonical" href="http://example.com/" />

 

上記の記述をheadタグに入れます。

これで.htaccessと似たような動きになります。

.htaccessと違うのは

  • 一瞬表示されてしまう
  • 検索エンジンの評価が.htaccessの場合と微妙に違う

という点です。推奨は.htaccessなので、metaタグでリダイレクトする場合は.htaccessが使えなかった場合のみにしましょう。

 


 

まとめ

index.htmlのありなし統一や、wwwのありなし統一はそんなに大切なことなの?と思われることもあるでしょう。
ですが上記2ケースがもし全部統一されていない場合、

www.example.com, example.com, www.example.com/index.html, example.com/index.html

の4つもページ評価が別れてしまう、と考えると、その大事さがご理解いただけるかと思います。

忘れがちな統一設定ですが、リリース前や反映時に忘れず設定しておきましょう。

 

今回の記事の参考ページ