どうも最近Googlebotの来訪が多いようなんだが・・・
最近またショップ系サイト置いてる鯖へのGooglebotの来訪が多いようで、
またMySQLが高負荷でエラーになることが多くなってるんだが、
前にrobots.txtにCrawl-Delayつけて負荷対策したが、
どうも、GooglebotはCrawl-Delay見てくれんらしい。
マジスパム・・・
で、どうしようか考えたが、
一般的にはウェブマスターツールで設定して制御するみたい。
だが、ウェブマスターツールで設定するのは避けたいな・・・
今回問題のサイトはウェブマスターツール登録サイトだからできなくはないが、
ワイルドカードドメインとかだとウェブマスターツールで設定ってことはできないし。
Googleも、巡回頻度はページ数に応じて最適化されるべきで、
ウェブマスターツールでの設定は推薦してない感じ。
で、
「Googlebot & If-Modified-Sinceつき」
の時は、CGI処理せずに問答無用で304 Not Modified返しちゃおう!
って作戦にした。
この前商品情報のキャッシュ期間を100日から10日に短縮したから、
多分それでGooglebotの来訪が増えちゃってる。
でやったわけだが、
$ENV{'HTTP_IF_MODIFIED_SINCE'}
が取得できない病に陥ってエラいハマった。
If-Modified-SinceつけるためにLast-Modifiedを固定でつけてたんだが、
固定でつけちゃったら常にキャッシュ有効になって表示が更新されんよなw
強制更新したら今度はIf-Modified-Since送られないし。
とりあえず1サイトやったが、
Googleさんにもある程度の頻度でキャッシュ更新してもらいたいから、
問答無用で304じゃなくて、きちんとキャッシュ時刻確認した方がいいな。
ってわけで、そんな感じの処理も入れた。
他にも問題サイトがあるから、
きちんと304返してるのを確認したら対応させる。
Googlebotだけにしたが、If-Modified-Sinceつきなら全部そうしちゃってもいいかもしれんな・・・
そうするか。
今はブログ投稿系をやってるけど、
負荷が高い状況ではやりたくないし、
この問題の解決まで中断かな。