興味深い出来事だ。地方自治体のホームページが検索結果に表示されない事態である。この件でいくつか調査したので、とりあえずどうしたらいいの?について書きたい。
伊万里市のサイトは 某 CMSを使っていることがそのソースから分かる。このシステムは他の地方自治体のホームページでも使われているのが少し気になった。なお、このシステムと今回の問題との因果関係は不明であるし、対応したベンダー企業の情報も私は知らない。そのベンダーはインデックスされなかったことに対して、「 有料広告欄の運用が、グーグルが検索対象に求める不正防止のためのガイドラインに違反していることなどが原因となり、検索結果から除外された」(財経新聞)と伊万里市職員に話したという。
このベンダーの言い分は正しくはなかった。おそらく問題の根本は、伊万里市の(何らかの)システムで存在しないページが動的に生成されて、そのページに対して404ステータスをレスポンスせず、500を返してしまったことなのだ。 似た事例がCODE BASE Blog にあった。 そして、クローラの初期動作として、 robot.txt を読みに行く。 今まではそれが無くとも、問題はなかったが、不存在のファイルが500を返すことになってしまった故、問題が起きた。
私は初め 財経新聞 を読んだ時に単なるテキストファイルが500を返す状況があり得るのか悩んだが、システム的に存在しないファイル全て500を返す事態がある、よってrobot.txtも例外ではない(CODE BASE Blog)と知った。
robot.txt が500を返すのは、かなりヤバい事態
「robots.txt が 5xx エラーを返す場合、30 日間まではそのサイトのクロールを完全に停止します。言い換えると、サイトのクロールが完全に拒否されていると検索エンジンはみなします」(海外SEO情報ブログ)
つまりは、インデックス効果が薄れてゆく、ということ。これが伊万里市のホームページの悲劇につながったと考えられる。
そこで、 徳丸浩氏 は空(何も記述されていない)のrobot.txt をアップロードさせて、クローラに空ではあるが robot.txt が存在していることを知らしめて問題を解決させた。おそらく、30日間のクロール停止を解除するため、サーチコンソールのURL検査も合わせて行ったと推察する。