Mengapa Arsitektur ISR Next.js + Go Backend Paling Pas untuk Media Masa Kini
Dalam membangun media massa modern sekelas Medium atau Substack, ada dua kebutuhan besar yang sering kali berbenturan: **SEO dan performa tinggi untuk jutaan pembaca**, serta **kecepatan interaksi untuk penulis di CMS**.
Jika kita menggunakan Server-Side Rendering (SSR) biasa pada setiap request pembaca, server backend kita akan terus-menerus melakukan *query* ke database PostgreSQL untuk artikel yang sama.
"Static HTML yang di-generate via Incremental Static Regeneration (ISR) memberikan kecepatan CDN instan sekaligus ramah mesin pencari."
1. Keunggulan ISR (Incremental Static Regeneration) Dengan ISR di Next.js: - Pembaca mendapatkan file HTML statis dalam hitungan milidetik dari Cloudflare Edge CDN. - Bot Google mendapatkan struktur HTML lengkap tanpa eksekusi JavaScript berat. - Revalidasi terjadi secara latar belakang tanpa membuat pengguna menunggu.
2. Pemisahan CMS dan Reader Layer Penulis artikel tidak membutuhkan SEO untuk halaman dashboard mereka. Halaman seperti `/dashboard/tulis` cukup di-render sebagai Static Client Component yang melakukan interaksi langsung via API ke Go Service.
// Go API Handler untuk merevisi dan menyimpan artikel
func PublishArticleHandler(w http.ResponseWriter, r *http.Request) {
article := parsePayload(r)
db.Save(&article)
triggerISRRevalidation(article.Slug)
}