Langsung ke konten
KamusNgoding
Menengah Cloudflare 6 menit baca

Memahami Cloudflare Page Rules untuk Optimasi Website

#cloudflare #page rules #optimasi #cache #intermediate

Memahami Cloudflare Page Rules untuk Optimasi Website

Pendahuluan

Bayangkan kamu sedang membangun platform e-commerce seperti Tokopedia — ada ribuan halaman produk, halaman statis seperti “Tentang Kami”, dan halaman dinamis seperti checkout yang butuh perlakuan berbeda. Halaman produk perlu di-cache agar cepat, halaman checkout tidak boleh di-cache karena sensitif, dan URL lama harus redirect ke URL baru tanpa merusak SEO.

Di sinilah Cloudflare Page Rules menjadi senjata utama. Fitur ini memungkinkan kamu mendefinisikan aturan berbasis URL pattern yang akan mengubah perilaku Cloudflare secara granular untuk setiap halaman tertentu — bukan hanya setelan global.

Artikel ini akan membahas cara kerja Page Rules, konfigurasi esensial, dan bagaimana menerapkannya ke kasus nyata. Jika kamu belum familiar dengan konsep dasar Cloudflare, pastikan kamu sudah membaca Cara Mengaktifkan SSL Gratis dari Cloudflare terlebih dahulu.


Apa Itu Page Rules dan Komponen Utamanya

Page Rules adalah sistem aturan kondisional di Cloudflare yang bekerja berdasarkan URL pattern. Setiap rule terdiri dari dua bagian utama:

  1. URL Pattern — pola URL yang akan dicocokkan dengan request masuk
  2. Settings (Actions) — tindakan yang diambil jika URL cocok dengan pattern

Cara Kerja URL Pattern

Cloudflare menggunakan wildcard * untuk mencocokkan URL. Setiap * dalam pattern akan ditangkap sebagai variabel bernomor ($1, $2, dst.) sesuai urutan kemunculannya:

