Website Cepat tanpa Framework Berat: Kapan HTML Statis Sudah Cukup
Website perusahaan Anda punya delapan halaman yang isinya berubah paling banyak dua kali setahun. Di baliknya berjalan CMS lengkap dengan basis data, belasan plugin, panel admin, dan tagihan hosting bulanan yang naik setiap kali trafiknya sedikit meningkat. Anda membayar mesin yang dirancang untuk menerbitkan ratusan artikel per minggu, untuk mengubah nomor telepon di halaman kontak sekali dalam setahun.
Situs utama kami sendiri, clovertechno.id, adalah HTML statis. Blog yang sedang Anda baca ini berjalan di aplikasi terpisah karena memang butuh basis data, penjadwalan terbit, dan panel penulis. Pemisahan itu bukan kebetulan, dan artikel ini menjelaskan cara memutuskan hal yang sama untuk situs Anda.
Kebutuhan yang benar-benar selesai dengan statis
"Statis" berarti setiap halaman sudah berupa berkas HTML jadi. Saat pengunjung membuka, server tinggal mengirimkannya. Tidak ada kueri basis data, tidak ada kode yang dijalankan untuk menyusun halaman, tidak ada yang bisa gagal di tengah jalan.
Kategori situs berikut hampir selalu selesai dengan pendekatan ini:
- Situs profil perusahaan. Beranda, tentang kami, daftar layanan, portofolio, kontak. Berubah saat ada layanan baru, bukan tiap minggu.
- Landing page kampanye. Satu halaman, satu tujuan, satu formulir. Justru butuh muat secepat mungkin karena tiap detik tunggu adalah pengunjung yang pergi.
- Katalog produk yang jumlahnya tetap. Puluhan produk dengan spesifikasi yang jarang berubah bisa jadi halaman statis, dengan tombol pembelian yang mengarah ke marketplace.
- Halaman area layanan. Situs kami punya banyak halaman kota dan kecamatan. Isinya spesifik per lokasi tapi struktur dan jadwal perubahannya seragam, jadi dihasilkan dari templat lalu diterbitkan sebagai HTML biasa.
- Dokumentasi dan halaman bantuan. Diperbarui berkala oleh orang yang nyaman bekerja dengan berkas teks.
Perhatikan pola bersamanya: isinya sama untuk semua pengunjung. Begitu halaman harus menampilkan hal berbeda tergantung siapa yang membuka, statis mulai kehilangan keunggulannya.
Yang tetap bisa dilakukan situs statis
Salah paham yang umum: statis dianggap tidak bisa apa-apa. Padahal formulir kontak tetap jalan lewat layanan pengiriman formulir atau satu titik API kecil. Pencarian bisa dilakukan di sisi peramban untuk situs berskala puluhan sampai ratusan halaman. Analitik, pelacakan iklan, chat, dan peta semuanya berjalan normal karena semua itu memang berjalan di peramban pengunjung, bukan di server Anda.
Kapan CMS memang diperlukan
Ada kondisi di mana memaksakan statis justru membuat semua orang menderita. Yang paling menentukan bukan jumlah halaman, melainkan siapa yang mengubah isi dan seberapa sering.
- Isi berubah beberapa kali seminggu oleh orang non-teknis. Kalau tim pemasaran harus menunggu programmer untuk menerbitkan promo, kecepatan bisnis Anda yang jadi korban. Panel admin membayar dirinya di sini.
- Ada akun pengguna. Login, keranjang, riwayat pesanan, area anggota. Semua ini butuh sesi dan basis data.
- Transaksi terjadi di dalam situs. Stok berkurang, pesanan tercatat, status berubah. Tidak mungkin dijalankan dari berkas statis.
- Isi terlalu banyak untuk dikelola manual. Ribuan produk dengan harga yang berubah harian butuh basis data, apa pun cara penyajian akhirnya.
- Butuh alur kerja redaksi. Draf, penjadwalan terbit, banyak penulis, riwayat revisi. Ini persis alasan blog ini tidak dibuat statis.
Perlu dicatat, "butuh CMS" tidak otomatis berarti "butuh CMS terberat yang ada". Banyak situs yang sebenarnya hanya perlu satu tabel dan satu halaman admin sederhana, tapi memasang sistem lengkap beserta seluruh permukaan seranganya.
Selisih kecepatan dan biaya hosting
Kami tidak akan mengutip persentase kecepatan, karena angka seperti itu bergantung pada tema, plugin, dan server masing-masing. Yang lebih berguna adalah memahami dari mana selisihnya datang, karena mekanismenya sama di semua kasus.
| Langkah saat halaman diminta | Situs statis | CMS dinamis |
|---|---|---|
| Menjalankan kode di server | tidak ada | ada |
| Kueri ke basis data | tidak ada | beberapa sampai puluhan |
| Menyusun HTML | sudah jadi | tiap permintaan, kecuali di-cache |
| Bisa dilayani dari CDN tepi | seluruh halaman | umumnya hanya gambar dan aset |
| Beban server saat trafik melonjak | nyaris rata | naik seiring jumlah pengunjung |
Baris terakhir yang paling sering terasa di dompet. Situs statis melayani seribu pengunjung dengan usaha yang hampir sama dengan melayani sepuluh, karena tidak ada pekerjaan yang diulang per pengunjung. Situs dinamis tanpa cache yang benar akan melambat, lalu butuh server lebih besar, lalu tagihannya naik.
Soal biaya hosting, aturannya sederhana dan bisa Anda cek sendiri di halaman harga penyedia mana pun: hosting berkas statis adalah produk termurah yang mereka jual, sering kali gratis untuk situs kecil, karena penyedia tidak perlu menyediakan proses yang berjalan terus-menerus untuk Anda. Bandingkan sendiri harga paket hosting statis dan paket yang menyertakan basis data di penyedia yang sama, lalu kalikan dua belas bulan.
Satu peringatan yang jujur: situs statis yang penuh gambar besar dan skrip pihak ketiga tetap lambat. Statis menghapus penundaan di sisi server, bukan dosa di sisi aset. Gambar yang tidak dikompres dan lima pelacak iklan akan mengalahkan keunggulan apa pun.
Beban perawatan dan keamanan
Bagian ini sering luput dari perbandingan, padahal dampaknya berjalan tiap bulan selama situs hidup.
CMS adalah perangkat lunak yang berjalan di server Anda. Perangkat lunak punya celah, celah ditemukan dan diumumkan, dan versi yang tidak diperbarui dipindai otomatis oleh pihak yang mencari korban. Plugin memperbanyak permukaan itu: tiap plugin adalah kode buatan orang lain yang berjalan dengan hak penuh di situs Anda. Situs yang ditinggal tanpa pembaruan selama setahun bukan situs yang aman, hanya situs yang belum ketahuan.
Situs statis memindahkan risiko ini keluar. Tidak ada halaman login untuk dijebol, tidak ada basis data untuk disuntik, tidak ada plugin untuk dieksploitasi. Yang tersisa hanya keamanan akun penyedia hosting dan domain Anda, dan itu diselesaikan dengan autentikasi dua faktor.
Konsekuensi yang harus diterima
Imbalannya bukan tanpa harga. Mengubah isi situs statis berarti menyunting berkas dan menerbitkan ulang. Untuk tim yang tidak nyaman dengan itu, prosesnya terasa lebih lambat daripada mengetik di panel admin. Sebagian penyedia menawarkan antarmuka penyuntingan untuk situs statis, tapi kemampuannya tetap lebih terbatas.
Kalau perubahan isi jarang, biaya kecil ini terbayar berkali-kali oleh perawatan yang nyaris nol. Kalau perubahan sering, ia berubah jadi gangguan harian.
Pola hibrida: statis plus aplikasi kecil
Pilihan sebenarnya jarang "semua statis" atau "semua dinamis". Yang paling sering masuk akal adalah memisahkan bagian yang berubah dari bagian yang tidak, lalu memberi masing-masing perlakuan yang sesuai.
Susunan yang kami pakai sendiri kira-kira begini. Halaman perusahaan, layanan, produk, dan area dibuat statis, dihasilkan dari templat sehingga menambah halaman baru tidak berarti menyalin kode secara manual. Blog berjalan sebagai aplikasi terpisah dengan basis data dan panel penulis, karena di situlah alur redaksi dibutuhkan. Keduanya terhubung lewat navigasi biasa, dan pengunjung tidak perlu tahu bahwa itu dua sistem.
Keuntungan pola ini ada tiga. Bagian yang paling sering dibuka pengunjung, yaitu halaman utama dan halaman layanan, mendapat kecepatan maksimal. Permukaan keamanan yang perlu dirawat menyusut ke satu aplikasi saja, bukan seluruh situs. Dan kalau aplikasi blog bermasalah, halaman bisnis inti tetap berdiri.
Pola serupa berlaku untuk kebutuhan lain: katalog statis dengan formulir pemesanan yang ditangani satu titik API kecil, atau situs profil statis dengan area login karyawan yang berdiri sendiri di subdomain.
Cara memutuskan untuk situs Anda
Tiga pertanyaan ini menyelesaikan sebagian besar kasus. Berapa kali isi situs Anda benar-benar berubah dalam enam bulan terakhir, dihitung dari riwayat nyata, bukan rencana. Siapa yang mengubahnya, orang teknis atau bukan. Dan apakah ada halaman yang harus menampilkan isi berbeda per pengunjung.
Perubahan jarang, pengubah teknis, isi seragam untuk semua: statis, dan Anda menghemat biaya hosting sekaligus seluruh beban pembaruan keamanan. Perubahan sering oleh tim non-teknis atau ada akun pengguna: pakai sistem dinamis, tapi pilih yang seukuran kebutuhan. Campuran keduanya: pisahkan, jangan paksa satu teknologi menanggung semuanya.
Kalau Anda ingin membandingkan situs yang sekarang dengan salah satu pendekatan di atas, mulai dari mencatat frekuensi perubahan dan tagihan hosting dua belas bulan terakhir. Pendekatan yang kami pakai untuk masing-masing kondisi dijelaskan di halaman jasa pembuatan website, dan gambaran cakupan pekerjaan lainnya ada di ringkasan layanan. Untuk situs yang butuh bagian dinamis sungguhan seperti akun pengguna atau transaksi, bagian itu masuk ke ranah pembuatan aplikasi.
Reza
