Cache Website & Cache Internal Server: Cara Kerja Cache di WordPress

Saat cache website dan cache internal server diperiksa di server Nginx + Apache, permintaan halaman WordPress turun berurutan dari browser melalui CDN, cache halaman, OPcache, dan Redis, lalu berhenti di lapisan yang punya salinan. Permintaan halaman yang langsung masuk ke server asal dijawab nginx dengan file HTML buatan WP Rocket, tanpa turun sampai ke PHP dan database.
Ⅰ. Struktur Cache WordPress
Dalam komputasi, cache adalah teknik menyimpan data sementara agar bisa diakses dengan cepat, dan di web pun bekerja dengan prinsip yang sama serta berperan besar dalam meningkatkan performa.
Dengan menyimpan data, caching membuat server tidak perlu membangun semuanya dari awal setiap kali pengunjung membuka situs web; data tersimpan dimuat dengan cepat sehingga waktu muat halaman berkurang. Hasilnya, beban server turun dan pengalaman pengguna membaik.
Cache yang dipakai untuk permintaan WordPress terbagi menjadi dua cabang: cache website dan cache internal server. Standar cache HTTP membagi cache yang hanya disimpan di browser satu pengunjung sebagai private cache, dan cache CDN·proxy yang dipakai bersama banyak pengunjung sebagai shared cache; artikel ini menggabungkan keduanya sebagai cache website.
Cache halaman, OPcache, dan cache objek adalah cache yang menempel pada proses WordPress berjalan di dalam server. Standar HTTP tidak punya kategori tersendiri untuknya, dan dokumentasi resmi WordPress menjelaskannya sebagai plugin caching (cache halaman), cache objek, dan cache server (cache opcode seperti OPcache).
Seluruh bidang tempat cache dipakai dibahas di Cache: Definisi dan Semua Bidang yang Menggunakan Caching (artikel terpisah), sedangkan empat cabang optimasi performa, termasuk cache, dirangkum di Optimasi Performa Web: Struktur dan Definisi (artikel terpisah).
Di simulator di bawah, pilih cache di pohon sebelah kiri lalu klik chip untuk melihat di lapisan mana permintaan berhenti. Lapisan yang pertama kali dinyalakan pemilik situs WordPress dengan plugin cache adalah cache halaman.
| Lapisan | Lokasi penyimpanan | Yang disimpan | Contoh Nginx + Apache |
|---|---|---|---|
| Cache browser | Perangkat pengunjung | HTML·CSS·JS·gambar·font | CSS·gambar 7 hari |
| Cache CDN·proxy | Di depan server (edge·reverse proxy) | Salinan halaman·file statis | Bunny CDN |
| Cache halaman | Disk·memori server | HTML buatan PHP | WP Rocket + nginx |
| OPcache | Memori server | Bytecode PHP | PHP 8.3, JIT mati |
| Object cache | Memori server | Hasil kueri·objek | Redis |
Ⅱ. Cache Website
Cache website adalah cache tempat browser pengunjung dan CDN·proxy menyimpan salinan sesuai instruksi yang diberikan server lewat header respons. Header yang umum adalah [Cache-Control]·[ETag]·[Expires], dan setelah masa simpan habis, permintaan bersyarat ([304 Not Modified]) memeriksa apakah ada perubahan.
1️⃣ Cache Browser
Cache browser adalah cache HTTP yang disimpan di browser web pengunjung. Cache ini menyimpan HTML·CSS·JavaScript·gambar·font, dan saat sumber daya yang sama diminta lagi, permintaan tidak sampai ke server atau hanya memeriksa apakah ada perubahan.
Masa simpan ditentukan oleh server, bukan pengunjung. Server Nginx + Apache di bawah memerintahkan 7 hari untuk CSS dan gambar, sedangkan halaman HTML dijawab tanpa masa simpan sehingga diperiksa ulang setiap kunjungan.
If-None-Match: "6ab12775-2ee8"cache-control: max-age=604800 expires: Sat, 17 Oct 2026 03:21:00 GMT etag: "6ab12775-2ee8"
etag: "6ac9298c-95575" last-modified: Fri, 09 Oct 2026 17:51:08 GMT
2️⃣ Cache CDN · Proxy
Cache CDN·proxy berada di antara pengunjung dan server asal, dan dipakai bersama banyak pengunjung. Forward proxy berada di sisi pengunjung, seperti di jaringan perusahaan, sedangkan reverse proxy dan CDN berada di depan server dan menjawab dengan salinan tersimpan menggantikan server asal.
Reverse proxy yang umum adalah Varnish Cache, dan CDN seperti Bunny CDN·Akamai juga memakai struktur yang sama. Dengan DNS per wilayah, pengunjung di wilayah server asal bisa langsung terhubung ke server asal, sedangkan pengunjung di wilayah lain dilayani edge CDN terdekat (misalnya Bunny CDN) yang menyimpan hingga HTML.
Struktur dan manfaat CDN dibahas di Apa Itu CDN? Alasan Memakai CDN dan 5 Manfaatnya (artikel terpisah).
Ⅲ. Cache Internal Server
Cache internal server adalah cache yang menempel pada proses WordPress membangun halaman setelah permintaan tiba di server asal. Server Nginx + Apache memproses permintaan dengan urutan di bawah, dan jika tahap awal menemukan salinan, tahap berikutnya dilewati.
Konfigurasi Nginx + Apache bisa dipilih sebagai opsi di Cloudways dan ScalaHosting. Di Cloudways, setiap aplikasi bisa memilih Hybrid Stack (Nginx + Apache) atau Lightning Stack (hanya Nginx), sedangkan di ScalaHosting Anda bisa menyalakan pengaturan di SPanel yang memasang Nginx di depan Apache.
| Cache | Yang disimpan | Kapan disimpan |
|---|---|---|
| 1️⃣ Cache Halaman | Halaman HTML jadi | 🅑 ⑤ WP Rocket menyimpannya sebagai file saat merespons |
| 2️⃣ OPcache | Kode PHP hasil kompilasi (bytecode) | 🅑 ② Saat file PHP pertama kali dijalankan |
| 3️⃣ Cache Objek | Potongan data seperti hasil kueri·opsi | 🅑 ③ Saat WordPress pertama kali mengambil data |
1️⃣ Cache Halaman
Cache halaman juga disebut full-page cache, dan karena yang disimpan adalah HTML, kadang disebut cache HTML. Seluruh halaman web buatan PHP disimpan sebagai file HTML statis, lalu file itu dikirim untuk permintaan halaman yang sama tanpa menjalankan PHP. Ini adalah kasus 🅐 dalam urutan pemrosesan di atas.
Lokasi penyimpanannya adalah memori server (RAM) atau disk (HDD/SSD): memori cepat tetapi mahal dan kapasitasnya terbatas, sedangkan disk lega kapasitasnya tetapi relatif lambat.
| Jenis | Contoh | Cara menyimpan·merespons |
|---|---|---|
| Plugin cache | WP Rocket · WP Super Cache · W3 Total Cache · Cache Enabler | WordPress menyimpan halaman sebagai file HTML, dan server web mengirim file itu. |
| Cache server web | Cache Nginx FastCGI · LiteSpeed Cache | Server web menyimpan sendiri respons PHP dan mengirimkannya untuk permintaan berikutnya. |
| Cache reverse proxy | Varnish | Server cache di depan server web menyimpan halaman dan menjawab. |
Pada Nginx + Apache, nginx langsung membaca dan mengirim file HTML buatan WP Rocket, dan header respons mendapat [x-rocket-nginx-serving-file: HIT]. Langkah menyalakan dan mengatur cache halaman dengan WP Rocket dibahas di Panduan Pengaturan WP Rocket (artikel terpisah).
2️⃣ OPcache
OPcache menyimpan bytecode hasil kompilasi awal kode PHP di memori, sehingga saat file yang sama dijalankan lagi, parser PHP tidak perlu dilewati. OPcache sudah bawaan sejak PHP 5.5, sedangkan APC dan XCache yang dulu dipakai tidak mendukung PHP 7 sehingga kini tidak dipakai lagi. Ini adalah tahap ② dari 🅑 dalam urutan pemrosesan di atas.
| Jenis | Status | Penjelasan |
|---|---|---|
| Zend OPcache | Bawaan sejak PHP 5.5 | Cache opcode standar yang dipakai saat ini, dinyalakan dengan [opcache.enable=1]. |
| OPcache JIT | Disertakan di dalam OPcache sejak PHP 8 | Mengubah bytecode sekali lagi menjadi kode mesin lalu menjalankannya; dinyalakan dan dimatikan dengan [opcache.jit]. |
| APC | Pengembangan dihentikan | Cache opcode yang dipakai sebelum OPcache; fitur cache datanya berlanjut di APCu. |
| XCache | Pengembangan dihentikan | Tidak mendukung PHP 7. |
| WinCache | Untuk server Windows (IIS) | Cache opcode yang disebut dokumentasi resmi WordPress bersama OPcache. |
OPcache dinyalakan dengan pengaturan PHP [opcache.enable=1], dan JIT yang hadir sejak PHP 8 bisa dimatikan terpisah dengan [opcache.jit=disable]. Instalasi dan pengaturannya dibahas di Konsep Zend OPcache, Instalasi, dan Pengaturan (artikel terpisah).
3️⃣ Cache Objek
Cache objek menyimpan hasil kueri database atau objek hasil perhitungan di penyimpanan memori seperti Redis·Memcached. Secara bawaan, WordPress hanya mengingat objek dalam satu permintaan, dan hasilnya baru tetap ada setelah permintaan selesai jika penyimpanan seperti Redis dipasang. Ini adalah tahap ③ dari 🅑 dalam urutan pemrosesan di atas.
| Jenis | Kategori | Tetap ada setelah permintaan selesai? | Penjelasan |
|---|---|---|---|
| WP_Object_Cache | Bawaan WordPress | Tidak | Cache bawaan yang hanya mengingat dalam satu permintaan. |
| Redis | Object cache | Ya | Penyimpanan memori terpisah, dihubungkan lewat drop-in plugin Redis Object Cache. |
| Memcached | Object cache | Ya | Penyimpanan memori terpisah. |
| APCu | Object cache | Ya (di server yang sama) | Disimpan di memori bersama yang dipakai PHP. |
| File | Object cache | Ya | Disimpan sebagai file di disk. |
| InnoDB buffer pool | Cache bawaan database · bukan cache objek | Ya | MySQL·MariaDB memuat data tabel dan indeks ke memori. |
| Cache kueri | Cache bawaan database · bukan cache objek | — | Dihapus di MySQL 8.0; masih ada di MariaDB tetapi mati secara bawaan. |
WordPress terhubung ke Redis melalui file drop-in ([object-cache.php]) yang ditambahkan plugin Redis Object Cache. Proses instalasinya dibahas di Instalasi dan Pengaturan Redis Cache WordPress (artikel terpisah).
🔢 FAQ & Konten yang Direkomendasikan









ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.