Skip to main content
← Semua tulisan
Pengembangan WebDiterbitkan 25 Juli 20264 menit baca

Dari WordPress ke Astro: Mengapa Saya Rebuild jemmymongi.com sebagai Static Site

Pelajaran migrasi blog WordPress pribadi ke Astro: load lebih cepat, hosting sederhana, routing bilingual, dan workflow konten yang tetap rapi.

AstroWordPressStatic SitePerformanceMigration
Daftar isi

Selama bertahun-tahun blog pribadi saya hidup di WordPress. Sistemnya jalan, tapi setiap halaman membawa query database, overhead plugin, dan tumpukan theme yang tidak sepenuhnya saya kontrol. Saat rebuild jemmymongi.com, saya memilih Astro dengan output static.

Artikel ini bukan “WordPress sudah mati.” WordPress masih relevan untuk banyak klien. Ini tentang kapan rebuild static layak dilakukan—dan apa yang saya pelajari saat memindahkan konten sendiri.

Mengapa saya pindah dari WordPress untuk situs ini

Target saya jelas:

  • Kecepatan default — tanpa bootstrap PHP di setiap request;
  • Kontrol penuh HTML — lebih sedikit magic theme, Core Web Vitals lebih terprediksi;
  • Konten di Git — Markdown di repo lebih praktis daripada wp-admin untuk situs kecil;
  • Routing bilingual — English default plus /id/ tanpa plugin i18n berat;
  • Permukaan serang lebih kecil — file static di VPS sederhana, tanpa brute force wp-login.

WordPress tetap bisa mencapai hal yang sama dengan caching dan hardening. Untuk situs personal yang isinya mostly artikel dan portofolio, Astro adalah jalan yang lebih ringan.

Apa yang berubah di arsitektur

Sebelum (WordPress) Sesudah (Astro)
MySQL + PHP per request HTML pre-built saat deploy
Theme + plugin Komponen + Tailwind
Editor wp-admin Markdown di src/content/blog/
URL /category/catatan/ Slug kanonik + redirect 301
EN/ID campur dalam satu install Folder konten en/ dan id/ eksplisit

Perubahan mindset: build time vs request time. Konten divalidasi saat npm run build, bukan saat pengunjung membuka server.

Workflow migrasi konten

  1. Export tulisan lama — salin teks dari WordPress ke src/content/blog/en/ dan src/content/blog/id/.
  2. Normalisasi frontmatter — title, description, pubDate, slug kategori, tags, optional cover.
  3. Petakan URL legacy — path lama seperti /blog/category/catatan/ redirect ke /blog/category/notes/.
  4. Regenerasi asset — featured image, favicon, cover portofolio dengan ukuran wajar.
  5. Deploy folder dist/ — rsync ke server; Apache melayani file + halaman 404 custom.

Artikel yang hanya ada versi Indonesia tetap di /id/blog/…, dengan redirect dari path lama bila perlu.

Kemenangan performa yang langsung terasa

Setelah rebuild:

  • request font third-party yang blocking dihapus (self-hosted);
  • gambar hero dan portofolio punya dimensi eksplisit dan srcset lebih kecil;
  • library animasi ditunda sampai setelah first paint;
  • HTML/CSS critical di-inline untuk halaman utama.

Situs tidak lagi terasa seperti theme CMS, melainkan halaman produk—markup dan bobot halaman lebih predictable.

Yang masih saya rindukan dari WordPress

Daftar jujur:

  • Editing ramah klien — Markdown di Git enak untuk developer, bukan untuk semua stakeholder;
  • Ekosistem plugin — form, plugin SEO, komentar tinggal klik di WP;
  • Scheduled publishing — static build butuh CI atau langkah rebuild kecuali pakai headless CMS.

Untuk situs klien yang tim non-teknis update setiap hari, saya tetap rekomendasikan WordPress (dioptimasi) atau headless CMS + front end Astro.

Kapan saya rekomendasikan Astro instead of WordPress

Astro cocok ketika:

  • situs mostly marketing, portofolio, docs, atau blog personal;
  • performa dan keamanan non-negotiable;
  • tim nyaman dengan Git atau CMS ringan;
  • lonjakan traffic tidak perlu scaling database.

WordPress cocok ketika:

  • editor butuh admin UI familiar;
  • WooCommerce atau plugin kompleks jadi inti bisnis;
  • workflow konten bergantung role, revisi, dan jadwal publish out of the box.

Checklist praktis sebelum migrasi

  • Inventaris URL yang wajib redirect (kategori, permalink berbasis tanggal, attachment).
  • Tentukan strategi locale (prefix /id/ vs domain terpisah).
  • Siapkan RSS (/rss.xml) dan sitemap agar sinyal SEO lanjut.
  • Ganti URL wp-json/feed dengan redirect eksplisit.
  • Uji halaman 404 dan link legacy sebelum pindah DNS.
  • Biarkan WordPress read-only sementara sebagai referensi rollback.

Penutup

Migrasi situs sendiri memaksa saya menghadapi setiap URL lama, setiap tulisan campur bahasa, dan setiap plugin yang sudah lama tidak saya pikirkan. Rebuild memang kerja—butuh waktu—tapi hasilnya adalah situs yang cepat, deploy dalam hitungan detik, dan selaras dengan cara saya menulis hari ini.

Jika Anda mempertimbangkan langkah serupa untuk situs company profile atau personal brand, mulai dari satu bagian (blog atau portofolio), pasang redirect, baru alihkan DNS setelah crawl error bersih.