wwwあり・なしを統一してドメインを正規化する方法
あなたのサイトは「wwwあり・なし」どちらでもアクセスできる状態ですか?
サイトを公開した際に、ドメインはデフォルトで以下のようなurlでもそれぞれアクセスできてしまいます。
- example.com
- www.example.com
しかしこれでは、クローラーがそれぞれ別のサイト(ページ)と判断して「重複コンテンツ」と認識してしまう可能性も考えられますし、正しく検索エンジンにインデックスされるまでに余計な時間もかかってしまいます。
サーバーによっては自動で正規化(URLを統一)してくれるところもあるようですが、別々のurlに被リンクが設定され、評価が分散してしまう前に正しく設定しておきましょう。
適切にwwwあり・なしを統一する事はSEO対策に効果的です。
この記事ではドメインを.htaccessで正規化(URLを統一)してSEOに無駄のない方法をご紹介したいと思います。
.htaccessでドメインを統一する
「www」あり・なしの設定方法は.htaccessでそれぞれ301リダイレクトして統一する方法やcanonicalタグを併用するなどといった方法が一般的ですが、本記事では.htaccessで301リダイレクトを設定し統一する方法をご紹介します。
はじめに、wwwあり・なしのどちらのドメイン(URL)に統一したいのかにより、記述する内容が変わります。
以下のタグの統一する方を選び、htaccessに記述してサーバーにアップしてください。
※ドメインは適宜変更してください。
<!-- wwwありに統一 --> Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^seopack\.jp$ RewriteRule ^(.*)$ http://www.seopack.jp/$1 [R=301,L]
<!-- wwwなしに統一 --> Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.seopack\.jp$ RewriteRule ^(.*)$ http://seopack.jp/$1 [R=301,L]
サーバーにアップした後は、正しくリダイレクトされているかどうかを実際にURLにアクセスし確認しましょう。
Googleサーチコンソールで使用するドメインを指定する
.htaccessで、リダイレクトの設定によりwwwあり・なしの統一が完了したら、次はGoogleサーチコンソールで使用するドメインを設定しておきましょう。
ドメインを指定する方法は、wwwあり・なしの両方のドメインを登録して、「設定」>「アドレス変更」から使用するドメインを選択しておくだけです。(どちらのドメインからでも設定できます)
※両方のドメインを登録しないままドメインの選択をすると登録していないドメインの所有権の確認を促されます。
index.html(php)のあり・なしも統一しましょう
ドメインの統一以外にもファイル名のあり・なしも統一しておきたいところです。
- www.example.com/
- www.example.com/index.html(php)
この、index.html(php)は/(スラッシュ)止めが主流なので、本記事では「なしで統一」する例をご紹介します。
下記のタグを.htaccessに追記します。
<!-- index.html(php)なしで統一 --> Options +FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]
その他にも、正規化については不要なパラメーターやSSLに関しても場合によっては必要となりますので、下記の記事を参考に必要な正規化の対策を行いましょう。
\無料診断の活用で課題を明確に/
外部リンク、内部状況、コンテンツ状況からSEO対策の課題が見えてくる無料調査です。
「対策ページの弱点は何か...」などお悩みをお持ちの方は、一度「SEOパーソナル診断」をご利用ください。
ドメインの正規化まとめ
wwwあり・なしを統一する方法などのドメインの正規化について説明しましたが、今回、本記事でご紹介した.htaccessに記載する正規化の内容をまとめたものがこちらになります。
※バックスラッシュは環境によっては円マーク(¥)になってしまうので注意してください。
Options +FollowSymLinks RewriteEngine on <!-- wwwなしに統一 --> RewriteCond %{HTTP_HOST} ^www\.seopack\.jp$ RewriteRule ^(.*)$ http://seopack.jp/$1 [R=301,L] <!-- index.html(php)なしで統一 --> RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]
ドメインの正規化によって検索順位が上がる訳ではありませんが、アクセス可能なドメインが複数存在することによって後に問題が発生しないように、SEO対策の一部としてドメインの正規化は正しく行っておきましょう。