⚡ StatixPress — Bikin WordPress Kamu Sekencang Website Statis Cek Detailnya →
Dokumentasi

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

  1. Download file zip plugin dari statixpress.site atau WordPress.org.
  2. Di WordPress admin, buka Plugins → Add New → Upload Plugin.
  3. Pilih file .zip yang sudah didownload, klik Install Now.
  4. Klik Activate Plugin.
  5. Buka StatixPress → Settings dan aktifkan cache.
  6. Kunjungi halaman mana saja di situs Anda — halaman tersebut akan di-cache sebagai file HTML statis saat pertama kali dimuat.
Tips: Setelah aktivasi, jalankan crawler bawaan (StatixPress → Crawler) untuk pre-warm semua halaman agar pengunjung selalu mendapatkan respon instan.

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.

PengaturanKeteranganDefault
Enable Static CacheTombol utama. Matikan untuk menonaktifkan semua cache tanpa menonaktifkan plugin.Mati
Cache LifetimeBerapa lama file cache dianggap masih segar (dalam jam). Setelah kadaluarsa, permintaan berikutnya akan meregenerasi file.24 jam
HTML MinificationMenghapus spasi dan komentar yang tidak diperlukan dari HTML yang di-cache untuk mengurangi ukuran file.Aktif
Gzip CompressionMenyimpan salinan .gz yang sudah dikompres di samping setiap file cache untuk server yang mendukung gzip passthrough.Aktif
Exclude URLsSatu URL per baris. Mendukung path eksak (/cart) dan wildcard (/user/*). Halaman-halaman ini tidak pernah di-cache.
Exclude CookiesJika pengunjung memiliki salah satu cookie ini, mereka akan mendapatkan versi dinamis (bukan cache).woocommerce_*
Mobile Separate CacheSajikan file cache terpisah untuk pengunjung mobile (berguna jika tema Anda merender berbeda di mobile).Mati
Catatan: Setelah mengubah pengaturan, klik Flush All Cache dari admin bar WordPress untuk meregenerasi semua halaman dengan konfigurasi baru.

🕷️ 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

  1. Buka StatixPress → Crawler.
  2. Klik Start Crawl. Crawler akan mengantrekan semua post, halaman, arsip, dan halaman taksonomi yang dipublikasikan.
  3. Progress ditampilkan secara real time. Setiap URL dikunjungi dan di-cache.
  4. 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.

Situs besar: Untuk situs dengan 1.000+ halaman, crawler memproses URL dalam batch. Crawl penuh mungkin memakan beberapa menit. Jalankan saat jam sepi.

🛒 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 HalamanModeAlasan
Toko, Kategori, ProdukStatisKonten tetap, bisa di-cache
Keranjang, CheckoutDinamisBergantung sesi, berbeda per pengguna
My AccountDinamisKonten untuk pengguna yang login
Terima Kasih (Order)DinamisKonten 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.

Tips: Jika Anda melihat harga atau jumlah stok yang tidak terbarui, buka StatixPress → Cache dan flush berdasarkan tipe post product.

📐 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;
            }
        }
    }
}
Catatan: Aturan Nginx memerlukan restart server setelah ditambahkan. Aturan Apache langsung berlaku melalui .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

  1. Pengunjung meminta halaman yang cache-nya sudah kadaluarsa.
  2. Mereka langsung mendapatkan versi cache lama (respon cepat).
  3. Sebuah job background meregenerasi halaman dengan mengambilnya via loopback request.
  4. Pengunjung berikutnya mendapatkan versi terbaru.

Konfigurasi

OpsiKeterangan
ISR Revalidation IntervalSeberapa sering halaman yang kadaluarsa diregenerasi (dalam menit). Rekomendasi: 30–60 menit.
Max Queue SizeMaksimal halaman yang diregenerasi per siklus cron. Default: 20.
Priority Post TypesTipe 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

  1. Buka StatixPress → CDN → Cloudflare.
  2. Masukkan Zone ID Anda (tersedia di Cloudflare Dashboard → Overview).
  3. Masukkan API Token dengan izin Cache Purge.
  4. Simpan. Mulai sekarang, setiap pembaruan post memicu purge Cloudflare otomatis.

BunnyCDN

  1. Buka StatixPress → CDN → BunnyCDN.
  2. Masukkan Pull Zone ID dan API Key dari dashboard BunnyCDN.
  3. Simpan dan uji dengan tombol Test Purge.

Fastly

  1. Buka StatixPress → CDN → Fastly.
  2. Masukkan Service ID dan API Token Anda.
  3. 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.

Masih bingung? Jalankan Diagnostic Panel (StatixPress → Diagnostic) untuk pemeriksaan sistem lengkap, lalu hubungi support dengan laporan diagnostik tersebut.