Pendahuluan
Performance bukan fitur tambahan.
Ia adalah fondasi pengalaman pengguna.
Website lambat bukan hanya mengganggu — tapi merusak konversi, SEO, dan kredibilitas brand.
Di artikel ini kita bahas cara mengoptimalkan Next.js untuk production agar:
- Loading lebih cepat
- Skor Lighthouse tinggi
- SEO lebih maksimal
- UX lebih smooth
1. Gunakan Server Component Secara Maksimal
Di Next.js 14 (App Router), semua komponen adalah Server Component secara default.
Gunakan Server Component untuk:
- Data fetching
- Rendering statis
- Konten SEO
Contoh:
async function BlogPage() {
const posts = await getPosts()
return (
<div>
{posts.map((post) => (
<div key={post.id}>{post.title}</div>
))}
</div>
)
}Semakin sedikit JavaScript dikirim ke browser → semakin cepat website Anda.
2. Optimasi Image dengan next/image
Gunakan komponen bawaan Next.js:
import Image from 'next/image'
<Image
src="/hero.jpg"
alt="Hero Section"
width={1600}
height={900}
priority
/>Keuntungan:
- Auto lazy loading
- Resize otomatis
- Format modern (WebP/AVIF)
- Mengurangi CLS (Cumulative Layout Shift)
3. Dynamic Import untuk Komponen Berat
Jika ada komponen seperti chart, map, atau animation library:
import dynamic from 'next/dynamic'
const Chart = dynamic(() => import('@/components/Chart'), {
ssr: false,
})Ini mencegah komponen berat masuk ke initial bundle.
4. Minimalkan Client Component
Hindari penggunaan "use client" secara berlebihan.
Gunakan hanya untuk:
- Form interaktif
- Animation
- State lokal
- Event handler
Semakin banyak Client Component → semakin besar bundle size.
5. Gunakan Caching & Static Rendering
Manfaatkan:
export const revalidate = 60Ini membuat halaman menggunakan Incremental Static Regeneration (ISR).
Server tidak perlu render ulang setiap request.
6. Audit dengan Lighthouse
Target minimal production-ready:
- Performance: 90+
- Accessibility: 90+
- Best Practices: 95+
- SEO: 95+
Gunakan Chrome DevTools → Lighthouse untuk audit rutin.
Best Practice Production
- Hindari library berlebihan
- Gunakan Tailwind purge default
- Optimalkan font loading
- Gunakan metadata API
- Monitor bundle dengan
next build
Performance adalah disiplin, bukan trik instan.
Kesimpulan
Next.js sudah cepat secara default.
Namun performa optimal hanya terjadi jika kita:
- Mengontrol JavaScript
- Mengoptimalkan image
- Memanfaatkan Server Component
- Mengurangi re-render tidak perlu
Website cepat = UX baik = konversi naik.