Partial Prerendering Next.js untuk Marketer Indonesia: Cara Halaman Statis Tetap Personalisasi 2026
TL;DR: Partial Prerendering (PPR) adalah fitur Next.js yang merender bagian statis halaman dulu, lalu streaming bagian dinamis kemudian. Hasilnya: pengunjung lihat konten utama dalam <500 ms, sambil widget personalisasi atau data live tetap muncul. Cocok untuk landing page bisnis yang butuh kecepatan dan personalisasi sekaligus.
Dalam beberapa proyek terakhir, saya sering ketemu trade-off klasik. Marketer minta landing page yang personalisasi berdasarkan UTM atau lokasi pengunjung, sementara developer khawatir personalisasi merusak skor Core Web Vitals. Sampai 2024, pilihan biasanya: statis dan cepat, atau dinamis dan lambat.
Per April 2026, Next.js sudah ship Partial Prerendering sebagai fitur stabil. Halaman bisa punya shell statis yang ter-cache di CDN, sambil tetap menampilkan komponen dinamis seperti nama pengunjung atau jumlah stok real-time. Marketer tidak perlu lagi pilih antara kecepatan dan personalisasi.
Cara Kerja Partial Prerendering
Next.js memisahkan halaman jadi dua zona. Zona pertama adalah shell statis: header, hero, body utama, footer. Bagian ini di-prerender saat build, lalu disimpan di edge CDN. Saat pengunjung buka halaman, shell langsung muncul dalam 100-300 ms.
Zona kedua adalah dynamic holes. Komponen seperti "selamat datang [nama]", live counter, atau personalized CTA dikirim sebagai stream HTTP. Mereka muncul beberapa ratus milidetik setelah shell, ditandai loading skeleton sebentar.
Untuk pengunjung, halaman terasa instan. Untuk mesin pencari dan AI Agent, halaman statis utama langsung tersedia. Pelajari arsitektur dasar di App Router Next.js.
Kapan Pakai PPR
| Use Case | Cocok PPR? | Catatan |
|---|---|---|
| Landing page produk | Ya | Hero statis, harga dinamis |
| Halaman blog | Tidak perlu | Pakai SSG biasa |
| Dashboard internal | Tidak | Pakai full dynamic |
| Halaman pricing | Ya | Plan statis, currency dinamis |
| Personal portfolio | Tidak perlu | SSG cukup |
| E-commerce listing | Ya | Grid statis, stok dinamis |
Rule of thumb: pakai PPR jika halaman butuh kecepatan statis tapi ada 1-3 elemen yang harus dinamis per visitor. Kalau seluruh halaman dinamis, pakai SSR. Kalau seluruh statis, pakai SSG.
Studi Kasus: Landing Page Vetmo
Saat membantu Vetmo (platform pet care), kami punya kebutuhan unik. Hero dan service breakdown harus statis untuk skor INP yang baik. Tapi widget "klinik terdekat" harus berdasarkan geolokasi pengunjung. Sebelum PPR, kami pakai client-side fetch yang bikin layout shift dan skor CLS turun.
Setelah migrasi ke PPR, shell statis muncul dalam <300 ms. Widget klinik terdekat streaming masuk dalam 800 ms tanpa layout shift karena kita reserve space dengan skeleton. Skor Core Web Vitals naik signifikan dalam 2 minggu observasi pertama.
Outbound: Pedoman Resmi
Baca dokumentasi resmi di Next.js Partial Prerendering. Untuk konteks Core Web Vitals, rujuk web.dev INP guide.
Pertanyaan Umum
Apakah PPR mendukung semua hosting Next.js?
PPR butuh runtime yang mendukung streaming. Vercel sudah penuh support. Untuk self-hosting di Node.js, perlu pastikan reverse proxy tidak buffer response.
Apakah saya perlu refactor seluruh halaman?
Tidak. Cukup tandai komponen dinamis dengan Suspense boundary. Bagian statis tetap pakai default behavior. Migrasi bisa bertahap per halaman.
Bagaimana PPR memengaruhi SEO?
Positif. Karena shell statis terkirim duluan dalam ms pertama, Googlebot dan AI Agent bisa parse konten utama tanpa nunggu komponen dinamis. Indexing jadi lebih efisien.
Coba di 1 Landing Page Dulu
Pilih 1 landing page yang punya 1-2 elemen dinamis. Refactor pakai Suspense boundary, aktifkan PPR experimental di next.config. Ukur skor Core Web Vitals sebelum dan sesudah. Dalam 1-2 minggu Anda akan punya data konkret apakah PPR layak diadopsi di seluruh site.
Artikel Terkait
Website Bisnis
Cara Marketer Indonesia Pasang CSS interpolate-size di Next.js untuk Animasi Height Auto pada Accordion FAQ, Pangkas 24 Baris JavaScript dan Hilangkan ResizeObserver di 2026
Panduan praktis pasang CSS interpolate-size di Next.js untuk animasi height auto pada accordion FAQ. Hilangkan ResizeObserver dan 24 baris JavaScript di 2026.
Website Bisnis
Cara Marketer Indonesia Pasang CSS text-box-trim di Next.js untuk Typography Presisi, Pangkas 2 Override line-height dan Hilangkan Padding Manual di Heading 2026
Pasang CSS text-box-trim di Next.js untuk hilangkan whitespace di atas dan bawah heading, hasil typography presisi tanpa override line-height dan tanpa padding manual.
Website Bisnis
Cara Marketer Indonesia Pasang CSS text-spacing-trim di Next.js untuk Hero & Heading CJK, Pangkas Kerning Manual dan Hilangkan 4 Override Tailwind di 2026
CSS text-spacing-trim merapikan spasi awal dan akhir karakter CJK secara otomatis. Pasang di Next.js dengan 1 baris CSS, pangkas kerning manual dan override Tailwind.
Butuh website yang benar-benar bekerja?
Hubungi Vito untuk konsultasi gratis 15 menit.
WhatsApp Sekarang