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つもページ評価が別れてしまう、と考えると、その大事さがご理解いただけるかと思います。
忘れがちな統一設定ですが、リリース前や反映時に忘れず設定しておきましょう。
コメントする