Page Cache Collision Shield: Kompatibilitas LiteSpeed, WP Rocket & Nginx

Page Cache Collision Shield WDP Link Post Collision Shield** bekerja dengan menyuntikkan header HTTP Vary: Host, Cookie dan secara otomatis memicu konstanta DONOTCACHEPAGE setiap kali parameter nama tamu (seperti ?to=) terdeteksi di URL. Hasilnya, plugin cache server seperti LiteSpeed Cache, WP Rocket, dan FastCGI Nginx tidak akan pernah menyajikan file cache tamu A ke tamu B yang berbeda.


Bahaya Tertukarnya Data Tamu Akibat Cache Halaman Statis

Plugin page cache (seperti LiteSpeed Cache, WP Rocket, W3 Total Cache, atau modul Nginx FastCGI) bertugas mengubah halaman dinamis WordPress menjadi file HTML statis demi mempercepat waktu akses situs.

Namun pada website undangan pernikahan, fitur caching ini membawa bahaya besar jika tidak dikonfigurasi dengan tepat:

  1. Tamu A membuka: https://andy-zhea.com/?to=Bapak+Joko
  2. Mesin cache server membuat salinan file HTML statis dengan nama "Bapak Joko" dan menyimpannya di disk penyimpanan server.
  3. Beberapa saat kemudian, Tamu B membuka: https://andy-zhea.com/?to=Ibu+Siti
  4. Server cache yang tidak menyadari perbedaan parameter langsung menyajikan salinan HTML statis milik Tamu A!

Keresahan Pasangan Pengantin terhadap Kesalahan Tampilan Nama

Dampak dari fenomena cache collision ini sangat merusak:

  • Tamu B yang terhormat melihat layar undangan bertuliskan: "Kepada Yth. Bapak Joko".
  • Tamu merasa tersinggung karena mengira pengantin salah mengirimkan tautan undangan atau tidak teliti.
  • Pengantin panik dan melampiaskan kekecewaan kepada vendor di tengah persiapan pernikahan yang padat.
  • Vendor terpaksa mematikan seluruh cache server, yang mengakibatkan performa website melambat drastis saat ratusan tamu mengakses link secara bersamaan.

Mekanisme Isolasi Cache Berbasis Host dan Parameter Kueri

WDP Link Post mengintegrasikan mekanisme pengamanan cache cerdas tanpa mengharuskan Anda mematikan plugin cache berkecepatan tinggi Anda.

Diagram Cara Kerja Page Cache Collision Shield
Diagram Cara Kerja Page Cache Collision Shield.

Komponen Pengamanan Cache WDP Link Post

  1. Host-Based Cache Key Partitioning:

WDP Link Post menyuntikkan header Vary: Host ke seluruh respon HTTP. Mesin cache memisahkan ruang penyimpanan (cache bucket) per domain unik, mencegah aset domain A bercampur dengan domain B.

  1. Selective Dynamic Bypass (DONOTCACHEPAGE):

Ketika sistem mendeteksi keberadaan query parameter nama tamu pada permintaan:

PHP
   add_action('init', function() {
       if (!empty($_GET['to']) || !empty($_GET['u'])) {
           if (!defined('DONOTCACHEPAGE')) {
               define('DONOTCACHEPAGE', true);
           }
           header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0');
           header('Pragma: no-cache');
       }
   });
  1. LiteSpeed Cache Tag Integration:

Bagi pengguna web server LiteSpeed, WDP Link Post menyuplai header kontrol resmi:

TEXT
   X-LiteSpeed-Cache-Control: no-cache
  1. Static Asset Caching Tetap Berjalan:

Meskipun dokumen HTML undangan diproses secara dinamis demi menjaga ketepatan nama tamu, seluruh file aset berat (CSS Elementor, font, icon, dan gambar foto) tetap diizinkan ter-cache penuh di peramban tamu dengan masa kedaluwarsa panjang (long-lived browser cache).


Pengujian Nyata: Skenario Tamu Andy & Zhea

Vendor melakukan uji beban (load test) pada website pernikahan Andy & Zhea:

  • Skenario 1: 50 tamu mengakses URL umum https://andy-zhea.com secara serentak.
  • Hasil: Dilayani 100% dari cache disk LiteSpeed (kecepatan respon 18 milidetik).
  • Skenario 2: Tamu A membuka ?to=Keluarga+Bapak+Hasan.
  • Hasil: Header bypass aktif, nama Bapak Hasan tampil akurat.
  • Skenario 3: Tamu B membuka ?to=Ibu+Ratna.
  • Hasil: Server menyajikan nama Ibu Ratna secara presisi tanpa ada sisa data Bapak Hasan.

Matriks Rekomendasi Pengaturan Plugin Cache Populer

Plugin CachePengaturan Rekomendasi di Dashboard Plugin
LiteSpeed CacheAktifkan opsi Cache Query String dengan memasukkan to dan u ke daftar pengecualian (Do Not Cache Query Strings)
WP RocketMasukkan to dan u pada tab Advanced Rules bagian Never Cache URL(s)
W3 Total CacheTambahkan to pada kolom Ignored query stems di menu Page Cache
Cloudflare EdgeAtur Caching Level ke Standard dan jangan aktifkan aturan Cache Everything pada halaman undangan

Tips & Praktik Terbaik

Pada pengaturan LiteSpeed Cache atau WP Rocket, pastikan Anda memasukkan parameter to dan u ke dalam daftar pengecualian cache halaman dinamis.
Meskipun halaman HTML utama diproses secara dinamis demi menjaga nama tamu, aset statis (CSS, JS, dan gambar) tetap ter-cache penuh di browser tamu dengan kecepatan maksimal.

Pertanyaan yang Sering Diajukan (FAQ)

Apakah website saya akan lambat jika cache halaman dinonaktifkan untuk link nama tamu? +
Tidak akan lambat. Berkat arsitektur native WDP Link Post, eksekusi query PHP hanya memakan waktu rata-rata 60-90 milidetik, sementara gambar dan skrip berat Elementor tetap diambil dari cache lokal peramban tamu.
Apakah saya perlu menginstal add-on tambahan untuk LiteSpeed? +
Tidak. WDP Link Post sudah memiliki modul bawaan yang otomatis berkomunikasi dengan server LiteSpeed dan OpenLiteSpeed.
Bagaimana jika saya menggunakan Cloudflare di depan hosting saya? +
Pastikan Anda tidak membuat Page Rule atau Cache Rule Cloudflare yang menerapkan opsi 'Cache Everything' pada domain undangan tanpa mengecualikan query string.
Mengapa nama tamu saya tetap tertukar di ponsel saya sendiri? +
Periksa apakah peramban Anda menyimpan cache lokal (*service worker / browser cache*). Lakukan refresh halaman atau coba buka di jendela penyamaran (*Incognito Window*).
Apakah WDP Link Post membersihkan cache otomatis saat postingan diperbarui? +
Ya. WDP Link Post terhubung ke hook `save_post` WordPress untuk secara otomatis mengirimkan perintah pembersihan cache (*purge cache*) ke plugin cache yang aktif saat pengelola memperbarui undangan. ---