# Cocok dengan semua URL di bawah /blog/
*namadomain.com/blog/*

# Cocok hanya halaman spesifik
namadomain.com/checkout

# Cocok dengan semua subdomain
*.namadomain.com/*

# Cocok dengan semua URL
*namadomain.com/*

Penting: Setiap akun Cloudflare gratis mendapat 3 Page Rules. Paket Pro mendapat 20, Business 50. Gunakan dengan bijak!

Urutan Prioritas Rules

Page Rules dieksekusi dari atas ke bawah dan hanya rule pertama yang cocok yang akan dijalankan (kecuali kamu aktifkan “Continue” action). Urutan ini krusial — salah urut bisa menyebabkan rule tidak berfungsi.

Rule 1: *domain.com/admin/*    → Security Level: High
Rule 2: *domain.com/*          → Cache Level: Aggressive

Di sini, halaman /admin/ akan mendapat Security Level: High, bukan Cache: Aggressive.


Konfigurasi Esensial dalam Page Rules untuk Optimasi

1. Cache Control

Mengontrol bagaimana Cloudflare menyimpan cache halaman kamu.

URL Pattern : *namadomain.com/assets/*
Setting     : Cache Level → Cache Everything
              Edge Cache TTL → 1 month
URL Pattern : *namadomain.com/api/*
Setting     : Cache Level → Bypass

2. Forwarding (Redirect)

Redirect URL lama ke URL baru dengan HTTP 301 (permanent) atau 302 (temporary). Perhatikan bahwa $1 menangkap wildcard pertama, $2 menangkap wildcard kedua, dan seterusnya:

# Redirect /produk/nama-produk ke /p/nama-produk
# $1 = prefix sebelum domain (misal "www.")
# $2 = slug produk setelah /produk/

URL Pattern  : *namadomain.com/produk/*
Forwarding   : https://namadomain.com/p/$2 [301]
# Redirect parameter query ke path bersih
# $1 = prefix, $2 = nilai id produk

URL Pattern  : *namadomain.com/product?id=*
Forwarding   : https://namadomain.com/produk/$2 [301]

3. SSL Settings

Override setelan SSL global untuk path tertentu:

URL Pattern : *namadomain.com/checkout/*
Setting     : SSL → Full (Strict)
              Always Use HTTPS → On

4. Security Level

Tentukan agresivitas firewall Cloudflare per halaman:

URL Pattern : *namadomain.com/wp-admin/*
Setting     : Security Level → I'm Under Attack!
              Browser Integrity Check → On

5. Disable Performance Features

Untuk halaman yang butuh konten real-time:

URL Pattern : *namadomain.com/live/*
Setting     : Disable Apps → On
              Disable Performance → On
              Cache Level → Bypass

Panduan Langkah-demi-Langkah Membuat Page Rules

Langkah 1 — Masuk ke Dashboard Cloudflare

Buka dash.cloudflare.com, pilih domain kamu, lalu navigasi ke menu Rules → Page Rules.

Langkah 2 — Klik “Create Page Rule”

Kamu akan melihat form dengan dua kolom: URL dan Settings.

Langkah 3 — Isi URL Pattern

Contoh pattern untuk cache semua aset statis:

*namadomain.com/static/*

Langkah 4 — Tambahkan Setting

Klik “Add a Setting”, pilih dari dropdown:

  • Cache LevelCache Everything
  • Klik ”+ Add Setting” lagi untuk menambah setting kedua
  • Edge Cache TTLa month

Langkah 5 — Atur Prioritas

Setelah disimpan, gunakan drag-and-drop untuk mengatur urutan rule. Rule dengan spesifisitas lebih tinggi (URL lebih spesifik) harus berada di atas.

Langkah 6 — Simpan dan Deploy

Klik “Save and Deploy”. Perubahan aktif dalam hitungan detik.


Contoh Kasus Nyata

Kasus 1: Website dengan Blog dan Landing Page

Jika kamu ingin membangun layanan konten seperti Kompas.com, kamu butuh strategi cache yang berbeda untuk setiap bagian:

# Rule 1 — Jangan cache halaman admin
URL: *namadomain.com/wp-admin/*
Setting: Cache Level → Bypass

# Rule 2 — Cache agresif untuk artikel lama (> 1 minggu)
URL: *namadomain.com/blog/2023/*
Setting: Cache Level → Cache Everything
         Edge Cache TTL → 1 month

# Rule 3 — Cache ringan untuk konten baru
URL: *namadomain.com/blog/*
Setting: Cache Level → Standard
         Browser Cache TTL → 4 hours

Kasus 2: Redirect Massal dengan Wildcard

Migrasi dari struktur URL lama ke baru tanpa kehilangan ranking SEO:

# Redirect /kategori/nama ke /c/nama
# $1 = prefix sebelum domain, $2 = nama kategori (wildcard kedua)

URL Pattern : *namadomain.com/kategori/*
Forwarding  : https://namadomain.com/c/$2  [301 Permanent]

Tanda $2 akan menangkap apa pun yang cocok dengan * kedua, yaitu slug setelah /kategori/.

Kasus 3: Paksa HTTPS + Cache untuk Assets

# Aset statis: paksa HTTPS + cache panjang
URL: *namadomain.com/*.css
Setting: Always Use HTTPS → On
         Cache Level → Cache Everything
         Edge Cache TTL → 1 month

# Sama untuk JS
URL: *namadomain.com/*.js
Setting: Always Use HTTPS → On
         Cache Level → Cache Everything

Kasus 4: Bypass Cache untuk Halaman Transaksional

Mirip dengan logika pemrograman ketika kita butuh branching — seperti yang dibahas di Logika Percabangan Python: Mengontrol Alur Aplikasi CLI Expense Tracker, Page Rules pada dasarnya juga menerapkan logika percabangan: “jika URL ini, maka lakukan ini”.

URL: *namadomain.com/cart/*
Setting: Cache Level → Bypass
         Disable Apps → On

URL: *namadomain.com/checkout/*
Setting: Cache Level → Bypass
         SSL → Full (Strict)
         Always Use HTTPS → On

Troubleshooting: Error yang Sering Muncul

Page Rule Tidak Berfungsi / Tidak Aktif

Penyebab: URL pattern tidak cocok dengan format yang benar, atau rule tertutup oleh rule lain yang lebih dulu.

Solusi:

# Periksa format pattern — pastikan ada wildcard (*) di depan domain
# SALAH:
namadomain.com/blog/*

# BENAR:
*namadomain.com/blog/*

# Jika sudah benar, cek urutan rule di dashboard.
# Rule paling spesifik harus berada di urutan paling atas.

Cache Bypass Tidak Bekerja — Konten Lama Masih Muncul

Penyebab: Meski Page Rule sudah di-set Cache Level: Bypass, cache lama yang sudah tersimpan belum dibersihkan dari edge server Cloudflare.

Solusi:

# Purge cache via Cloudflare API
curl -X POST "https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/purge_cache" \
  -H "Authorization: Bearer {API_TOKEN}" \
  -H "Content-Type: application/json" \
  --data '{"purge_everything": true}'

# Atau purge URL spesifik
--data '{"files": ["https://namadomain.com/halaman-target"]}'

Error 522 (Connection Timed Out) Setelah Aktifkan Page Rule

Penyebab: Setting SSL: Full (Strict) diaktifkan, tetapi origin server tidak memiliki sertifikat SSL yang valid, sehingga Cloudflare gagal terhubung ke server.

Solusi:

1. Sementara ubah SSL ke "Full" (bukan Strict) untuk rule tersebut
2. Install sertifikat valid di origin server (bisa pakai Let's Encrypt)
3. Setelah origin SSL aktif, kembalikan ke "Full (Strict)"

# Atau gunakan Cloudflare Origin Certificate:
Dashboard → SSL/TLS → Origin Server → Create Certificate

Redirect Loop (ERR_TOO_MANY_REDIRECTS)

Penyebab: Rule “Always Use HTTPS” aktif bersamaan dengan konfigurasi SSL di server yang sudah melakukan redirect HTTP → HTTPS secara terpisah, menciptakan loop.

Solusi:

# Di Nginx, hapus redirect manual jika sudah pakai Cloudflare:
# HAPUS atau nonaktifkan baris berikut jika Cloudflare yang handle redirect
# return 301 https://$host$request_uri;

# Biarkan Cloudflare Page Rule yang menangani redirect HTTPS:
URL: *namadomain.com/*
Setting: Always Use HTTPS → On

Pertanyaan yang Sering Diajukan

Apa perbedaan Page Rules dengan Transform Rules di Cloudflare?

Page Rules adalah fitur lama yang lebih sederhana dengan limit 3 rules (gratis). Transform Rules adalah pengganti modern yang lebih fleksibel, menggunakan Cloudflare Rules Language, dan mendukung kondisi lebih kompleks. Cloudflare sendiri merekomendasikan migrasi ke Transform Rules untuk fitur baru, namun Page Rules masih didukung penuh.

Berapa batas maksimal Page Rules yang bisa dibuat?

Akun gratis mendapat 3 Page Rules. Paket Pro mendapat 20, Business mendapat 50, dan Enterprise bisa dikustomisasi. Jika kebutuhan kamu lebih dari 3, pertimbangkan upgrade ke Pro atau gunakan fitur Cache Rules dan Redirect Rules yang memiliki kuota terpisah.

Bagaimana cara menguji apakah Page Rule sudah aktif dan berfungsi?

Gunakan perintah curl dengan flag verbose untuk melihat response header dari Cloudflare:

curl -I https://namadomain.com/halaman-target

# Perhatikan header berikut:
# cf-cache-status: HIT / MISS / BYPASS
# x-robots-tag: (jika ada rule robots)
# location: (jika ada redirect)

Header cf-cache-status: BYPASS mengkonfirmasi rule Cache Bypass aktif.

Apakah Page Rules mempengaruhi kecepatan website secara keseluruhan?

Evaluasi Page Rules dilakukan di edge Cloudflare sebelum request diteruskan ke origin, sehingga prosesnya sangat cepat (sub-millisecond). Dampaknya ke performa biasanya positif — terutama rule yang mengaktifkan caching agresif — karena mengurangi request ke origin server.

Bagaimana urutan prioritas jika ada dua Page Rules yang cocok dengan URL yang sama?

Cloudflare hanya menjalankan rule pertama yang cocok (urutan dari atas ke bawah di dashboard). Rule kedua tidak akan dieksekusi kecuali rule pertama mengaktifkan setting “Continue”. Ini berbeda dengan sistem firewall rules yang bisa menjalankan semua rule yang cocok.


Kesimpulan

Cloudflare Page Rules adalah alat yang powerful untuk mengontrol perilaku CDN secara granular per halaman. Dengan memahami URL pattern matching, urutan prioritas, dan berbagai settings yang tersedia — mulai dari cache control, redirect, SSL enforcement, hingga security level — kamu bisa mengoptimalkan performa dan keamanan website secara signifikan.

Kunci sukses menggunakan Page Rules adalah: spesifik dulu, umum belakangan. Letakkan rule dengan URL paling spesifik di urutan teratas, dan gunakan kuota 3 rule gratis secara strategis untuk dampak terbesar. Jika skalamu terus berkembang, eksplorasi fitur Cache Rules dan Transform Rules yang lebih modern dari Cloudflare.

Selamat bereksperimen dengan Page Rules — dengan konfigurasi yang tepat, website kamu akan lebih cepat, lebih aman, dan lebih hemat bandwidth. Jangan ragu untuk menjelajahi artikel-artikel lainnya di KamusNgoding untuk terus mengasah skill cloud dan DevOps-mu!

Artikel Terkait