Google検索~なんかえらいことになってた~

~Google サーチエンジンがひどいことになってた~

SEO対策で検索トップに表示されるようにと言う記事は、もう既に過去のものとなったのか、日進月歩というか、今や、HTTPsがメインのサーチ対象となっていて、すっかり油断していたら、当ページのインデックスが全て、HTTPs経由のインデックスしか出てこないではないか。

もともと、個人ユースなので、HTTPsでのアクセスを主体に考えておらず、WordPressのベースURLも”HTTP://hoge/”というのを基本に設定しているので、勝手にHTTPs経由になってしまうと、とても困るのである。
FireFOXを使っていて、最近、黙っていると、HTTPsに転送されるものが大変多くなってきていて、「安全な接続が出来ませんでした」のような、警告メッセージが表示されるのが、多くなってきたなあ。と言う程度だったのだが、これには理由があった訳ですよね。

「意図せずに、HTTPs経由のインデックスがされる。」これは、ある程度既知なのだけれど、この選択は、ユーザーによって自由に選択できて良いと思うのだが、不幸にして、HTTP経由と、HTTP経由のアクセスが同時に可能な場合には、ベースURLのアドレスに関係なく、HTTPsが優先的にインデックスされてしまうのである。
これは、まずい・・と慌てて、HTTPsアドレス経由のアクセスを消しても、事は既に遅いのであり、Googleエンジンにインデックスされた以降にこれをすると、閉鎖してしまったような振る舞いをして、本来はアクセスできなくてはならないページが全くアクセス不能となるので、仕方なく、HTTPsでのアクセスも生かしつつ、それでも、普段は、HTTP経由でアクセスしてよね。
と、いうことで、HTTPS://hoge/のインデックスを停止する仕組みを作ったのだが、正直、これをやると、インデックスそのものがされなくなってしまうのではないかという不安も出てくるわけで、大変困ってしまった。

とりあえず、通常通りに、http://hoge/でインデックスするための工夫をしてみた。
Robotsが真面目に、robots.txtの指示を守ってくれるかどうかは、多少疑問点はあるが、下記のような設定をしてしばらく様子を見ることにした。

~/public_html/.htaccessに以下を記述

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^robots.txt$ robots_ssl.txt
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

この状態で、robots_ssl.txtには以下を記述した。

User-agent: *
Disallow: /

追記)
HTTPsによるインデックスを呈するだけでは、なんの役にもたたず、単に、検索エンジンにインデックスされないだけだったので、青字の部分を生かし、様子を見ることにした。
今度は、どちらがインデックスされるかということなのだが。。

これで、HTTPs経由で、robots.txtが参照されると、全てのRobotsには、Disallow: /となるので、HTTPsはインデックスされない事になる。
これでもだめなら、青文字の部分を生かし、HTTPsを強制的にHTTP経由にしてしまう。

現行で問題なのは、ブラウザーによっては、HTTPsの中間証明書が正しく機能しないので、HTTP経由でアクセスしてきたユーザーが場合によっては警告メッセージをみることになってしまう点である。
もしや、FireFOXだけの問題なのかもしれないが、困った問題である。

Comments are closed.