サイトをCDN(コンテンツ配信ネットワーク)の後ろに置いたら、かえって元のサーバーへのアクセスが増えた。そんな声がサイト運営者から届くことがあるそうです。Googleの検索チームが11月11日に公式ブログで、この現象の仕組みと、切り替えのときに気をつけたい点を説明しました。サーバーの負荷を下げたくてCDNを入れる中小企業のサイトは多いので、導入の前に知っておきたい内容です。
理由は、Googleのクローラーが巡回の速さを決める方法にあります。Googleはサーバーの応答を見ていて、応答が遅くなれば巡回を抑え、速く安定していれば少しずつ巡回を増やします。DNSをCDNに向けたとたんに応答が速くなるので、クローラーからは、サーバーが大幅に増強されたように見えるわけです。一方で、入れたばかりのCDNにはまだキャッシュがありません。あるURLへの最初のリクエストは、必ず元のサーバーまで取りに行きます。人の訪問は人気のページに集まるのでキャッシュがすぐ温まりますが、クローラーはサイトのURLを幅広くたどるのが仕事です。まだキャッシュに無いURLへのリクエストが次々に元のサーバーへ届くことになります。クローラーが一気に速度を上げるわけではなく、多くのCDNには接続をならす仕組みもありますが、キャッシュが行き渡るまでは元のサーバーが重い仕事を担い続ける、というのが記事の説明です。
ボットを一律に止めると検索から消えていく
ここでログを見て慌て、CDNの管理画面でボット対策を一律に有効にするのが、記事が挙げている失敗です。例外を設けない設定は、来てほしいクローラーも同じように扱います。CAPTCHAのような確認画面を出されると、Googleのクローラーは通過できません。Googleからは、サイトが意図的に閉じられているか壊れているように見え、そのままにしておくと巡回が減り、ページや商品の掲載が検索結果から落ちていくと説明されています。
対策として挙げられているのは三つです。まず、ボットを止める必要があるなら、確認済みのボットを通す設定を使うこと。主要なCDNやWAFの多くに、そのための切り替えや管理ルールが用意されているとのことです。次に、すべてのアクセスをCDNに流す前に、アクセスの多いページ、これからアクセスが集まる予定のページ、よく巡回されるURLを、抑えた速さでCDN経由で取得してキャッシュを温めておくこと。それでも元のサーバーが苦しいときは、429か503のステータスコードを短い間だけ返して巡回を抑えられます。期間は数時間、長くても一日か二日までとされています。
CDNの導入は「DNSを切り替えたら終わり」と考えがちですが、キャッシュが温まるまでは元のサーバーが働き続けます。切り替えの日を、セールや催しの告知と重ならない時期に選ぶだけでも余裕が生まれます。レンタルサーバーの上位プランやCDNを検討しているなら、切り替えの後しばらくはサーバーのログとSearch Consoleのクロールの統計を見比べる、という予定を先に組んでおくと安心です。













