HTTPS URLをgoogleへインデックスしない

ブログを立ち上げて、独自のドメインを使い始めると、必要に応じてHTTPs経由のSSL通信を行ないたい場合があるが、一般公開のブログには、HTTPs通信までを求めないユーザーも多いと思う。

ここで問題なのは、HTTPs経由でもHTTP経由でも同時にアクセスが可能なサイトを作った場合、自分は、一般公開用のURLは、HTTPs通信を使わず、検索エンジンへのインデックスも、HTTP経由のアドレスのみをインデックスさせたいと考えても、同一のページがHTTPs経由でアクセス可能である場合、HTTP経由のURLよりも優先されて、HTTPs経由のURLがインデックスされてしまう。

この件は、googleの公式見解なので、HTTPsをインデックスさせたくなければ、最初からHTTPs対応にしないでサイトを作らなくてはならない。
これも場合によっては都合が悪く、同じURL中にHTTPs経由のページを置きたい場合などには対応が出来ない。

そもそも、HTTPs経由で一般公開のブログを置く決定的なメリットは見当たらないし、まして、サイトのアクセススピードが低下してしまったのでは、本末転倒ということにもなりかねない。
デメリットを承知の上で、あえて、HTTP経由のみのインデックスをさせたければ、それなりの対策をしておく必要がでてきたと理解して良いろう。

前回書いた記事で、概ねの対策について検討した結果、Robots.txtのみを書き換えると、HTTP経由のインデックスもされなくなってしまうので、唯一残る方法は、HTTPs経由でアクセスされた場合に、強制的に、HTTP経由のURLへリダイレクトさせるのが良い方法だった。検索エンジンのインデックスが、HTTP経由になれば良いだけで、通常のユーザーは、インデックスされたURLへアクセスすることになるので問題ない。

HTTPs  –> HTTP リダイレクトの方法

.htaccessの先頭に以下を記入する。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} on
  RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

結局のところ、検索エンジンにHTTPs経由のページの存在を教えないということになるだけなのだが、これで、HTTPs経由とHTTP経由が同時にアクセス可能なURLでも、HTTP経由のURLのみがインデックスされるようになる。

逆に、HTTP経由で作ったURLをHTTPs経由に変更したい場合には、SSLキーを取得して、サイトをSSL対応とした状態で、サイトを更新していけば、ほぼ、1ヶ月程度で、殆どのURLがHTTPs経由のURLに置き換わる。
それも、待ちたくない場合には、上記の応用でHTTP経由でアクセスしてきたら、HTTPsへリダイレクトさせれば良いことになる。

ただし、サイトの安全性を評価では、トップページにHTTP経由のURLリンクが含まれると、外部リンクに安全ではないものが含まれると言う判定になるので、HTMLソースも含めて、全てのアドレスをHTTPs経由にしておく必要がでてくる。結構、こういった作業は地道な作業なのである。

Comments are closed.