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.

