Googlebotが正常にサーバにリーチできない問題

サイトが検索エンジンにインデックスされないという問題があり、かなりはまったので、情報シェア。
[事象]
通常のブラウザでの閲覧は問題ないが、Googlebotなど、検索ロボットからはUnreachableとなる。googleのウェブマスターマスターツールにある、Fetch as googleを使うと、9割以上はunreachableになるが、たまに成功する。この結果、サイトが検索エンジンにインデックスされないという非常に致命的な状態に陥る。


この手の問題調査はかなり難しく、一歩ずつつぶしていくしかない。というわけで、以下、調査、及び、対応の結果。
[調査&対応の流れ]
※番号を振っていますが、この順番で調べたわけではないです。便宜上の番号振り。
1.robots.txtを確認、問題ない。
2.DNSをintodnsで確認。大体、問題ない。
3.apache設定確認。mod_rewriteを用いているのが影響しているのかと思ったのだが、別のサーバ(ネットワーク)で同様の設定で読み込みが成功している。一応、設定を色々変えるが成功せず。
4.ネットワーク構成確認。問題が発生したのは、以下のネットワーク構成。


fig.563-A

同一セグメントでgoogleにインデックスされるものとされないものがある事に気づく。差異の調査と、googleで過去の記事を検索し、調べてみたところ、MTU設定によって、到達しないケースがあるとの事。
調べてみたところ、Firewallのuntrustが1450に設定しており、内部(trust)が1500となっていた。また、googleにインデックスされていたサーバのインターフェースはMTU1450、駄目なのものは全て1500となっていた。
とりあえず、FWのtrustのインターフェース、及び、ウェブサーバのインターフェースをそれぞれ、MTU1450で統一。結果、これがビンゴでGooglebotが正常にヒットしはじめ、インデックスされた。
ネットワーク系の情報は、セキュリティと絡む為、あまり公開されないと思うので、参考までに載せときます。ま、特に珍しいネットワーク構成でもないし、この程度は、よいかと思いますので。
[補足]
○一時的にeth0のMTU値の変更コマンド
#ifconfig eth0 MTU 1450
○恒久的にやる場合
以下のファイルにMTU=1450を追加
/etc/sysconfig/network-scripts/ifcfg-eth0
[参考]
MTUについてはこちらがよくまとまっている。感謝。
http://d.hatena.ne.jp/shogo0809/20110228/1298884917

  1. No comments yet.

  1. No trackbacks yet.

(上記4文字の英数字を入力してください)※

return top