Googlebotのレンダリングが劇的に高速化していた――レンダリング完了にかかる時間は中央値が5秒、90パーセンタイルが数分以内 #ChromeDevSummit

[レベル: 上級]

Googlebot のレンダリングエンジンが JavaScript のレンダリングを完了するまでにかかる時間を Google は大幅に短縮しました。
JavaScript を多用しているサイトは、もはやレンダリングの遅延を気にする必要がなくなりそうです。

JS コンテンツのレンダリングには長い時間がかかっていた

Googlebot のレンダリングエンジン (WRS: Web Rendering Service) は常に最新の Chrome と同等の性能になるようになっています。
いわゆる “Evergreen Googlebot” です(Evergreen は「いつまでも新鮮な」という意味)。

ところが Evergreen になっても、レンダリングは別プロセスで実行されます。
そのため、JavaScript によって生成されるコンテンツがクロールされてから実際にインデックスされるまでには、依然として時間差が発生します。
遅延は数時間から数週間に及ぶこともあります。

特にニュースサイトのように即時性が求められるような場合は、JavaScript でメインコンテンツを生成するのは不向きでした。
サーバーサイドレンダリング (SSR) やダイナミックレンダリングが必要になるケースもあります。

レンダリング完了の中央値が 5 秒、90 パーセンタイルが 数分以内

ところが、レンダリング処理の完了までに要する時間は劇的に短くなっていました。

11 月 11 日 〜 12 日に米サンフランシスコで開催された Chrome Dev Summit 2019 で Matin Splitt(マーティン・スプリット)氏が改善の成果を明らかにしました。

Martin Splitt speaking ag CDS2019

スプリット氏によれば、Googlebot の現在のレンダリング処理速度に関して次のようなデータが出ているそうです。

  • 中央値が 5 秒
  • 90 パーセンタイルが数分以内

レンダリング処理にかかる時間は当然一定ではありません。
最も速い場合から最も遅い場合に並べたときにちょうど真ん中にくるのが 5 秒とのことです。
最も速い場合から並べたときに、数分以内であれば全体の 90 % 以内に収まるそうです。

レンダリング完了までに数時間から数週間かかっていたのが、ほとんどのケースでは数秒から数分に短縮されたと理解して構わないでしょう。
Googlebot が完全にレンダリングできるのであれば、インデックスという観点では、タイムラグは心配するほどのレベルではなくなっているように思えます。

とはいえ、パフォーマンス(ユーザー側での表示速度)も考慮に入れれば、SSR を引き続き利用したいところではありますが。