URLの正規化(カノニカル設定)の方法と実施理由

カノニカルとは、「正規の」という意味です。

検索エンジンがサイトをクロールする際、

  • 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]
おすすめの記事