フィールドデータ vs ラボデータ:Core Web Vitalsに関する議論の多くが失敗する理由
パフォーマンスに関する議論の多くは、誤ったデータセットを使用しているために起こります。
ある人は実際のユーザーの結果を見ており、別の人はラボでのシミュレーションを見ています。どちらも正しいのです。ただ、それぞれが答えている問いが異なるだけです。
使用しているデータセットを明示できないのであれば、それは診断ではなく、ただの議論に過ぎません。
その違いを理解しましょう:
- フィールドデータは、実際のユーザーが大規模に失敗しているかどうかを教えてくれます。これには、低スペックなスマートフォンや不安定なモバイル通信環境も含まれます。
- ラボデータは、なぜ失敗しているのかを教えてくれます。制御されたトレースや、再現可能なテストを提供します。
LCP、INP、CLSといったCore Web Vitalsは「結果」の指標です。それらは「何が起きたか」を教えてくれますが、「なぜ起きたか」は教えてくれません。
平均値を使うのはやめましょう。75パーセンタイルを使用してください。あなたにとってサイトが速く感じられたとしても、75パーセンタイルは低速なネットワークやスペックの低いデバイスを考慮するため、依然として要件を満たしていない可能性があります。
パフォーマンスの問題を解決するには、以下の手順を踏んでください:
- フィールドデータ:問題が存在することを確認し、その範囲を特定する。
- ラボデータ:テスト可能な原因を切り分ける。
- フィールドデータ:修正が元の証拠に対して有効であることを検証する。
主張を証拠と一致させましょう:
- ユーザーが失敗している場合:Search Consoleの傾向を確認する。
- テンプレートが原因である場合:類似したURL全体で失敗が発生していないか確認する。
- サーバーが原因でLCPが遅い場合:ラボのトレースを使用して、ドキュメントのレスポンスが遅れている箇所を特定する。
- INPが失敗している場合:DevToolsを使用してロングタスクを特定する。
- リリースによってデグレが発生した場合:タイミングをデプロイログと照らし合わせる。
Lighthouseの実行結果を一度きりで判断しないでください。デスクトップでのテスト結果でモバイルでの失敗を説明しないでください。「速くなった気がする」を証拠にしないでください。
次のステップに従ってください:
- 使用しているデータセットを1文で明示する。
- 範囲を確認する。そうでなければならないと証明できるまでは、テンプレートの問題であると仮定する。
- 制約を特定する。サーバーなのか、レンダリングパスなのか、それともサードパーティなのか?
- 自分の仮説が間違っていることを証明するために、可能な限り最小限のテストを実行する。
ボトルネックを見つけるにはラボデータを使用してください。ボトルネックが解消されたことを証明するにはフィールドデータを使用してください。
