1. HOME
  2. Web

重複コンテンツ対策 .htaccessを使用してURL正規化

投稿日:2015年10月18日/更新日:2018年6月19日
www

重複コンテンツとは

別URLで同一コンテンツがある場合に重複コンテツとなります。その場合googleで別々のサイトとして分散して評価されたり検索順位の評価が低下する可能性があります。サイト立ち上げ時から重複コンテンツにならないように作成するのがベストですが、重複してしまった場合301リダイレクトを使用する等いくつかの方法があります。

wwwあり・なしの場合

www.example.com
example.com

上記のようにwwwあり・なしで同じコンテンツがある場合、別URLとみなされ重複コンテンツとなります。トップページだけでなく下層ページも同様です。 overlap-contents

実際に確認したい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





PAGE
TOP