wwwのあるなしを統一しよう
ホームページのアドレスは、http://から始まりますが、例えば、当サイトの場合、
http://www.coolwebwindow.com/
と
http://coolwebwindow.com/
のどちらにアクセスしても、同一のページに遷移します。
この2つのURLの違いは何でしょうか?
そうです。http://の後にwwwがあるかないかの違いですね。このwwwはホスト名(サブドメイン名)と言います。
例えば、当サイトではこのホスト名がweblogというURLもあり、別のWebサイトになっています。
つまり、ホスト名が異なると、同一ドメインにあるにも関わらず、別のWebサイトになってしまいます。
ブラウザは、wwwのあるなしに関わらず同じページに遷移してくれますが、検索エンジンは、wwwのあるなしによって違うWebサイトと判断します。そのため、公にするURLをwwwありに統一するか、あるいはwwwなしに統一するかしたほうがSEO対策的にはよいことになります。
wwwがあっても無くてもどちらでも構いませんが、どちらかに統一するようにしましょう。一般的にはwwwをつけますが、wwwがないほうがすっきりするので、wwwなしを選択する人もいます。
検索エンジン対策として、例えばwwwありに統一したとして、wwwなしでアクセスした場合、「301リダイレクト」という方法でwwwありのURLでアクセスしたようにみせるようにします。(実際には転送します。)
「.htaccess」というファイルに以下のように記述します。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
ここの「example\.com」と「http://www.example.com/」をご自身のドメイン名に変更してください。
※.htaccessファイルの作り方は以下のページを参考にしてください。
index.htmlのあるなしを統一しよう
同様にサイトのインデックスページ(index.html)へのアクセスもindex.htmlのあるなしを統一したほうが好ましいでしょう。インデックスページがHTMLファイルでない場合もありますので、index.htmlをなしで表記するのが一般的です。
「.htaccess」というファイルに以下のように記述します。
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]
先ほどのwwwありなしを統一する.htaccessと組み合わせると、
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]
というようになります。重複している「RewriteEngine on」は1回の記述でOKです。