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

Cache website dan cache internal server adalah lapisan cache yang menyimpan salinan di sepanjang jalur permintaan halaman WordPress dari browser pengunjung sampai ke database. Saat diperiksa di server Nginx + Apache, permintaan 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 apa adanya, tanpa melewati PHP dan database.

Ⅰ. Struktur Cache WordPress

Caching adalah metode optimasi performa web yang menyimpan salinan data yang sudah dibuat sekali, lalu menjawab permintaan yang sama dengan salinan itu. 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).

🗂️ Cache yang dilewati permintaan WordPress
🌐 Cache websiteCache HTTP · klasifikasi MDN
private cacheCache browser
shared cache
proxy cacheProxy di jaringan kantor·ISP
managed cacheCDN · reverse proxy (Varnish)
🖥️ Cache internal serverKlasifikasi dokumentasi resmi WordPress
Cache halamanHTML statis buatan plugin caching (WP Rocket)
OPcacheCache opcode · eksekusi PHP
Object cacheData yang tetap ada setelah permintaan selesai (Redis)

Di simulator di bawah, pilih cache di pohon sebelah kiri lalu klik chip untuk melihat di lapisan mana permintaan berhenti.

🧭 Simulator Lapisan CacheSimulator penjelasan
🗂️ Cache yang dilewati permintaan WordPress
🧰 Jenis permintaan
Cache browser
Cache HTTP yang disimpan di browser pengunjung. Pilih [Gambar · CSS] lalu klik [Kunjungan pertama] → [Kunjungi lagi]: mulai kunjungan kedua, permintaan tidak lagi dikirim ke server.
Header cache HTTP
Aturan yang dipakai server untuk memberi tahu browser dan CDN berapa lama salinan disimpan. Baris header di log respons adalah nilai nyata dari server Nginx + Apache.
Cache CDN · proxy
Salinan yang dipakai bersama banyak pengunjung. Nyalakan [Pakai CDN] lalu klik [Kunjungan pertama] → [Kunjungi lagi]: respons selesai di edge.
Cache halaman
Menyimpan HTML buatan PHP sebagai file. Klik [Kunjungi lagi] dan permintaan tidak turun sampai ke PHP dan database.
OPcache
Menyimpan bytecode PHP hasil kompilasi di memori. Pada [Kunjungan setelah pos diedit], PHP berjalan lagi tetapi kompilasi dilewati.
Object cache
Menyimpan hasil kueri di Redis. Pada [Kunjungan setelah pos diedit], hanya data pos yang berubah yang dibaca ulang dari MariaDB.
Alur lengkap
Permintaan turun dari atas ke bawah dan berhenti di lapisan pertama yang punya salinan.
LapisanLokasi penyimpananYang disimpanContoh Nginx + Apache
Cache browserPerangkat pengunjungHTML·CSS·JS·gambar·fontCSS·gambar 7 hari
Cache CDN·proxyDi depan server (edge·reverse proxy)Salinan halaman·file statisBunny CDN
Cache halamanDisk·memori serverHTML buatan PHPWP Rocket + nginx
OPcacheMemori serverBytecode PHPPHP 8.3, JIT mati
Object cacheMemori serverHasil kueri·objekRedis
Simulator penjelas yang hanya berjalan di browser. Baris header di log respons diambil pada 10 Oktober 2026 dari server Nginx + Apache, sedangkan nilai dalam tanda kurung, seperti ETag setelah edit, adalah contoh.

Ⅱ. Cache Website

Cache website adalah cache tempat browser pengunjung serta CDN dan proxy menyimpan salinan sesuai instruksi yang diberikan server lewat header respons. Header yang umum adalah [Cache-Control], [ETag], dan [Expires]. Setelah masa simpan habis, permintaan bersyarat memeriksa apakah ada perubahan, dan jika tidak ada, server menjawab tanpa isi dengan [304 Not Modified].

1️⃣ Cache Browser

