第227章:パフォーマンス計測の入口(まず1個だけ)📈✨
この章は「最初の一歩だけ」やります😊 結論:**Vercel Speed Insights を入れて、Core Web Vitals を“見える化”**しよう〜!🚀 (Vercel)
1) 今日のゴール🎯
- 本番サイトの 速度(体感) を「数字」で見えるようにする👀✨
- いきなり全部は追わない! まずは Speed Insights のダッシュボードで 1つの指標(例:LCP)だけ見る📌
Vercel Speed Insights は Core Web Vitals ベースで、サイトの性能を詳しく見られるようにしてくれます🧠 (Vercel) しかも、Preview/Production どっちでも計測できます(便利!)🫶 (Vercel)
2) ざっくり図解🗺️(何が起きるの?)
3) 手順(これだけでOK)🛠️✨
Step A:Vercel 側で Speed Insights を有効化✅
Vercel のプロジェクトを開いて Speed Insights を Enableします。(Vercel) (UI操作なのでサクッとできるはず☺️)
Step B:パッケージを入れる📦
プロジェクトのルート(package.json がある場所)で👇
npm i @vercel/speed-insights
npm 以外でもOKだけど、この章は npm で進めるね🙂 (Vercel)
Step C:App Router に組み込み(SSRを壊しにくい形)🧩
Next.js(App Router)では、layout をまるごと Client にしないのが大事💡 Vercel docs のおすすめは「専用の Client コンポーネントを作る」方式だよ〜! (Vercel)
1) app/insights.tsx を作る✍️
'use client';
import { SpeedInsights } from '@vercel/speed-insights/react';
import { usePathname } from 'next/navigation';
export function Insights() {
const pathname = usePathname();
return <SpeedInsights route={pathname} />;
}
これで「今どのページが表示されたか」を渡しつつ計測できるイメージだよ📌 (Vercel)
2) app/layout.tsx に追加する🏠
({children} の近く、だいたい </body> の手前に置けばOK)
import type { ReactNode } from 'react';
import { Insights } from './insights';
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="ja">
<body>
{children}
<Insights />
</body>
</html>
);
}
これで仕込み完了🎉 (Vercel)
4) 見る場所(まずここだけ)👀📊
デプロイ後、Vercel のプロジェクト画面で Speed Insights タブを開くと見られます🧭 (Vercel)
最初は欲張らずに👇だけでOK!
- ✅ トップページ(/)
- ✅ 指標は 1つだけ(おすすめ:LCP)
「今の数字(現状)」が取れれば勝ち〜!🏁✨
5) もし Vercel じゃなく“自前ホスティング”なら?(おまけ)🧷
自前ホストのときは Next.js の useReportWebVitals で、好きな分析先に送ることもできます📮 (Vercel)
(この章は “入口” なので、やるなら次の章以降でOKだよ😊)
6) ミニまとめ🍓
- パフォーマンス改善の前に、まず計測📏✨
- 入口は Vercel Speed Insightsが超ラク💨 (Vercel)
- 1ページ×1指標だけ見て「基準点」を作ろう📌😊
次の最適化は、数字が出てからで全然OKだよ〜!😆🎀