概念

INP次のペイントまでの操作遅延

クリック・タップ・キー入力に対して、ブラウザが次の画面を描画するまでの応答性を測る指標です。操作後の反応が遅いページを、実際の利用者データとテストで切り分けるために使います。

30秒で理解

INP(Interaction to Next Paint)は、ページ上で利用者がクリック・タップ・キー入力をした時点から、その操作結果を含む次のフレームをブラウザが描画できるまでの時間です。短いほど、メニューを開く、ボタンを押す、フォームへ入力するといった操作にすぐ反応するページです。

店員に注文してから、注文票を受け取るまでの待ち時間です。注文を受け付けただけでなく、画面に「受け付けました」と出るところまでを測ります。裏側の処理が完了するまでの時間すべてを測る指標ではありません。

INPはページを開いた直後の1回だけではなく、滞在中に起きた操作を見ます。最も遅い操作に近い値が、ページ全体の応答性として記録されます。操作が一度も起きなければ、INPの値が報告されないこともあります。

どういう仕組みか

1回の操作の遅延は、次の3つに分けて考えると調査しやすくなります。

区分何を測るか起きやすい原因
入力遅延操作されてからイベント処理が始まるまでメインスレッドを長い処理がふさいでいる
処理時間イベントハンドラーが動き始めてから終わるまで大きなJavaScript処理、同期的な計算
表示遅延処理が終わってから次のフレームが描画されるまでレイアウト計算、複雑な描画、大きなDOM

対象になるのは、マウスのクリック、タッチ操作、キーボード入力です。スクロールやマウスホバー、ズームはINPの操作として数えません。

どこで見えるか

利用者の実環境での傾向は Search Console の「ウェブに関する主な指標」で確認します。モバイルとパソコンは分けて表示され、URLグループごとに「良好」「改善が必要」「不良」の状態が出ます。

INPSearch Consoleでの状態
200ms以下良好
200ms超、500ms以下改善が必要
500ms超不良

この値は、直近28日間の実際の利用状況をもとにしたURLグループの値です。個別URLを今すぐ試した結果ではありません。画面にデータが無い場合は、データ量が足りない可能性があります。個別ページをその場で試すときは PageSpeed Insights の実行結果を使います。

よくある誤解

INPは「ページが表示されるまでの速さ」ではありません。最初の表示はLCP、表示中のレイアウトのずれはCLS、操作への反応はINPというように、見る場面が異なります。

誤解実際の意味
最初のクリックだけ測るページ滞在中のクリック・タップ・キー入力を対象にする
APIの応答完了までを測る次のフレームに操作結果が描画できるまでを主に測る
スクロールが遅いとINPが悪化するスクロールそのものはINPの対象ではない。ただしスクロール後のタップなどは対象になる
PageSpeed Insightsの値とSearch Consoleの値は同じ前者は個別URLのテスト、後者は実利用データのURLグループで、数字が一致しないことがある

これを踏まえて何をするか

まず、実利用データで問題の端末とURLグループを絞ります。

順番開く画面次に行う操作
1Search Console → ウェブに関する主な指標モバイルとパソコンを別々に開き、「改善が必要」または「不良」のINP行を選ぶ
2INPの問題詳細例として表示されたURLを1つ開き、同じURLグループのページを確認する
3PageSpeed Insights問題詳細からテストを開き、遅い操作と「メインスレッド」の長い処理を確認する
4ブラウザの開発者ツール → Performanceその操作を再現し、クリックやキー入力から次の描画までを記録する
5修正後のSearch Console問題詳細へ戻り、「検証を開始」を押して、実利用データで変化を追う

原因がJavaScriptの長い処理なら、まず操作直後に必要な画面更新を実行し、後回しにできる処理を次のフレーム以降へ分けます。描画が重い場合は、操作で更新するDOMの範囲とレイアウト計算を確認します。修正対象が決まらないときは、PageSpeed Insightsで表示された具体的な遅い操作を1つだけ開き、Performanceの記録でその操作の前後を見ます。

一次情報

サービスの仕様に依存する内容です。半年ごとに見直しています。