Dokumentasi
Semua yang Anda butuhkan untuk menginstal, mengonfigurasi, dan menguasai StatixPress.
🚀 Memulai
Persyaratan
- WordPress 6.4 atau lebih baru
- PHP 8.0 atau lebih baru
- Apache (dengan
mod_rewrite) atau Nginx - Izin tulis pada folder
wp-content/cache/statixpress/
Instalasi
- Download file zip plugin dari statixpress.site atau WordPress.org.
- Di WordPress admin, buka Plugins → Add New → Upload Plugin.
- Pilih file
.zipyang sudah didownload, klik Install Now. - Klik Activate Plugin.
- Buka StatixPress → Settings dan aktifkan cache.
- Kunjungi halaman mana saja di situs Anda — halaman tersebut akan di-cache sebagai file HTML statis saat pertama kali dimuat.
Verifikasi Plugin Aktif
Buka halaman mana saja dan lihat source HTML-nya. Anda akan melihat komentar di bagian bawah:
<!-- StatixPress | Cached: 2025-01-01 10:00:00 -->
Anda juga bisa cek StatixPress → Diagnostic untuk pemeriksaan sistem lengkap.
⚙️ Konfigurasi
Semua pengaturan ada di StatixPress → Settings di WordPress admin Anda.
| Pengaturan | Keterangan | Default |
|---|---|---|
| Enable Static Cache | Tombol utama. Matikan untuk menonaktifkan semua cache tanpa menonaktifkan plugin. | Mati |
| Cache Lifetime | Berapa lama file cache dianggap masih segar (dalam jam). Setelah kadaluarsa, permintaan berikutnya akan meregenerasi file. | 24 jam |
| HTML Minification | Menghapus spasi dan komentar yang tidak diperlukan dari HTML yang di-cache untuk mengurangi ukuran file. | Aktif |
| Gzip Compression | Menyimpan salinan .gz yang sudah dikompres di samping setiap file cache untuk server yang mendukung gzip passthrough. | Aktif |
| Exclude URLs | Satu URL per baris. Mendukung path eksak (/cart) dan wildcard (/user/*). Halaman-halaman ini tidak pernah di-cache. | — |
| Exclude Cookies | Jika pengunjung memiliki salah satu cookie ini, mereka akan mendapatkan versi dinamis (bukan cache). | woocommerce_* |
| Mobile Separate Cache | Sajikan file cache terpisah untuk pengunjung mobile (berguna jika tema Anda merender berbeda di mobile). | Mati |
🕷️ Crawler
Crawler bawaan menemukan semua URL yang dipublikasikan dari database WordPress dan membuat file cache statis untuk semuanya. Tidak memerlukan sitemap.xml.
Menjalankan Crawler Secara Manual
- Buka StatixPress → Crawler.
- Klik Start Crawl. Crawler akan mengantrekan semua post, halaman, arsip, dan halaman taksonomi yang dipublikasikan.
- Progress ditampilkan secara real time. Setiap URL dikunjungi dan di-cache.
- Setelah selesai, seluruh situs Anda sudah pre-warm — tidak ada cold-start untuk pengunjung.
Auto-Crawler Cron
Anda bisa mengaktifkan crawl terjadwal setiap jam yang menjaga semua halaman tetap segar secara otomatis. Konfigurasi intervalnya di Settings → Crawler → Cron Interval.
🛒 WooCommerce
StatixPress mendukung WooCommerce secara langsung dengan Hybrid Mode: halaman produk dan toko disajikan sebagai HTML statis, sementara cart, checkout, dan halaman akun tetap dinamis.
| Tipe Halaman | Mode | Alasan |
|---|---|---|
| Toko, Kategori, Produk | Statis | Konten tetap, bisa di-cache |
| Keranjang, Checkout | Dinamis | Bergantung sesi, berbeda per pengguna |
| My Account | Dinamis | Konten untuk pengguna yang login |
| Terima Kasih (Order) | Dinamis | Konten per pesanan |
Cache Clearing Saat Stok Berubah
Ketika stok produk berubah (misalnya setelah pembelian), plugin secara otomatis menghapus cache untuk halaman produk tersebut dan halaman kategori induknya.
📐 Aturan Server
Plugin ini membuat aturan konfigurasi server yang memberi tahu web server Anda untuk menyajikan file statis secara langsung — melewati PHP sepenuhnya.
Apache (.htaccess)
Plugin secara otomatis menulis aturan yang diperlukan ke file .htaccess Anda saat aktivasi. Tidak diperlukan tindakan manual. Jika Anda perlu meregenerasinya, buka Settings → Server Rules → Regenerate.
# StatixPress - Apache Rules
RewriteEngine On
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{HTTP_COOKIE} !(wordpress_logged_in|woocommerce_cart) [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/statixpress/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/statixpress/$1/index.html [L]
Nginx
Untuk Nginx, buka Settings → Server Rules dan salin snippet Nginx-nya. Tambahkan di dalam blok server {} Anda:
location / {
set $cache_file "$document_root/wp-content/cache/statixpress${uri}index.html";
if ($request_method = GET) {
if ($query_string = "") {
if ($http_cookie !~ "wordpress_logged_in|woocommerce_cart") {
try_files $cache_file $uri $uri/ /index.php?$args;
}
}
}
}
.htaccess.
♻️ Regenerasi Statis Bertahap (ISR)
ISR membawa pola stale-while-revalidate ke WordPress. Saat halaman yang di-cache kadaluarsa, pengunjung berikutnya mendapatkan versi lama (stale) secara instan sementara versi baru diregenerasi di latar belakang. Tanpa downtime. Tanpa layar kosong.
Cara Kerja
- Pengunjung meminta halaman yang cache-nya sudah kadaluarsa.
- Mereka langsung mendapatkan versi cache lama (respon cepat).
- Sebuah job background meregenerasi halaman dengan mengambilnya via loopback request.
- Pengunjung berikutnya mendapatkan versi terbaru.
Konfigurasi
| Opsi | Keterangan |
|---|---|
| ISR Revalidation Interval | Seberapa sering halaman yang kadaluarsa diregenerasi (dalam menit). Rekomendasi: 30–60 menit. |
| Max Queue Size | Maksimal halaman yang diregenerasi per siklus cron. Default: 20. |
| Priority Post Types | Tipe post yang diregenerasi pertama kali (misalnya post, product). |
🌍 Integrasi CDN
Saat Anda memperbarui sebuah post, plugin secara otomatis menghapus (purge) URL yang sesuai dari CDN Anda agar pengunjung tidak pernah melihat konten yang sudah kadaluarsa. Mendukung Cloudflare, BunnyCDN, dan Fastly.
Cloudflare
- Buka StatixPress → CDN → Cloudflare.
- Masukkan Zone ID Anda (tersedia di Cloudflare Dashboard → Overview).
- Masukkan API Token dengan izin Cache Purge.
- Simpan. Mulai sekarang, setiap pembaruan post memicu purge Cloudflare otomatis.
BunnyCDN
- Buka StatixPress → CDN → BunnyCDN.
- Masukkan Pull Zone ID dan API Key dari dashboard BunnyCDN.
- Simpan dan uji dengan tombol Test Purge.
Fastly
- Buka StatixPress → CDN → Fastly.
- Masukkan Service ID dan API Token Anda.
- Simpan. Purge dipicu via surrogate keys saat post diperbarui.
🤝 Kontribusi
StatixPress adalah proyek open-source. Kami menerima kontribusi dari pengembang di seluruh dunia.
- Laporkan bug di repositori GitHub kami
- Kirim pull request untuk fitur baru atau perbaikan
- Bantu pengguna lain di forum komunitas
🔧 Pemecahan Masalah
Cache tidak disajikan
Cek apakah server rules sudah aktif: buka Diagnostic → Server Rules. Untuk Apache, pastikan mod_rewrite aktif dan AllowOverride All sudah diset. Untuk Nginx, pastikan Anda sudah menambahkan snippet ke server block dan reload Nginx.
Halaman menampilkan "Page Not Found" setelah diaktifkan
Pengaturan permalink WordPress mungkin perlu disimpan ulang. Buka Settings → Permalinks dan klik Save Changes tanpa mengubah apa pun.
Admin bar atau elemen login muncul di halaman cache
Plugin secara otomatis mengecualikan pengguna yang login dari melihat halaman cache. Jika Anda melihat elemen admin di cache, tambahkan cookie wordpress_logged_in ke daftar pengecualian.
Keranjang WooCommerce kosong atau tidak terupdate
Halaman cart dan checkout tidak boleh pernah di-cache. Verifikasi bahwa keduanya muncul di daftar URL yang dikecualikan otomatis di Settings → Exclusions.
File cache tidak dibuat
Pastikan folder wp-content/cache/statixpress/ dapat ditulis oleh web server. Jalankan StatixPress → Diagnostic untuk mengonfirmasi izin.
Plugin melambat setelah pembaruan post
Saat post diperbarui, plugin menghapus cache untuk halaman tersebut beserta arsip terkait. Jika situs Anda memiliki banyak halaman terkait, ini dapat menyebabkan perlambatan singkat. Gunakan crawler untuk memproses cache di latar belakang.