Cache browser adalah cache HTTP yang disimpan di browser web pengunjung. Cache ini menyimpan HTML, CSS, JavaScript, gambar, dan 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 lewat header respons. Server Nginx + Apache yang mengembalikan header respons di bawah memerintahkan 7 hari untuk CSS dan gambar, sedangkan halaman HTML dikirim tanpa masa simpan sehingga setiap kali dikunjungi lagi, halaman diperiksa apakah ada perubahan.

📨 Header respons hasil ukurKonfigurasi Nginx + Apache · 2026-10-10
💻 Komputer pengunjungCache browser
──────▶① Permintaan pertamaGET /style.css
🖥️ Server websiteNginx + Apache
💻 Komputer pengunjungCache browser
◀──────② File + instruksi penyimpanancache-control: max-age=604800
🖥️ Server websiteNginx + Apache
③ Browser menyimpannya selama 7 hari sesuai instruksi, dan tidak mengirim permintaan ke server untuk kunjungan di antara waktu itu.
💻 Komputer pengunjungCache browser
──────▶④ Diperiksa setelah kedaluwarsaIf-None-Match: "6ab12775-2ee8"
🖥️ Server websiteNginx + Apache
💻 Komputer pengunjungCache browser
◀──────⑤ Tidak berubahHTTP/2 304 (tanpa isi)
🖥️ Server websiteNginx + Apache
🖼️ CSS · gambar
cache-control: max-age=604800
expires: Sat, 17 Oct 2026 03:21:00 GMT
etag: "6ab12775-2ee8"
Browser 7 hari lamanya memakai salinan tersimpan tanpa bertanya lagi ke server.
📄 Halaman HTML
etag: "6ac9298c-95575"
last-modified: Fri, 09 Oct 2026 17:51:08 GMT
Tanpa instruksi masa simpan, sehingga saat kunjungan ulang browser lebih dulu bertanya dengan ETag apakah ada perubahan.
Jika diminta lagi dengan ETag yang sama, server hanya mengembalikan [HTTP/2 304] tanpa isi, dan browser tetap memakai salinan tersimpan.

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.

👤 Pengunjung di wilayah server asalDNS memberi alamat server asal
→
🖥️ Server asalMenjawab langsung tanpa melewati CDN.
👤 Pengunjung di wilayah lainDNS memberi alamat edge terdekat
→
☁️ Edge Bunny CDNJika ada salinan HTML·file, jawaban diberikan dari sini.
→
🖥️ Server asalHanya dituju saat edge tidak punya salinan.

Ⅲ. 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.

🅐 Saat cache halaman punya fileSebagian besar permintaan halaman dari pengunjung yang tidak login
① nginx menerima permintaanServer web menerima permintaan yang tiba di server asal.
↓
1️⃣ Cache halaman ↓② Menjawab dengan file cache halamannginx mengirim file HTML buatan WP Rocket apa adanya.x-rocket-nginx-serving-file: HIT
Selesai tanpa melewati PHP · OPcache · Redis · MariaDB.
🅑 Saat cache halaman tidak punya fileKunjungan pertama setelah cache dikosongkan · layar login · permintaan AJAX
① nginx menerima permintaanKarena tidak ada file, permintaan diteruskan ke Apache.
↓
2️⃣ OPcache ↓② Eksekusi PHP · OPcacheMenjalankan file PHP WordPress sebagai bytecode hasil kompilasi.
↓
3️⃣ Cache objek ↓③ Cache objek (Redis)Hasil kueri·objek yang tersimpan diambil dari Redis.
↓
④ MariaDBHanya data yang tidak ada di Redis yang dikueri, dan data yang sering dipakai dibaca dari InnoDB buffer pool (memori).
↓
⑤ Respons · simpan cache halamanHTML yang sudah jadi dikirim dan WP Rocket menyimpannya sebagai file, sehingga permintaan berikutnya ditangani sebagai 🅐.
Berdasarkan konfigurasi Nginx + Apache (diteruskan ke Apache·PHP hanya saat tidak ada file cache halaman), dicek 2026-10-10.
CacheYang disimpanKapan disimpan
1️⃣ Cache HalamanHalaman HTML jadi🅑 ⑤ WP Rocket menyimpannya sebagai file saat merespons
2️⃣ OPcacheKode PHP hasil kompilasi (bytecode)🅑 ② Saat file PHP pertama kali dijalankan
3️⃣ Cache ObjekPotongan data seperti hasil kueri·opsi🅑 ③ Saat WordPress pertama kali mengambil data

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.

