重複コンテンツ対策 .htaccessを使用してURL正規化
投稿日:2015年10月18日/更新日:2018年6月19日重複コンテンツとは
別URLで同一コンテンツがある場合に重複コンテツとなります。その場合googleで別々のサイトとして分散して評価されたり検索順位の評価が低下する可能性があります。サイト立ち上げ時から重複コンテンツにならないように作成するのがベストですが、重複してしまった場合301リダイレクトを使用する等いくつかの方法があります。
wwwあり・なしの場合
www.example.com
example.com
上記のようにwwwあり・なしで同じコンテンツがある場合、別URLとみなされ重複コンテンツとなります。トップページだけでなく下層ページも同様です。
実際に確認したいURLでwwwあり・なしとアクセスすると重複しているのかリダイレクトしているのか確認できます。
重複パターン例
WWWあり・なしhttp://www.example.com http://example.com
ファイル名有無
http://example.com/ http://example.com/index.html http://example.com/index.php
正規化するURLの決定
現在の状況を確認してどのURLに統一するかを決定します。 実際にアクセスして既にリダイレクトしていないか確認します。「www」あり・なしはどちらに統一でも問題ないとされていますが、サイト名などで検索してどちらがインデックスされているか、もしくは外部からのリンクはどちらが多いか確認したほうがいいでしょう。
.htaccessを使用してURL正規化
使用しているサーバが.htaccessの使用可能か確認します。また既に.htaccessを使用している場合は追記します。変更の際は無限ループにならないように注意しましょう。
※Options +FollowSymLinks はサーバによりエラーとなり不要な場合があります。
※環境によりバックスラッシュは \(円マーク)で表示されます。
※ドメイン部分(example.com)はご自身のドメインに変更してください。
WWWなしに統一
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com$ RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
WWWありに統一
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
index.html なしに統一
Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]
https に統一
(要:SSL設定・一般的な80番ポートを使用している前提)Options +FollowSymLinks RewriteEngine on RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
リダイレクトテスト
設定完了後、変更したURLとその下層ページにエラーや無限ループしていないか確認します。数回の変更を行いブラウザにキャッシュが残っている場合はキャッシュ削除またはブラウザを変えて検証を行います。以下の検証サイトでも301リダイレクトになっているか確認可能です。
http://www.alphaseo.jp/seo-tool/070507_222856.html
http://ohotuku.jp/redirect_checker/
Leave a Reply