Siapa yang tak tahu tentang CMS? Mungkin semua akan sepakat bahwa mulai dari web developer hardcore yang harus menulis kode di mana pun dan kapan pun sampai ke penulis blog romantis yang harus minum kopi di saat senja dan turun hujan saat menuangkan idenya dalam tulisan membutuhkan content management system dalam mengelola suatu website. Terima kasih kepada WordPress sebagai platform CMS open source yang mempopulerkan blogging kepada siapa saja.
CMS dan Content Management System adalah sebuah sistem yang dibuat untuk mendukung penerbitan (dalam hal ini penerbitan di web) mulai dari penulisan, editing, modifikasi, dan publikasi konten. Tujuan CMS dibuat sebenarnya adalah untuk memudahkan penulis dalam mempublikasikan artikelnya. CMS juga mendukung iklim kolaboratif sehingga satu media bisa memiliki beberapa koresponden sekaligus yang bisa mengunggah artikelnya di mana saja dan kapan saja karena umumnya CMS dibuat dengan memanfaatkan teknologi Web.
CMS Tradisional
Sebelum kita membahas tentang headless CMS, mari kita mengingat kembali tentang karakteristik dan metode dari CMS tradisional seperti WordPress atau Joomla. Pada CMS tradisional, seorang user (dalam hal ini kreator konten) menulis konten di dalam sebuah editor baik WYSIWYG (What You See Is What You Get) di mana tampilan yang dituliskan hampir menyerupai tampilan ketika konten terpublikasi di halaman web, walaupun ada beberapa CMS yang hanya memiliki HTML editor di mana penulis harus memiliki pengetahuan tentang kode HTML. Konten yang ditulis ini kemudian disimpan dalam database dan kemudian disajikan oleh template tampilan yang dimiliki oleh CMS tersebut menjadi sebuah halaman web. Untuk lebih jelasnya dapat dilihat dari gambar berikut.
Jika kita menggunakan CMS, dalam mengubah tampilan akhir web yang bisa kita lakukan hanyalah mengganti template yang sudah disediakan oleh platform CMS tersebut. Lalu bagaimana jika ingin melakukan kustomisasi pada tampilan tampilan akhir halaman web? Ada dua cara yaitu menginstall plugin web builder pada CMS kita dan yang kedua adalah membuat mengedit file template yang ada di dalam CMS. Kedua solusi ini sama-sama mendatangkan problem baru. Website builder plugin dapat membuat performa web kita menurun karena banyak sekali proses yang berjalan sebelum halaman web berhasil ditampilkan. Sedangkan, jika kita memilih untuk mengedit sendiri file template yang berada di dalam CMS dapat dibayangkan berapa banyak waktu yang harus diperlukan untuk mempelajari ribuan baris kode yang dimiliki CMS tersebut dan tentu saja kita juga harus berada dalam batasan logic dari CMS tersebut.
Kekurangan dari CMS tradisional adalah banyak front-end developer yang tidak bisa mengembangkan bakat terpendamnya karena biasanya klien sebagai user dari CMS ingin sesuatu yang mudah digunakan dan sang back-end juga agaknya keberatan jika harus membuat CMS sendiri dengan deadline yang alakadarnya.
Headless CMS
Berbeda dari CMS tradisional memiliki komponen yang bisa langsung menyajikan tampilan front-end ke audience, headless CMS sama sekali tidak bisa men-generate halaman web secara otomatis. Inilah mengapa model CMS ini kemudian disebut ‘headless’ atau tanpa kepala yang berarti tak memiliki wajah. Kami sempat penasaran kenapa tidak disebut faceless saja agar tidak menimbulkan aura horor dan masih belum menemukan jawabannya.
Headless CMS tidak memliki sistem front-end secara default seperti CMS tradisional sehingga CMS ini sering disebut dengan front-end agnostic. Headless CMS menyajikan konten secara mentah melalui API. Hal ini menjadikan headless CMS dapat digunakan di berbagai macam framework. Untuk perbedaan lebih jelasnya bisa dilihat di gambar berikut.
Banyak dari developer headless CMS ini menyebut produknya sebagai CaaS (Content as a Service) hasil dari modifikasi SaaS (Software as a Service). Jika sebelumnya developer CMS versi komersial tradisional menjual secara bundling (domain, platform CMS, dan hosting). Untuk developer headless CMS komersial biasanya menerapkan tarif sesuai dengan besarnya konten. Tapi jangan khawatir dulu, banyak juga headless CMS open source gratis yang bisa kita deploy sendiri di cloud VPS milik kita.
Hadirnya headless CMS ini tidak langsung serta-merta menyelesaikan masalah yang dibahas dalam CMS tradisional sebelumnya. Sama seperti sistem-sistem yang lain, headless CMS ini memiliki pro dan kontra.
Pro
Inilah beberapa kelebihan headless CMS bila dibandingkan dengan CMS tradisional:
- Front-end agnostic
Ini merupakan alasan kenapa headless CMS diciptakan. Konten yang berada dalam headless CMS dapat disesuaikan dengan platform framework front-end seperti React, Vue, atau Angular. - API
Headless CMS menggunakan API sebagai penghubung antara back-end dan front-end yang pada dasarnya merupakan dua sistem yang terpisah dan juga memungkinkan berada dalam 2 server yang berbeda. Hal ini berarti menurunkan resiko kehilangan seluruh konten jika ada yang berhasil menembus keamanan web server kita. - Future proof
Karena headless CMS pada dasarnya hanya menyajikan data mentah, jika ada inovasi teknologi baru maka konten-konten yang ada di dalam CMS ini dapat dengan cepat disesuaikan. Sebagai contoh, jika ada platform voice assistant baru di device tanpa layar seperti smartwatch atau smart speaker maka kita akan dengan mudah memasukkan konten kita di platform tersebut.
Kontra
Selain kelebihan-kelebihan di atas, headless CMS juga memiliki beberapa kekurangan sebagai berikut :
- Tidak Untuk Semua Orang
Sebagian besar orang yang menggunakan CMS tradisional seperti WordPress tidak memiliki pengetahuan tentang pemrograman. Sementara headless CMS ini menuntut seseorang untuk memiliki pengetahuan tentang pemrograman web. Hal ini membuat para blogger dan pemasar digital enggan menggunakan headless CMS. - Memiliki 2 Stack Yang Terpisah
Selain jadi kelebihan yang sudah terlebih dahulu dibahas, memiliki 2 stack terpisah antara front-end dan back-end juga bisa menjadi kekurangan bagi headless CMS. Bayangkan berapa besar effort maupun waktu yang kita butuhkan untuk membuat dua stack yang terpisah demi membuat blog pribadi. - Tidak Ada Preview
Para kreator konten selaku pengguna sebuah CMS sering mem-preview konten yang mereka buat agar sesuai dengan yang mereka inginkan. Masalahnya, di dalam headless CMS tidak ada preview terlebih dahulu kecuali kita memisahkan antara fase staging dan production yang mana akan lebih menghabiskan waktu dan effort.
***
Bagaimana? Sudah mempertimbangkan apakah headless CMS merupakan solusi yang tepat untuk kalian? Jika kalian adalah seorang yang sudah terbiasa membuat website dan sudah cinta mati dengan yang namanya headless CMS, kalian bisa tunggu artikel kami selanjutnya yang akan membandingkan satu per satu platform headless CMS seperti Directus, Strapi, ataupun Butter.