カノニカルとは、「正規の」という意味です。
検索エンジンがサイトをクロールする際、
- http://example.com
- http://www.example.com
この2つのURLが同じ内容のコンテンツだった場合、どちらが公式と認めて良いか迷います。
wwwなしが正式であれば、
www.example.com にアクセス → example.comに転送
という処理を施してやることで、検索エンジンにwwwなしが公式サイトと意思表示することができます。
これを、URLの正規化と呼びます。
WWWありなしの統一
.htaccessに以下の内容を記載します。
wwwあり → wwwなしへ転送
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^/?$ "http\:\/\/example\.com\/" [R=301,L]
wwwなし → wwwありへ転送
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
SSLの統一
http:// → https:// へ転送
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
「index.htmlあり」を「index.htmlなし」に転送する場合
https://example.com/index.html → https://example.com
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://example.com/$1 [L,R=301]