Core Web Vitalsとモニタリング
LCP、INP、CLSを理解し、実際のユーザー環境で測定します。Next.jsの機能と可観測性ツールを使って、本番アプリの高速性を維持します。
「Core Web Vitalsとモニタリング」はCoddyKit上の無料Next.js 15 Fullstack Web Appsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNext.js 15 Fullstack Web Apps学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Next.js 15 Fullstack Web Appsコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
What Are Core Web Vitals
Core Web Vitals are Google's user-centric performance metrics that influence both UX and SEO ranking. The three current metrics are:
- LCP — Largest Contentful Paint (loading)
- INP — Interaction to Next Paint (responsiveness)
- CLS — Cumulative Layout Shift (visual stability)
LCP: Loading Speed
LCP measures when the largest visible element (often a hero image or heading) finishes rendering. Aim for under 2.5s. Improve it with image optimization, priority loading, and server rendering.
import Image from 'next/image';
<Image src="/hero.jpg" alt="Hero" width={1200} height={600} priority />INP: Responsiveness
INP replaced FID. It measures the latency of user interactions across the whole visit. Aim for under 200ms. Long JavaScript tasks on the main thread hurt INP most.
CLS: Visual Stability
CLS quantifies unexpected layout shifts. Aim for under 0.1. Always set explicit width and height on images and reserve space for ads and embeds.
Lab vs Field Data
Lab data comes from a controlled run (Lighthouse). Field data (RUM) comes from real users on real devices. Field data is the source of truth for ranking; lab data is great for debugging.
Reporting with useReportWebVitals
Next.js exposes useReportWebVitals to collect real-user metrics and send them to your analytics endpoint.
'use client';
import { useReportWebVitals } from 'next/web-vitals';
export function Vitals() {
useReportWebVitals((metric) => {
navigator.sendBeacon('/api/vitals', JSON.stringify(metric));
});
return null;
}Bucketing a Metric
Classify a metric value into good / needs-improvement / poor. Pure logic you can run anywhere.
function rateLCP(ms) {
if (ms <= 2500) return 'good';
if (ms <= 4000) return 'needs-improvement';
return 'poor';
}
console.log(rateLCP(1800));
console.log(rateLCP(3200));
console.log(rateLCP(5000));Reducing Main-Thread Work
To improve INP, ship less JavaScript and defer non-critical work. Use dynamic imports to code-split heavy client components.
import dynamic from 'next/dynamic';
const Chart = dynamic(() => import('./Chart'), { ssr: false });Server Components Help
React Server Components render on the server and send no JavaScript to the client for that part of the tree, directly reducing bundle size and improving INP and LCP.
Production Monitoring Tools
Set up continuous observability:
- Vercel Speed Insights for built-in RUM.
- Vercel Analytics for traffic.
- Sentry / OpenTelemetry for errors and traces.
Alert when a metric regresses past its threshold.
Set a Performance Budget
Define budgets (e.g. LCP < 2.5s, JS < 170KB) and enforce them in CI so regressions fail the build before they reach users.
Quick Check
Which Core Web Vital measures the responsiveness of user interactions, and what is its target?
Recap
You learned to keep production fast:
- LCP (loading), INP (responsiveness), and CLS (stability) with their targets.
- The difference between lab and field data.
- Collecting RUM with
useReportWebVitals. - Reducing JS via code splitting and Server Components, plus monitoring and budgets.
よくある質問
「Core Web Vitalsとモニタリング」レッスンは無料ですか?
はい。「Core Web Vitalsとモニタリング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Next.js 15 Fullstack Web Appsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Next.js 15 Fullstack Web Appsコースには全4レッスンが含まれています。
「Core Web Vitalsとモニタリング」で何を学びますか?
LCP、INP、CLSを理解し、実際のユーザー環境で測定します。Next.jsの機能と可観測性ツールを使って、本番アプリの高速性を維持します。 ブラウザで直接実行するハンズオンコードでNext.js 15 Fullstack Web Appsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Next.js 15 Fullstack Web Appsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNext.js 15 Fullstack Web Appsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Core Web Vitalsとモニタリング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNext.js 15 Fullstack Web Appsレッスンでコードを書いて実行できますか?
はい。すべてのNext.js 15 Fullstack Web Appsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- VercelとNetlifyへのデプロイ
- 画像とフォントの最適化
- バンドル分析とパフォーマンス監査
- Core Web Vitalsとモニタリング