http status codeに関する四方山話

ちょっとしたきっかけで、自分が個人的に借りているレンタルサーバーが、ファイルが無いときに返しているステータスコードについて調べる機会がありました。そして、色々調べていたら、それは実は検索結果にも影響を与える可能性があるっぽい感じです。

ああ、だから僕の個人ブログはある日いきなり検索順位がさがtt・・・あ、いえ、失礼しました。つい私事が気になって。

以下、詳細です。

一昨日のこと、これまでほどほどに人が訪れていた個人ブログのアクセスががくんっと落ち込みました。ログを詳細に見てみると、どうやら、Googleからの流入が全くの0になっていることが判明。試しに、アクセスログの中で上位にあった検索ワードをいくつかググってみたところ、ほとんどひっかからないか、ひっかかっても非常に順位が低くなっています。軽いGoogle八分状態にいきなり陥ってしまっているようです。

こちらがなにかやって起きた結果ではないので、アルゴリズムが変わったんだろうと思い、少し調べてみたら、直接の関係があったかどうかは別として、確かに少し変更があったらしき記事を発見。まあ、なんです。なにか影響があるんでしょう。

落ちてしまったものはしょうがないので、とりあえず内部施策としてなにか見直すことはできないかってことで、Googleのウェブマスターツールから色々と手を打っている中、ふと、robots.txtに対するステータスコードが302 Moved Temporarilyであることに気づきました。

robots.txtは置いていないので、ここ404 (file)not foundじゃないとおかしいのでは?と思いさらに調べを進めると、とある系列のレンタルサーバーでは、ファイルが無い場合のステータスコードについて、結果として302を返しているという記事を発見。ああ、もろにその系列のレンタルサーバーです。

少し古い記事ですが、以下のサイトが詳しかったので引用させていただきます。

【解決編】ロリポップ・チカッパなどのGMOで404が302 – htaccessの記述次第

そして、それに付随して以下のような記事も発見。これも多少前の記事ですが。

robots.txtがないとグーグルのインデックスから消えるかも

要約すると、

  1. 僕が個人で借りてるレンタルサーバーは、デフォルトだと存在しないファイルが有る場合に302というステータスコードを返す。
  2. ステータスが302の場合、Googleのクロウラーはインデックスしないことがある。

って感じでしょうか。

robots.txtは、必ず置かなければならない必須ファイルということではありませんが、そのrobots.txtが無いことで、サーバが302を返すことがあるってのはSEO上確かに少し問題なのかもしれません。

僕の個人ブログの例で言うと、これまではrobots.txtが無くても、特定の単語で普通に検索上位に来ていたし、現在もインデックス自体はされているようですので、302を返すサーバーのドメインが常にクローラーから無視されるってことでもないし、今回のことに関係あるかどうかはわからないんですが、とりあえずrobots.txtは置いてみて、ウェブマスターツール上ではステータスコード200(正常)を確保し、様子を見ることにしてみました。

こういった検索アルゴリズム等に関して、基本的には完全にブラックボックスなので、いつ、アルゴリズムが変わって予想外の影響がでるかわかりませんし、極端なSEO対策はともかく、例えばsitemap.xmlを置くとか、robots.txtを置くとかの前向きな施策はなるべくまめにやっておくのが吉かもしれないですね。

「sitemap.xml置いてたから今回のアルゴリズム見直しで順位落ちちゃったよ!」なんてことは恐らく無いでしょうし。

いやいやしかし検索エンジンは気まぐれで難しいですね。自分の勉強という意味でも、個人ブログの検索順位については、引き続き調査を続けていきたいと思います。