WordPress dalam Pandangan Programmer Jaman Now

Pertanyaan tentang arsitektur WordPress hampir selalu muncul dari developer yang sudah cukup lama berkutat di dunia web. Biasanya, pertanyaan ini lahir setelah berinteraksi dengan framework yang lebih “tertib”: Laravel dengan MVC-nya, CodeIgniter yang relatif rapi, atau bahkan pendekatan clean architecture yang tegas memisahkan tanggung jawab.

Lalu saat kembali membuka WordPress—melihat fungsi global, hook berseliweran, logic bercampur di theme—muncullah satu kesimpulan spontan: ini kok berantakan sekali?

Secara jujur, kesimpulan itu tidak sepenuhnya salah.

WordPress memang bukan contoh arsitektur modern yang lahir dari buku teks rekayasa perangkat lunak. Ia lahir pada masa PHP masih sangat prosedural, ketika standar belum mapan, dan ketika tujuan utamanya bukan membangun sistem yang “indah”, melainkan membuat orang bisa menulis di internet dengan mudah. Warisan masa itu masih sangat terasa sampai hari ini. Variabel global, fungsi tanpa namespace, dan alur eksekusi yang sulit ditelusuri bukanlah kecelakaan, melainkan jejak sejarah.

Masalahnya, kita sering menilai WordPress dengan kacamata yang keliru. Kita memperlakukannya seolah-olah ia adalah framework, padahal WordPress sejak awal adalah sebuah produk. Ia bukan alat untuk membangun CMS lain, tapi CMS itu sendiri. Maka ia tidak pernah memaksa penggunanya untuk patuh pada pola tertentu. Tidak ada larangan keras mencampur logika dengan tampilan. Tidak ada polisi arsitektur yang akan menghentikan kita menulis query langsung di template. Yang penting: halaman tampil, konten terbit, dan pengguna bisa bekerja.

Di sinilah konflik batin developer biasanya muncul. Di satu sisi, naluri teknis kita memberontak melihat kekacauan struktur. Di sisi lain, kita tidak bisa menyangkal satu fakta penting: WordPress bekerja. Ia dipakai jutaan orang, menopang bisnis nyata, dan bertahan lebih dari dua dekade tanpa memutus kompatibilitas masa lalu.

Sistem hook WordPress adalah contoh paling jelas dari paradoks ini. Ia sangat fleksibel, sangat kuat, dan sekaligus sangat membingungkan. Dengan hook, siapa pun bisa mengubah perilaku sistem tanpa menyentuh core. Tapi ketika proyek membesar, melacak siapa memodifikasi apa sering kali menjadi pekerjaan melelahkan. Bagi pemula, ini terasa seperti sihir. Bagi developer berpengalaman, ini sering terasa seperti hutan tanpa peta.

Namun justru di situlah letak keberhasilan WordPress. Ia tidak dibangun untuk menyenangkan arsitek software, melainkan untuk melayani pengguna sebanyak mungkin. Backward compatibility dijaga mati-matian. Plugin lama tetap hidup. Tema usang tidak tiba-tiba rusak. Stabilitas ekosistem lebih penting daripada keindahan struktur internal.

Apakah ini berarti WordPress tidak bisa dibuat lebih rapi? Tentu bisa. Dengan disiplin, WordPress dapat diperlakukan sebagai “mesin”, sementara arsitektur kita bangun sendiri di dalam plugin. Logika dipisahkan, OOP diterapkan, theme difokuskan pada tampilan. Tapi semua itu adalah pilihan sadar developer, bukan kewajiban yang dipaksakan oleh sistem.

Maka, ketika ditanya apakah arsitektur WordPress itu berantakan, jawabannya tergantung dari sudut pandang. Jika diukur dengan standar arsitektur modern, jawabannya cenderung iya. Tapi jika diukur dari kemampuannya bertahan, beradaptasi, dan digunakan oleh orang dengan latar belakang yang sangat beragam, WordPress justru menunjukkan kecerdasan desain yang berbeda.

