- https://example.com(「www」無し)
- https://www.example.com(「www」有り)
- http://example.com(常時SSL化していない)
- https://example.com/index.html(ファイル名あり)
- https://example.com/index.php(ファイル名あり)
上記はすべて同じWebページのURLですが、検索エンジンには別のページだと判断されてしまうケースがあります。
そうなるとページの評価が分散され、SEO的にデメリットがあります。
ということでこのページでは、サイトURLの「www」有無の統一、常時SSL化(http://→https://)の際に.htaccessファイルでURLをリダイレクトさせる方法についてまとめます。
サイトURLのwww有無や常時SSL化でURLを統一するリダイレクト設定
常時SSL化でURLを「https://~」に統一する
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
URLの「www」を有りに統一する
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/\ [R=301,L]
URLの「www」を無しに統一する
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example\.com$
RewriteRule ^(.*)$ https://example.com/\ [R=301,L]
URLのファイル名(index.html/index.php)を無しに統一する
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/\ [R=301,L]
まとめ
以上、URLの「www」有無の統一や常時SSL化の際に.htaccessでリダイレクトさせる方法でした。
ここで紹介した方法と合わせて、Canonical属性によるURLの正規化もしておくとよいです。
WordPressでのCanonical URLの設定方法は以下のページにまとめていますので、よかったら読んでみてください。