🖥️ Hosting yang bisa memilih Nginx + Apache
CloudwaysPilihan stack per aplikasi
Hybrid StackNginx + Apache
Lightning StackHanya Nginx
Cloudways →
ScalaHostingPengaturan server web SPanel
BawaanApache
Nyalakan NginxNginx + Apache
ScalaHosting →

1️⃣ Cache Halaman

  • ↪️ Full-page cache atau cache HTML

Cache halaman juga disebut full-page cache, dan karena menyimpan HTML, juga 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.

JenisContohCara menyimpan·merespons
Plugin cacheWP Rocket · WP Super Cache · W3 Total Cache · Cache EnablerWordPress menyimpan halaman sebagai file HTML, dan server web mengirim file itu.
Cache server webCache Nginx FastCGI · LiteSpeed CacheServer web menyimpan sendiri respons PHP dan mengirimkannya untuk permintaan berikutnya.
Cache reverse proxyVarnishServer 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 lama tidak mendukung PHP 7 sehingga kini tidak dipakai lagi. Ini adalah tahap ② dari 🅑 dalam urutan pemrosesan di atas.

JenisStatusPenjelasan
Zend OPcacheBawaan sejak PHP 5.5Cache opcode standar yang dipakai saat ini, dinyalakan dengan [opcache.enable=1].
OPcache JITDisertakan di dalam OPcache sejak PHP 8Mengubah bytecode sekali lagi menjadi kode mesin lalu menjalankannya; dinyalakan dan dimatikan dengan [opcache.jit].
APCPengembangan dihentikanCache opcode yang dipakai sebelum OPcache; fitur cache datanya berlanjut di APCu.
XCachePengembangan dihentikanTidak mendukung PHP 7.
WinCacheUntuk 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.

JenisKategoriTetap ada setelah permintaan selesai?Penjelasan
WP_Object_CacheBawaan WordPressTidakCache bawaan yang hanya mengingat dalam satu permintaan.
RedisObject cacheYaPenyimpanan memori terpisah, dihubungkan lewat drop-in plugin Redis Object Cache.
MemcachedObject cacheYaPenyimpanan memori terpisah.
APCuObject cacheYa (di server yang sama)Disimpan di memori bersama yang dipakai PHP.
FileObject cacheYaDisimpan sebagai file di disk.
InnoDB buffer poolCache bawaan database · bukan cache objekYaMySQL·MariaDB memuat data tabel dan indeks ke memori.
Cache kueriCache 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

Itu terjadi karena salinan lama yang tersisa di cache halaman atau CDN yang menjawab. Kosongkan cache pos tersebut di plugin cache, dan jika memakai CDN, kosongkan juga salinan di CDN.

Plugin cache halaman seperti WP Rocket secara bawaan tidak mengirim halaman tersimpan kepada pengguna yang login. Layar admin dan halaman saat login dibangun ulang oleh PHP setiap kali, dan saat itu OPcache serta cache objek yang menopang kecepatannya.

Di Chrome, tekan [Ctrl+Shift+R] ([Cmd+Shift+R] di Mac) untuk memuat ulang halaman saat ini tanpa cache. Untuk menghapus seluruh cache tersimpan, buka [Lainnya] di kanan atas → [Hapus data penjelajahan], lalu pilih [Gambar dan file dalam cache].

💾 Artikel terkait cache 10 artikel
🗂️ Cache
📋 Cache: Definisi dan Semua Bidang 📄 Cache Website & Cache Internal Server
📋 Panduan Pengaturan WP Rocket 📝 Zend OPcache 📝 Instalasi Redis Cache
📝 Apa itu CDN? 📝 Varnish Cache
📋 Uji kecepatan WP Rocket 📝 Contoh Peningkatan Kecepatan 📝 Plugin Cache · Optimasi

ℹ️ 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.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Buktikan bahwa Anda manusia: 4   +   3   =