WordPress bukan sistem yang rapi secara akademis.
Ia adalah sistem yang sangat pragmatis.

Dan dalam dunia nyata, sering kali yang bertahan bukanlah yang paling indah strukturnya, melainkan yang paling bisa dipakai oleh banyak orang.

Anti WordPress dengan Antigrafity

Kemarin saya mengalami kejadian yang cukup bikin kaget, sekaligus jadi bahan renungan panjang. Salah satu situs yang saya bangun dengan WordPress tiba-tiba diblokir oleh Google karena terdeteksi mengandung malware. Padahal, kalau dipikir-pikir, situs ini bukan situs aktif dengan update harian, bukan e-commerce, bukan pula portal berita.

Situs ini hanyalah situs jualan online dengan konsep yang hanya menyajikan informasi produk saja. Dan produk yang dijual juga jarang sekali berubah.

Setelah saya cek ulang, isinya bahkan tidak lebih dari 20 halaman. Halaman-halaman statis seperti profil, layanan, kontak, dan beberapa informasi yang sejak awal memang jarang—bahkan hampir tidak pernah—diubah. Informasinya ya itu-itu saja.

Tapi justru situs sesederhana ini yang akhirnya “kena masalah”. Selanjutnya »

Cara Efektif Membangun Aplikasi menggunakan AI dengan 6 Langkah

Tadi saya Youtube walking,  entah apa istilahnya ya, kalau dulu populer blog walking. Saya menemukan postingan di Youtube dengan judul  “Cara pake AI untuk ngoding app Fullstack” .

Beberapa waktu ini sebenarnya saya sudah melakukannya. Sebelum membuat coding saya membuat alurnya melalui diskusi dengan AI sehingga menghasilkan dokumen. Dokumen itu lantas saya gunakan sebagai panduan untuk memerintah AI membuat kode program.

Kalau saya biasanya memberi instruksi kepada AI dengan cara langkah demi langkah, sambil saya mempelajari apa yang sedang dia lakukan. Tidak langsung terima jadi sebagaimana yang ada di video ini.

Btw, semua adalah pilihan, ambil cara yang efektif saja. Dari video itu saya meminta notebook LM agar menstrukturkannya sehingga menjadi tulisan. Sekaligus, dengan konversi ini ada proses belajar di dalamnya. Silahkan! Selanjutnya »

Menggunakan Hestia Panel di ArmBian

Sebagai penggemar Armbian, biasanya saya menggunakan cara manual untuk menginstall webserver. pernah menggunakan AAPanel, namun kurang stabil dan kurang cocok digunakan di Armbian.

Sekarang menu tutorial penggunaan Hestia Panel yang nampaknya cukup ok.

Catatan pentingnya, kalau menggunakan Hestia Panel kita hanya menggunakan satu port 80. Tapi dengan menyamakan alamat domain di hestia panel dengan di Cloudflare nampaknya kita sudah bisa menggunakan multi domain. Kalau di apache mungkin mirip VHost. Selanjutnya »

Opera di Ubuntu: Dari Aneh ke Stabil, Setelah Menggunakan Flatpak

Saya sempat mengira ini cuma masalah sepele. Tapi makin lama dipakai, makin terasa ada yang tidak beres.Opera di Ubuntu saya tidak crash, tapi juga tidak bisa dibilang normal. Beberapa gejala yang saya alami:

  • Video dengan format tertentu tidak mau diputar
  • WhatsApp Web sering disconnect sendiri
  • Tidak ada error jelas, tapi rasanya “nggak beres”

Yang bikin tambah bingung: Opera tetap bisa dibuka, tidak force close, tidak ada pesan error. Sampai akhirnya saya iseng mencoba satu hal: menginstal Opera lewat Flatpak. Dan… semua masalah itu langsung hilang. Selanjutnya »