Migrasi Arsip Blog Lama dari Wordpress ke Astro
Setelah mempertimbangkan sejumlah faktor, saya memutuskan memindahkan arsip tulisan di blog lama yang selama ini ada di Wordpress.

Setelah mempertimbangkan sejumlah faktor, saya memutuskan memindahkan arsip tulisan di blog lama yang selama ini ada di Wordpress. Salah satu pertimbangan utamanya, saya tak ingin membayar biaya hosting untuk blog yang bahkan saya tak paham lagi cara mengaksesnya.
Selama ini, dalam jangka waktu bertahun-tahun, saya terus membayar biaya hosting untuk blog itu meski sebenarnya saya tak lagi aktif ngeblog. Bahkan, saking lamanya, saya tak tahu lagi bagaimana cara masuk ke dashboard blog tersebut. Namun, karena merasa sayang dengan arsip tulisan di blog lama itu, saya terus membayar biaya hosting semata-mata agar arsip tersebut tidak hilang.
Beberapa bulan lalu, saat memutuskan membuat blog baru untuk menampung tulisan-tulisan terkini, saya juga mengunduh arsip tulisan di blog lama itu. Akan tetapi, sampai beberapa waktu setelahnya, saya masih berpikir untuk mempertahankan hosting blog lama di Wordpress, setidaknya untuk sementara.
Masalahnya, ternyata biaya hosting terus naik sehingga mulai muncul keinginan untuk memindahkan arsip blog lama itu ke platform lain yang gratis. Selama bertahun-tahun, saya tak punya niatan semacam itu karena saya terlalu gaptek untuk mengurus migrasi tersebut.
Namun, setelah belajar soal vibe coding beberapa bulan belakangan, saya mulai memahami bagaimana cara kerja website, termasuk platform apa saja yang bisa digunakan untuk membuat blog. Dari situ, pelan-pelan saya mulai memahami bagaimana migrasi arsip blog itu harus dilakukan.
Saat akhirnya memantapkan diri untuk mencoba melakukan migrasi, awalnya saya menggunakan markdown sync framework yang dibuat oleh Wayne Sutton. Ini adalah framework untuk memudahkan dan mempercepat proses pembuatan website atau blog.
Dengan framework itu, kita cukup menyimpan tulisan dalam bentuk file markdown di komputer, lalu menjalankan perintah sync atau sinkronisasi dari terminal di komputer. Setelah itu, tulisan tersebut bakal muncul di website atau blog. Dengan begini, kita tak perlu berurusan dengan content management system (CMS) yang rumit.
Framework itu menggunakan Convex sebagai database untuk menyimpan tulisan dan Netlify untuk hosting. Artinya, saat kita menjalankan perintah sinkronisasi, tulisan akan disimpan di Convex. Pengaturan ini membuat setiap ada perubahan di tulisan yang perlu disimpan, website atau blog kita tak perlu dilakukan rebuild karena proses sinkronisasi ditangani oleh Convex.
Untuk menjalankan migrasi ke framework tersebut, saya dibantu Claude Opus 4.5 di Droid. Selain untuk memodifikasi beberapa komponen di frontend, saya juga meminta Opus untuk mengubah ratusan tulisan di blog lama saya menjadi file markdown.
Beberapa waktu sebelumnya, saya sudah mengunduh file tulisan dari blog lama itu ke komputer. Ratusan file itu kemudian tersimpan dalam sebuah file JSON. Karena sangat merepotkan jika harus menyalin satu per satu, saya lalu meminta Opus menulis skrip untuk mengubah tulisan-tulisan di file JSON itu menjadi ratusan file markdown.
Tugas itu ternyata bisa dijalankan dengan mulus. Lebih dari 340 tulisan dari blog lama saya pun berhasil dikonversi menjadi file markdown. Setelah itu, saya meminta Opus untuk menambahkan tags ke tulisan-tulisan itu. Saya membuat daftar kata kunci yang harus ditambahkan, lalu Opus menulis skrip untuk menambahkan tags ke tulisan yang mengandung kata kunci tertentu.
Selama proses migrasi itu, saya berkali-kali menjalankan perintah sinkronisasi, baik untuk level development maupun production. Hal itu dibutuhkan karena saya harus merapikan sejumlah tulisan, mengatur featured post, dan menambahkan gambar di beberapa tulisan.
Yang tak saya sadari, karena jumlah tulisan saya cukup banyak, beberapa kali perintah sinkronisasi itu ternyata memakan cukup banyak bandwith di Convex. Akibatnya, beberapa hari setelah memulai migrasi, saya mendapat email dari Convex yang menyebut batas paket gratis bulanan saya di platform itu hampir habis.
Setelah saya periksa, ternyata kuota database bandwith di proyek saya di Convex hampir habis. Jika kuota itu nantinya benar-benar habis, tentu blog yang menyimpan arsip tulisan tersebut tidak akan bisa diakses, kecuali saya meningkatkan proyek saya di Convex menjadi berbayar.
Oleh karena itu, saya kemudian memutuskan mencari framework lain untuk migrasi arsip blog tersebut. Setelah melakukan sejumlah riset, saya akhirnya memilih menggunakan Astro. Dengan Astro, tulisan-tulisan dari blog lama saya tetap disimpan dalam format markdown, tetapi tidak perlu dikirim ke Convex atau database lain.
Ratusan tulisan itu cukup di-push ke GitHub bersama kode yang membangun blog, lalu Astro akan mengubah tulisan-tulisan tersebut menjadi halaman HTML statis. Dengan proses ini, kita tidak membutuhkan database tambahan untuk menyimpan dan mensinkronisasi tulisan.
Namun, proses yang lebih sederhana itu tentu punya konsekuensi. Saat memakai markdown sync framework, proses sinkronisasi tulisan bisa berjalan sangat cepat. Contohnya, jika saat ini kita mengedit isi tulisan lalu menjalankan perintah sinkronisasi, maka beberapa detik kemudian hasil perubahannya akan langsung muncul di blog.
Dengan Astro, perubahan tulisan yang ingin ditampilkan di blog—tak peduli sekecil apapun—mengharuskan adanya commit dan push ke GitHub yang kemudian diikuti proses rebuild blog. Oleh karena itu, bakal butuh waktu sedikit lebih lama untuk melihat hasil perubahan di blog.
Namun, bagi saya, konsekuensi ini bisa diterima karena blog yang sedang saya bangun itu memang hanya untuk menyimpan arsip tulisan lama, bukan untuk mempublikasikan tulisan baru, sehingga mungkin tak membutuhkan banyak rebuild.
Dengan dibantu Claude Opus 4.5, proses migrasi ke Astro bisa selesai dalam waktu beberapa jam saja. Blog yang memuat arsip tulisan lama saya periode 2006-2018 itu bisa diakses di arsip.harisfirdaus.id. Sementara itu, blog yang memuat tulisan terkini saya tetap di harisfirdaus.id.



Komentar
No comments yet