Googleが検索順位の評価基準として用いるCore Web Vitals。この指標が2024年3月に刷新され、「INP(Interaction to Next Paint)」が正式な評価基準として導入されました。これにより、多くのWebサイト運営者が「スコアが突然悪化した」という新たな壁に直面しています。
従来の表示速度対策であるLCP(画像の遅延読み込み等)だけでは、この新しい基準をクリアすることはできません。特に、長年運用を続けてきた従来型のCMSでは、プラグインの蓄積や機能追加によって、INPのスコアが悪化しやすい構造的な弱点を抱えています。
ユーザーがボタンをクリックした際の「わずかな引っかかり」や「画面のフリーズ」。これらはユーザーの直帰率を高め、検索順位やコンバージョン率を静かに、しかし確実に削り取っているのです。
本記事では、中立的な技術の専門家としての視点から、INPの正体とその悪化原因をブラウザの仕組みから深掘りします。そして、なぜ「ヘッドレスCMS」への移行がINP改善の最終回答になり得るのかを詳しく解説します。この記事を読むことで、以下の3点が得られます。
- INPが悪化する根本的な技術原因と、ブラウザの描画プロセスが理解できる。
- JavaScriptの最適化やメインスレッドの解放など、現場で使える具体的な改善手法が学べる。
- ヘッドレスアーキテクチャへの刷新がもたらす、長期的なSEOとUXのメリットが明確になる。
目次
サイト表示速度の新基準「INP」とは? なぜ今、改善が急務なのか
Googleは近年、単に「ページが早く開くこと」だけを評価しなくなりました。「ユーザーが操作した際に、いかにストレスなく画面が反応するか」というインタラクション(相互作用)の質を極めて重視しています。
これが新指標であるINPの本質です。まずは、この指標が何を測っているのか、なぜ今すぐ対策が必要なのかを正確に理解しましょう。
INP(Interaction to Next Paint)の定義とFIDとの決定的な違い
INPは、ユーザーがページ上で行ったすべてのクリック、タップ、キーボード入力に対して、ブラウザが視覚的なフィードバック(次の画面の描画)を返すまでの遅延時間を測定します。
以前の指標であったFID(First Input Delay:初回入力遅延)と大きく異なる点は、その「測定される範囲」と「厳格さ」にあります。
| 比較項目 | FID(旧指標) | INP(新指標) |
|---|---|---|
| 測定の対象 | 初回の入力のみ | ページ滞在中のすべての入力 |
| 計測の範囲 | 入力から「処理開始」まで | 入力から「画面の描画完了」まで |
| 評価の基準 | サイト訪問時の最初の印象 | サイト利用中の継続的な操作体験 |
| 対策難易度 | 比較的容易(小手先で対応可) | 非常に困難(根本的な構造改革が必要) |
FIDは「最初のボタンを押した時、ブラウザが処理を始めるまでの時間」しか測っていませんでした。極端に言えば、最初の反応さえ良ければ、その後の操作がどれだけ重くても合格できていたのです。
一方のINPは、「スクロール中のメニュー開閉」「画像スライダーの操作」「フォームの入力」など、サイト滞在中のあらゆる動作が評価対象となります。さらに入力から処理完了、そして「画面が実際に書き換わるまで」の全体時間を計測します。ごまかしの効かない「真のUX指標」へと進化したのです。
GoogleがINPを最重要視する背景とSEOへの影響
なぜGoogleは、これほどまでに操作の応答性を厳格に評価するようになったのでしょうか。それは、現代のWebサイトが「単なる文書」から、複雑な機能を持つ「アプリケーション」へと変化しているためです。
モバイルユーザーの体験低下を防ぐ
スマートフォンの普及により、スペックの低い端末や不安定な通信環境でのアクセスが増加しました。複雑なプログラムが動いているサイトでは、モバイルユーザーは「ボタンを押しても反応しない」という強いストレスを感じます。Googleは検索体験の質を担保するため、このストレスを排除しようとしています。
ランキングシグナルとしての直接的な影響
INPはCore Web Vitalsの3大指標の一つです。Googleのサーチコンソールで「INPの問題」として警告が出ている場合、それは検索順位に悪影響を及ぼす明確なサインです。競合サイトがヘッドレス化などでスコアを改善する中、自社だけが放置すれば、相対的な順位下落は避けられません。
INP悪化が招くCVR(コンバージョン率)と直帰率への悪影響
「反応が200ミリ秒(0.2秒)遅れるだけで、ユーザーの関心は急激に失われる」。Webの世界における応答性の遅れは、ビジネス上の実害に直結します。
心理的ストレスと不信感の増幅
操作した瞬間に画面が反応しないと、ユーザーは「このサイトは壊れている」と無意識に判断します。特に金融機関や医療機関のサイトでは、致命的な信頼低下に繋がります。
「二重クリック」によるシステムエラーの誘発
反応がないためにユーザーがボタンを連打してしまう現象です。これにより、裏側で不要な処理が重複して走り、サイトがさらに重くなるという悪循環(デス・スパイラル)に陥ります。
決済・フォームでの離脱率急増
ECサイトの購入ボタンや、問い合わせフォームの送信ボタンでの遅延は致命傷です。決済画面での「待ち時間」はユーザーの不安を煽り、カゴ落ち(カート放棄)の最大の原因となります。
INPの正しい計測方法と目標数値の目安(200ms未満)
INPの改善に取り組むためには、まず現状の数値を正しく計測・把握する必要があります。GoogleはINPに対して、以下の3つの厳格な閾値(ボーダーライン)を設定しています。
- 良好 (Good): 200ミリ秒以下
- 改善が必要 (Needs Improvement): 200ミリ秒超 〜 500ミリ秒以下
- 不良 (Poor): 500ミリ秒超
目的別:計測ツールの使い分け
具体的な数値の把握には、以下のツールを用途に応じて使い分けます。
- PageSpeed Insights
特定のページの数値を調べたい時に使います。実験環境でのデータ(ラボデータ)と、実際のユーザー体験データ(フィールドデータ)の両方を確認できます。 - Chrome UX Report (CrUX)
実際のユーザーが過去28日間に体験したINPの推移を、ダッシュボード形式で時系列に沿って確認可能です。 - Google Search Console
サイト全体のどのURL群にINPの問題が発生しているかを、一括で特定するために使用します。
これらのツールでスコアが「200ms」を超えている場合は、小手先の修正ではなく、技術的なボトルネックの特定と抜本的な改善に直ちに着手すべきです。
INPが悪化する3つの主要な原因と従来型CMSの限界
INPを悪化させる要因はサイトによって異なりますが、技術的な根本原因は「ブラウザのメインスレッドを長時間占有してしまうこと」に集約されます。
ここでは、特にWordPressなどの従来型CMS(モノリシックCMS)を運用しているサイトで頻発する、3つの技術的な落とし穴を解説します。
JavaScriptの肥大化とメインスレッドの占有
ブラウザがページを表示したり、ユーザーのクリックに反応したりする処理は、主に「メインスレッド」と呼ばれる一つの計算回路で行われます。JavaScriptの実行、HTMLの解析、デザインの計算などは、すべてこの一本道を通る必要があります。
Long Tasks(長いタスク)の脅威
JavaScriptの処理が重く、50ミリ秒以上メインスレッドを塞いでしまう処理を「Long Tasks」と呼びます。この重い処理が走っている最中にユーザーがボタンをクリックしても、ブラウザは「今忙しいので、クリックの処理は後回しにします」という状態になります。これがINP悪化の最大の原因です。
実行タイミングの衝突とフリーズ
ページが開いた直後に、大量のプログラムが一斉に動き出すサイトがよくあります。ユーザーが「もう表示された」と思ってスクロールを始めた瞬間に、裏側で走っている初期化処理と操作が衝突し、画面が数秒間フリーズする現象が起きます。
過大なDOMサイズによるレンダリング(表示)遅延
DOM(Document Object Model)とは、HTMLのタグ構造をブラウザが理解するためのデータ構造のことです。このタグの階層が深すぎたり、全体の数が多すぎたりすると、画面を描画する際の計算コストが跳ね上がります。
再計算と再描画(レイアウトスラッシング)
ユーザーが操作を行って「メニューを開く」「色を変える」といった視覚的な変化が起きる際、ブラウザは画面全体のレイアウトを再計算します。DOMサイズが数千個に膨らんでいるサイトでは、この再計算だけで数百ミリ秒を消費してしまい、入力から描画までの全体時間(INP)を著しく悪化させます。
隠れた要素による無駄な負荷
従来型CMSの多機能なデザインテーマでは、画面には見えていない要素(スマホ専用のメニュー、非表示のポップアップなど)も裏側で全て読み込まれています。これらが無駄なDOMツリーを形成し、ブラウザの処理能力を無駄遣いしているのです。
複雑なCSSとサードパーティスクリプトの過剰な読み込み
自社で書いたプログラムだけでなく、外部から読み込む様々なツール類(サードパーティスクリプト)も、INPの天敵となります。
広告タグとトラッキングツール
広告の配信システムやGoogleアナリティクスなどの解析タグは、裏側で非常に複雑な計算を行っています。これらが複数同時に読み込まれると、メインスレッドが完全に麻痺します。
チャットボットやポップアップツール
常にユーザーのマウスの動きや滞在時間を監視しているようなマーケティングツールは、ブラウザに絶え間なく負荷をかけ続けます。
複雑すぎるCSSアニメーション
JavaScriptを使わずにCSSだけで実装されたアニメーションであっても、書き方によってはブラウザの描画エンジンに高い負荷をかけ、結果的に他の操作を遅延させることがあります。
従来型CMS(モノリシックアーキテクチャ)の構造的課題
WordPressに代表される従来型CMSは、PHPなどのサーバー側プログラムが「管理画面」と「表示画面」の両方を一体化して処理する「モノリシック(一枚岩)」な構造です。この構造自体が、INP改善の大きな足かせとなります。
プラグイン依存が招くコードの汚れ
機能を追加するためにプラグインを導入すると、そのプラグイン専用のJavaScriptやCSSが、フロントエンド(ユーザーが見る画面)に強制的に追加されます。多くのプラグインは最適化されておらず、使っていないページにまで不要なコードが読み込まれ、サイト全体が「メタボ状態」に陥ります。
テンプレート改修の高いハードル
INPを改善するためにHTMLの構造(DOM)をスリム化しようとしても、従来型CMSではテーマのコアファイルを直接書き換える必要があります。これはサイトが真っ白になるリスクを伴うため、結果として誰も手を付けられず、速度低下を放置せざるを得ない状況を生み出します。
フロントエンド技術を用いたINPの具体的な改善アプローチ
INPを「良好(200ms以下)」の基準まで劇的に引き上げるためには、表面的な画像の圧縮だけでなく、ブラウザの処理プロセスに介入する高度な技術が必要です。
ここでは、モダンなフロントエンド開発の現場で実践されている、具体的な改善手法を解説します。
JavaScriptの徹底的な最適化(コード分割と遅延読み込み)
最初のステップは、ブラウザに読み込ませるJavaScriptの絶対量を減らし、実行されるタイミングをコントロールすることです。
Code Splitting(コード分割の実装)
すべてのプログラムを一つの巨大なファイル(bundle.jsなど)にまとめるのは危険です。ページごと、あるいは画面の部品(コンポーネント)ごとに本当に必要なコードだけを細かく切り出し、必要なタイミングでのみ読み込ませます。
実行タイミングの制御(async/deferの活用)
画面の初期表示にすぐには必要ないプログラムは、HTMLの解析を止めないように defer 属性を付けて後回しにします。さらに高度な手法として、ユーザーがその要素までスクロールした時に初めてプログラムを読み込む「Dynamic Import(動的読み込み)」も非常に有効です。
タスクの細分化(Yielding)とバックグラウンド処理の活用
どうしても削れない重い処理がある場合、その処理の塊を細かく砕き、ブラウザに「深呼吸する隙間」を与える技術が必要です。これを「Yielding(メインスレッドの譲渡)」と呼びます。
scheduler.yield() による処理の分割
最新のブラウザAPIである scheduler.yield() (または setTimeout を用いた代替手法)を使用すると、重い計算を意図的に一時停止できます。一時停止している間にブラウザはユーザーからのクリック入力を受け付け、その対応が終わってから元の計算を再開します。これにより操作の遅延を防ぎます。
Web Workerによる処理の外部委託
メインスレッドとは全く別の裏の回路(バックグラウンドスレッド)でプログラムを動かす技術が「Web Worker」です。データの並び替えや複雑な検索処理などをWeb Workerに丸投げすることで、メインスレッドを常に「ユーザーの操作を待ち構える状態」に保つことができます。
DOMサイズの削減とレンダリングツリーの効率化
HTMLのタグ構造を極限までシンプルにし、ブラウザが画面を描き直す際の負担を軽減します。
| 最適化の手法 | 具体的なアクションと技術 | 期待される効果 |
|---|---|---|
| 不要なラッパーの削除 | デザインのためだけの無駄な <div> タグの多重構造を廃止する。 | 再計算(レイアウト)速度の向上 |
| 仮想DOMの導入 | Reactなどを用い、変更があった箇所だけを差分で書き換える。 | 描画コストの大幅な削減 |
| content-visibility | 画面外にある要素に対してCSSの content-visibility: auto; を指定する。 | 初期表示の爆速化とスクロールの滑らかさ向上 |
サードパーティタグの整理とGTMの最適化
外部ツールのスクリプトは、Googleタグマネージャー(GTM)の高度な設定によって制御します。
トリガーの意図的な遅延
「ページ読み込み時」にすべてのタグを発火させるのではなく、ユーザーが「初めてスクロールした時」や「数秒経過した時」に実行タイミングをずらします。これにより、初期表示直後の最もINPが悪化しやすい魔の時間帯を回避できます。
Partytown(パーティタウン)の導入
サードパーティスクリプトを、先述したWeb Worker上で強制的に実行させる「Partytown」という画期的なライブラリがあります。これを用いれば、解析ツールや広告タグがどれだけ重くても、メインスレッドへの悪影響を物理的に断ち切ることが可能です。
INP改善の切り札「ヘッドレスCMS」がなぜ有利なのか
ここまで解説したような高度なフロントエンド最適化は、従来型のWordPress環境で実装するのは至難の業です。既存のテーマやプラグインの仕組みと真っ向から衝突してしまうためです。
そこで現在のWeb業界で最も注目されている解決策が、バックエンドとフロントエンドを完全に切り離す「ヘッドレスCMS」というアーキテクチャの採用です。
フロントエンドとバックエンドの完全分離による劇的な軽量化
ヘッドレスCMSは、画面を表示する機能を持たず、文字や画像などの「データ」だけをAPIという形式で提供することに特化しています。表示側(フロントエンド)は、何もない更地の状態から、エンジニアが最適な技術を選んで構築します。
不要なコードが一切混入しない
システムが勝手に不要なJavaScriptやCSSを出力することがないため、メインスレッドを占有する原因そのものを根絶できます。
DOM構造の完全なコントロール
デザイナーやエンジニアが意図した通りの、最も軽量で無駄のないHTML構造を100%制御して出力することが可能です。
Next.jsなどのモダンフレームワークとの強力なシナジー
ヘッドレスCMSのフロントエンドとして、現在世界中で最も採用されているのが「Next.js」などのモダンなフレームワークです。これらには、INPを極限まで改善するための仕組みが標準で搭載されています。
SSG(静的サイト生成)による即時応答
サーバー側で事前にHTMLファイルを完成させておくSSGという技術を使えば、ブラウザは受け取ったHTMLを表示するだけで済みます。ブラウザ側での複雑な組み立て作業(JavaScriptの実行)が不要になるため、画面が表示された瞬間に操作しても、全く遅延が発生しません。
リンクの事前読み込み(Prefetch)
ユーザーが画面内のリンクにマウスを近づけたり、スクロールしてリンクが見えたりした瞬間に、裏側で次のページのデータを先読みします。これにより、クリックした後のページ遷移も、まるでスマホアプリのように一瞬で完了します。
コンポーネント指向によるDOMの最適化とJSの最小化
Next.js(React)は、ページ全体を「ヘッダー」「記事のブロック」「ボタン」といった小さな部品(コンポーネント)の集合体として作ります。
部分的なハイドレーション(Hydration)
ページ全体に対して一気にJavaScriptを有効化(ハイドレーション)するのではなく、ユーザーが見ている部分や、操作が必要な部品だけに絞ってプログラムを起動させます。これにより、初期読み込み時のメインスレッドの占有時間を劇的に短くし、INPスコアを劇的に改善します。
段階的なヘッドレス化によるサイト刷新のベストプラクティス
いきなり数千ページあるサイト全体を刷新するのはリスクが高い場合、ヘッドレスアーキテクチャは「部分的な導入」にも柔軟に対応できます。
特定のディレクトリからの試験導入
まずは表示速度が最もコンバージョンに影響する「商品詳細ページ」や「ランディングページ」だけをヘッドレス化し、効果を測定します。
リバースプロキシの活用
ドメインはそのまま維持し、特定のURLの時だけ、裏側でヘッドレスCMSとNext.jsで作られた新しいシステムに処理を振り分けることで、既存のシステム資産を活かしながら段階的なモダナイズが可能です。
INP改善に関するよくある質問
INPの改善にはどのくらいの期間と費用がかかりますか?
既存のサイト構造を維持したまま小手先のチューニング(画像の遅延読み込みやプラグインの整理など)を行う場合は、数週間〜1ヶ月程度で一定の成果が出ます。
しかし、スコアが慢性的に「不良(500ms超)」となっている場合、アーキテクチャの刷新(ヘッドレス化など)を含めた抜本的な改修が必要となり、3ヶ月〜半年程度のプロジェクトになることが一般的です。中長期的なSEO効果やCVRの向上を考慮すると、システムをリプレイスした方が最終的な費用対効果は高くなります。
既存のWordPressをヘッドレス化してINPを改善できますか?
技術的には十分に可能です。WordPressを「記事を書くためのデータベース」として裏側に隠し、表の表示画面だけをNext.jsなどで新しく作り直す「ヘッドレスWordPress」という手法があります。
これにより、編集者の使い慣れた管理画面を維持しつつ、フロントエンドの表示速度(INP)を最高レベルに引き上げることができます。ただし、WordPressのAPIはデータ構造が複雑になりがちなため、フロントエンド側での高度なデータ成形スキルが求められます。
画像の軽量化(WebPなど)はINPスコアの改善に直接影響しますか?
直接的な影響は大きくありません。画像の最適化は、主に表示されるまでの速さを測る「LCP」の改善に寄与します。
ただし、1枚で数メガバイトもあるような巨大な画像を大量に読み込ませた場合、ブラウザが画像を画面に展開(デコード)する処理でメインスレッドに高い負荷がかかります。これが間接的にJavaScriptの実行を遅らせ、INPを悪化させる要因になることはあります。そのため、画像最適化はパフォーマンス改善の基礎として必ず実施すべきです。
まとめ:将来を見据えたアーキテクチャへの移行がINP改善の近道
INP(Interaction to Next Paint)の導入は、GoogleがWebサイトに対し「単に見るだけでなく、快適に使えること」を厳しく求めていることの表れです。
小手先の改修ではなく、根本的な「構造」の見直しを
複雑化したJavaScriptを整理し、ブラウザのメインスレッドを常に身軽な状態に保つ。この課題に対して、既存のシステムのままプラグインを入れたり外したりする表面的な対策では、いずれ限界が訪れます。
フロントエンドとバックエンドを明確に分離し、最新の表示技術を自由に選択できる「ヘッドレスアーキテクチャ」への移行こそが、速度の壁を突破する最も確実な近道です。
BERYLなら「長期の運用設計」と「最高速の表示」を両立
ヘッドレスCMSへの移行を検討する際、「開発が難しそう」「エンジニアがいないと運用できなくなるのでは」といった懸念を持たれるかもしれません。
国産ヘッドレスCMS「BERYL(ベリル)」は、単なるデータ保管庫ではありません。「作るCMS」ではなく「運用するCMS」というコアコンセプトに基づき、ページが数千、数万と増え続けても構造が崩れない独自の管理体験を提供します。
Next.jsとの完全な親和性
クリーンなAPIを提供するBERYLは、Next.jsなどのモダンフレームワークと極めて相性が良く、INPを極限まで最適化した超高速なフロントエンド構築を強力に後押しします。
構造化されたコンテンツ管理
データを細かな部品(コンポーネント)として管理するため、フロントエンド側で不要なDOMの肥大化を防ぎ、常にスリムなHTMLを維持できます。
属人化を防ぐ編集体験
HTMLの知識が一切不要なリッチエディタを備えており、表示側の技術的な複雑さを、現場のコンテンツ更新担当者に意識させることはありません。
INPの悪化は、サイトのシステム寿命が近づいているサインかもしれません。小手先の速度改善に疲弊する前に、10年先も通用する「コンテンツ運用基盤」としてのBERYLの導入を、ぜひ一度ご検討ください。





