長年運用してきた技術ブログ(WordPress+webpackビルドの自前フロント)を、WordPressをAPI専用のヘッドレスCMSとして残しつつ、表示側をNext.js(App Router)+Vercelに全面的に置き換えた。
単なる技術的な好奇心ではなく、実際にLighthouseスコアがどう変わったかを定量的に比較したので、その結果を中心にまとめる。
長年運用してきた技術ブログ(WordPress+webpackビルドの自前フロント)を、WordPressをAPI専用のヘッドレスCMSとして残しつつ、表示側をNext.js(App Router)+Vercelに全面的に置き換えた。
単なる技術的な好奇心ではなく、実際にLighthouseスコアがどう変わったかを定量的に比較したので、その結果を中心にまとめる。
変更前:t-creative-works.com → WordPress(表示・管理画面・DB、すべて1台のXserverで完結)
変更後:t-creative-works.com → Vercel(Next.js、表示専用、SSG/ISR)
cms.t-creative-works.com → Xserver(WordPress、REST APIバックエンド+管理画面専用)WordPress側は記事データの保管・編集だけに専念させ、実際にユーザーが見る画面は全部Next.jsで作り直した。WordPressの管理画面・投稿フローはそのまま使えるので、更新の手間は増えていない。
同一ページ(TOPページ/記事詳細ページ)を、旧WordPress版(現在はcms.t-creative-works.comとしてAPI専用で裏に残している)と、新しいNext.js版で、PageSpeed Insights(モバイル)で比較した。
| 指標 | 旧WordPress | 新Next.js |
|---|---|---|
| Performance | 58 | 70 |
| Accessibility | 88 | 100 |
| Best Practices | 92 | 100 |
| SEO | 61 | 100 |


| 指標 | 旧WordPress | 新Next.js |
|---|---|---|
| Performance | 57 | 71 |
| Accessibility | 85 | 96 |
| Best Practices | 92 | 96 |
| SEO | 61 | 100 |
SEOとAccessibility、Best Practicesは、TOP・詳細ページともにほぼ満点(96〜100)まで改善した。Performanceも10ポイント以上向上している。


特筆すべきは、この記事詳細ページは現時点ではまだgenerateStaticParamsによる完全な静的生成(SSG)を実装しておらず、アクセスのたびにサーバーレス関数がWordPress側のREST APIを呼び出す「動的レンダリング」のままだという点だ。
この状態でも旧WordPress版を上回っているということは、静的生成に切り替えればさらに伸びしろがあるということになる。
現状、記事詳細・カテゴリー・タグなどのページはまだ動的レンダリングのままで、Next.jsのサーバーレス関数がリクエストのたびにWordPress(日本のXserver)へAPIを取りに行っている。
これをgenerateStaticParamsでビルド時に静的生成する形に変更すれば、Performanceスコアはさらに伸びる見込みだ。この最適化は現在進行中で、完了したら改めて結果を追記したい。
【Cropper.js】アップした画像をフロントでトリミングするプログラムを作った
Vueでボタンの活性・非活性をcomputedの監視で操作してみた