httpsでGoogleからアクセスできずにGoogleから怒られた

Web-log・ココログ関連,WordPress

Google様から、"[Webmaster Tools] https://oichinote.com/: Googlebot can’t access your site"と言うタイトルのメールが届きました。httpsでのrobots.txtがアクセスできなくなって、その為クロールできないとの事です。最初のメールが10月8日に、2通目のメールが10月16日に届きました。その原因を探し、解決するまでに約10日間かかってしまいました。以下のグラフの通り、10月6日頃から、エラーが急増しています。

robots.txt取得エラー

本サイトは、GoDaddyのホスティングサービスを利用し、WordPressで構築されています。かなり自由度が高いです。逆に言うと、考えられる原因の範囲も広い訳で、調査が大変になります。考えられる原因を列挙してみます。

  1. Googleからのアクセス状況調査
  2. httpに切り替えてのアクセス
  3. Bingからのアクセス
  4. User AgentをGooglebotに変更してのアクセス
  5. WordPressの設定
  6. .htaccessの設定
  7. ホスティングサーバの設定

結局、原因は.htaccessの設定でした。

1. Googleからのアクセス状況調査

これは原因では無いのですが、まず最初に、何が起きているかの状況確認が必要です。文句を言われている、robots.txtへアクセスできるかは、Webmastersから確認できます。

ツール内から、Fetch as Googleを使って、サーバにアクセスできるかどうかを確認できます。ですが、1週間に500回という制限があります。この制限に引っかかるのが嫌だなと思いました。

Google PageSpeed Insightsからのアクセスもエラーになるので、こちらで確認しました。こちらは、回数制限が無いようです。

Google PageSpeed Insghts

生ログを見ると、403エラー(アクセス権無しエラー)になっています。

66.249.82.67 - - [16/Oct/2015:19:35:43 -0700] "GET / HTTP/1.1" 403 11717 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights) Chrome/27.0.1453 Safari/537.36"
66.249.82.72 - - [16/Oct/2015:19:35:43 -0700] "GET / HTTP/1.1" 403 11767 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights) Version/8.0 Mobile/12F70 Safari/600.1.4"
66.249.82.67 - - [16/Oct/2015:19:35:45 -0700] "GET / HTTP/1.1" 403 11717 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights) Chrome/27.0.1453 Safari/537.36"
66.249.82.67 - - [16/Oct/2015:19:35:45 -0700] "GET / HTTP/1.1" 403 11767 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights) Version/8.0 Mobile/12F70 Safari/600.1.4"
66.249.82.69 - - [16/Oct/2015:19:36:13 -0700] "GET / HTTP/1.1" 403 11717 "http://www.google.com/search" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0.1453 Safari/537.36"
66.249.85.160 - - [16/Oct/2015:19:36:33 -0700] "GET / HTTP/1.1" 403 11717 "-" "Google favicon"

2. httpに切り替えてのアクセス

httpsからのアクセスはNGでした。では、httpでのアクセスはどうでしょうか? Webmaster Toolには、httpサイトのエラーは出ていませんでした。上記と同じようにGoogleからhttp経由でアクセスすると、問題ありません。どうも、httpsでのアクセスだけが原因のようです。

3. Bingからのアクセス

Bingにもウェブマスターツールがあります。

こちらからは、httpでもhttpsでも問題なくアクセスできました。Googleからのアクセスの問題のようです。

4. User AgentをGooglebotに変更してのアクセス

Googleからのアクセスを禁止にしているのかと思い、FirefoxのUser AgentをGooglebotに変更してアクセスしていました。ですが、問題なくアクセスできました。User Agentを見て、弾いているのではなさそうです。

5. WordPressの設定

本サイトには、次の記事の通り、https関連で、二つのWordPressプラグインを導入しています。

このプラグインを二つとも停止してみましたが、状況は変わりませんでした。

ほか、WordPressとGoogleと403エラーの関係でいろいろ検索したのですが、該当しそうなものはありませんでした。

6. .htaccessの設定

.htaccessの中で、hot-linkへのアクセスに対して、403を返す部分があります。ここをコメントアウトしてみましたが、状況は変わりませんでした。

原因がどこにあるかを切り分ける為に、.htaccessを削除(名称変更)してみました。そして、アクセスすると、正常アクセス(200)でした。

60.34.14.66 - - [16/Oct/2015:19:46:06 -0700] "GET / HTTP/1.1" 200 2099 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0"
66.249.82.67 - - [16/Oct/2015:19:46:14 -0700] "GET / HTTP/1.1" 200 2099 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights) Chrome/27.0.1453 Safari/537.36"
66.249.82.72 - - [16/Oct/2015:19:46:14 -0700] "GET / HTTP/1.1" 200 2099 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko; Google Page Speed Insights) Version/8.0 Mobile/12F70 Safari/600.1.4"

.htaccessに原因がある事は間違いありません。.htaccessの中で、怪しそうな所を順番にコメントアウトしていきました。そうやって見つけたのが、SSLCipherSuiteの設定が原因と言う事です。SSLCipherSuiteは、httpsでのアクセスをきちんと設定する為に、次の記事のようにしていました。

SSLCiphterSuiteに設定しているCipherが足りないのかと思い、いろいろ確かめたのですが、どうやってもGoogleからアクセスできるようになりません。

SSL LABSで確認すると、Googlebotからもアクセスできる為のCipher設定はされているはずです。

googlebotシミュレーション

SSLCipherSuiteを消すと、問題なくGoogleからアクセスできます。ですが、SSL LABSでのスコアが悪くなるはずです。試しに、SSLCipherSuiteを消した状態で、確認してみました。

SSL LABSスコア

あれ?! SSLCipherSuiteを消しても、評価がA+のままだ。きっと、ホスティングサーバの設定が変わって、十分なセキュリティ設定がされるようになったのでしょう。

.htaccessからSSLCipherSuiteを消す事で解決しました。

7. ホスティングサーバの設定

こちらの可能性も調べていました。特に、制限をかけている所は成さそうでした。.htaccessを削除して、正常にアクセスできた時点で、ホスティングサーバの設定の可能性は消えました。

Posted by お市のかた