robots.txtエラーでGoogleクローラーが来てくれない

最近更新が滞っていた間にGoogleのクローラーの巡回頻度が激減しておりました。というかゼロに張り付いていました。

クロールされているかどうかはGoogleのウェブマスターツール、Search Console(サーチコンソール)で確認できます。

一か月くらい前からゼロになっていたことがわかります。

クロールがなくなった直接の原因

クロールされなくなってしまった原因は同じくSearch Consoleが教えてくれます。今回の場合は、robots.txtがGoogleのクローラ(別名、ボット、bot)から見えないためにクロールを停止する旨が書かれていました。

クローラーがrobots.txtにアクセスできないそうです。

ブラウザーからは見えたが

自分のブラウザーからrobots.txtにアクセスしてみると通常通り見えていました。このせいで原因がわからなくなってしまっていたのですが、困ったときのキャッシュクリアを試してみたら、ブラウザからもアクセス不能となりました。

  1. 自分のブラウザのキャッシュクリア
  2. クラウドフレアのキャッシュクリア

の2つを試しました。

通常、TXTファイルのような静的(であるはずの)ファイルはキャッシュ時間が長くなっていることが多いため、自分からは見えてもクローラーには見えないことが起こります。次にCDNのクラウドフレアのキャッシュパージを行いました。

その結果、自分のブラウザ上からrobots.txtを見に行っても500エラーでアクセスできなくなりました。

robots.txtのプラグイン

これまで、robots.txtを作成する補助としてWordpressのプラグイン「Multipart robots.txt editor」を用いてきました。このプラグインはまだ更新されており、最近のバージョンに更新されたのと前後して今回のエラーが発生していました。

今回、プラグインを「Virtual robots.txt」に変更したところ無事に回復しました。その結果、Googleクローラーからのアクセスも回復しました。

今回のまとめ:キャッシュに注意

今回の件を含めて、サーバやブラウザ、CDN上のキャッシュファイルのせいで異常の発見、原因究明が遅くなってしまうことはよく有ります。トラブル時に手順を決めておいてまずしっかり確認するのが大切と再認識しました。

  1. ワードプレスのキャッシュプラグインを停止し、キャッシュを削除する
  2. ブラウザのキャッシュを消すか、別の端末からもアクセスしてみる
  3. クラウドフレアなどのCDNサービスをリセットする
  4. いざというときに備えて、サーバーのスナップショットを作製しておく

サーバーのバックアップは、毎日・毎月自動で作成されてはいますが、過去のバックアップは自動的に削除されていくため、今回のように更新が滞っていたなどの理由で発見が遅れると、正常なバックアップはすでに消えてしまっている状態に直面します。WordPressは記事のエクスポート、インポートはできるので、サーバーバックアップだけではなく記事バックアップを作成しておくのも良いと思います。

https://techacademy.jp/magazine/7824

JoomlaやDrupalだと一からサイト構築を始めると大変ですが、Wordpressならプラグインも豊富でかなり簡単に再構築できますので。