Googleウェブマスターツール認証の「システムに一時的な問題」 [Web]
Googleのクローラやインデックスの状況確認や設定を行うためのGoogleウェブマスターツールがある。(Yahooではサイトエクスプローラーがこれに相当する)
このツールでクローリングの設定を行うためには、まず自分がサイト管理者であるということを証明(認証)しなければならない。
認証方法は、ツールが指定してくるURLに対してアクセス可能にすること。
要求どおりファイルを置けるということは管理者なんだろう、という判断だ。
たとえば、http://www.example.com/ というサイトに関してクローリングの設定を行いたいという場合は、
(*************はランダムな半角英数字)
ファイルを設置するなりしてGoogleに読み込ませると認証は完了し、そのサイトに関するクローリング設定やインデックス操作を行うことができるようになる。
ここからが本題。
あるサイトにBASIC認証を掛けたんだけど、すでにGoogleのインデックスに登録されてしまっているのでこれを削除したい。
そんなわけでウェブマスターツールを使うためにrobots.txtやGoogle指定のファイルへのアクセスを許可するためにapacheの設定変更。
http://xxxxxxxx/google****************.htmlにアクセスできることを確認してGoogleに読み込ませる。
しかし「システムに一時的な問題が発生しました。」と表示されて認証が成功しない。
アクセスログを確認すると、/google****************.htmlへのアクセス(レスポンスコード=200)の他になぜか/noexist_***************.htmlというファイルへのアクセスがあった。
後者はBASIC認証が聞いているのでレスポンスコードは401(未認証)。
Googleグループによると、「指定したURL以外のページのレスポンスコードが404(存在しない)になっていることを確認するため(意訳)」とのこと。
確かにどんなリクエストでもとりあえず200を返しちゃうようなサーバがあったらこんな認証は全く意味がないわけだけど、なんか不親切だなぁ。
というわけで以下の設定を追加することで認証成功。
このツールでクローリングの設定を行うためには、まず自分がサイト管理者であるということを証明(認証)しなければならない。
認証方法は、ツールが指定してくるURLに対してアクセス可能にすること。
要求どおりファイルを置けるということは管理者なんだろう、という判断だ。
たとえば、http://www.example.com/ というサイトに関してクローリングの設定を行いたいという場合は、
http://www.example.com/google*************.htmlというURLがレスポンスコード200(リクエスト成功)を返すように要求される。
(*************はランダムな半角英数字)
ファイルを設置するなりしてGoogleに読み込ませると認証は完了し、そのサイトに関するクローリング設定やインデックス操作を行うことができるようになる。
ここからが本題。
あるサイトにBASIC認証を掛けたんだけど、すでにGoogleのインデックスに登録されてしまっているのでこれを削除したい。
そんなわけでウェブマスターツールを使うためにrobots.txtやGoogle指定のファイルへのアクセスを許可するためにapacheの設定変更。
SetEnvIf Request_URI "robots\.txt$" nopass
SetEnvIf Request_URI "google****************\.html$" nopass
<Location>
AuthType Basic
AuthName **********
AuthUserFile ***************
Require valid-user
Order allow,deny
Satisfy any
Allow from env=nopass
</Location>
http://xxxxxxxx/google****************.htmlにアクセスできることを確認してGoogleに読み込ませる。
しかし「システムに一時的な問題が発生しました。」と表示されて認証が成功しない。
アクセスログを確認すると、/google****************.htmlへのアクセス(レスポンスコード=200)の他になぜか/noexist_***************.htmlというファイルへのアクセスがあった。
後者はBASIC認証が聞いているのでレスポンスコードは401(未認証)。
Googleグループによると、「指定したURL以外のページのレスポンスコードが404(存在しない)になっていることを確認するため(意訳)」とのこと。
確かにどんなリクエストでもとりあえず200を返しちゃうようなサーバがあったらこんな認証は全く意味がないわけだけど、なんか不親切だなぁ。
というわけで以下の設定を追加することで認証成功。
SetEnvIf Request_URI "noexist_****************\.html$" nopass
コメント 0