Cara Blokir Bot Menggunakan Cloudflare

Cara Blokir Bot Menggunakan Cloudflare

Bad bot menyedot CPU hosting shared sebelum visitor manusia sempat membuka halaman. Satu skrip scrape bisa mengisi access log semalam penuh.

Istilah cara blokir bot menggunakan cloudflare merujuk ke aturan WAF Custom Rules di edge Cloudflare. Aturan itu memotong request mencurigakan sebelum menyentuh origin. Tim HardaWebPro memakai pola ini di banyak compro WordPress. Baca dulu fondasi lapisan di sistem keamanan website berlapis.

Artikel ini langsung ke alasan blokir, efek bad bot, cara setting cloudflare block robots, lalu kode aturan waf cloudflare blokir bot untuk akun gratis.

Highlight

Cara Blokir Bot Menggunakan Cloudflare

  • Blokir di edge Cloudflare lebih hemat resource daripada menunggu plugin di origin WordPress.
  • Akun gratis punya kuota Custom Rules terbatas; satukan pola User-Agent dalam satu ekspresi.
  • Pakai lower(http.user_agent) agar fake UA kapital campur tetap kena.
  • Operator inti: eq, contains, or, and, not.
  • Simulasi pakai curl -A; verifikasi lewat Security Events 24 jam terakhir.
  • Jangan blokir bot terverifikasi Cloudflare: tambahkan and not cf.client.bot.

Mengapa Blokir Bot di Cloudflare Lebih Dulu dari Plugin

Alasan utama sederhana. Request yang mati di edge tidak memakan PHP-FPM, database, maupun bandwidth origin.

Karena itu pemilik compro UMKM sering melihat spike malam tanpa visitor nyata. Bot probe mencari /wp-login.php, xmlrpc.php, dan file sensitif. Lapisan plugin tetap berguna. Namun plugin baru bekerja setelah request sampai server. Bandingkan posisi itu dengan cara setting Wordfence gratisan.

Menurut kami, urutan yang masuk akal adalah edge dulu, origin kemudian. Cloudflare memotong pola User-Agent jelek. Wordfence menangani login brute dan malware scan. Keduanya saling melengkapi, bukan saling menggantikan.

Trade-off jujur: aturan UA tidak menangkap bot cerdas yang menyamar sebagai Chrome. Aturan ini hanya memotong noise massal. Untuk ancaman lebih dalam, Anda tetap butuh patch WordPress dan backup rutin di cara backup website WordPress.

dashboard cloudflare custom rules untuk cara blokir bot menggunakan cloudflare
dashboard cloudflare custom rules untuk cara blokir bot menggunakan cloudflare

Efek Bad Bot pada Website: CPU, Log, dan Crawl Asing

Efek pertama terlihat di CPU. Shared hosting naik ke 100% saat ratusan request scrape beruntun. Halaman compro lalu lambat untuk visitor manusia.

Efek kedua ada di access log. Baris User-Agent aneh memenuhi file log. Analisis jadi sulit. Tim maintenance VPS sering menghabiskan waktu membersihkan noise itu dulu. Baca konteks pekerjaan itu di jobdesc maintenance VPS.

Efek ketiga menyentuh SEO secara tidak langsung. Bad bot yang mengabaikan robots.txt tetap menyedot URL sampah. File robots hanya isyarat sopan. Blok keras butuh firewall. Hubungkan pola itu dengan panduan robots.txt WordPress untuk SEO dan performa.

Lapisan origin lewat .htaccess bisa membantu. Namun Cloudflare menangkap traffic lebih awal. Kombinasi edge plus origin kami uraikan di htaccess WordPress untuk performa dan keamanan.

Studi Kasus: Spike Bad Bot di Compro Klien Retail Kami yang Memakan CPU Shared Hosting

Klien retail di Tangerang mengeluh compro WordPress lambat tiap malam. Kami buka access log shared hosting.

Lalu baris User-Agent curl dan python-requests mendominasi. TTFB beranda naik di jam sepi. Visitor manusia jarang datang saat itu.

Karena itu kami pasang Custom Rule Free di Cloudflare. Ekspresi memakai lower(http.user_agent) contains untuk pola library scrape. Action kami set ke Block. Setelah 48 jam, spike malam mereda. Beranda terasa lebih stabil untuk pengunjung siang.

Akan tetapi bot yang menyamar sebagai Chrome tetap lolos. Aturan UA hanya memotong noise kasar. Patch WordPress dan password kuat tetap kami jaga bersama klien.

Cara Setting Cloudflare Block Robots di Akun Gratis

Baguan cara setting cloudflare block robots di sini berarti Custom Rules, bukan Bot Fight Mode saja. Bot Fight Mode berguna. Akan tetapi pola UA spesifik Anda kendalikan sendiri lewat ekspresi.

Langkah cara setting cloudflare block robots di dashboard:

  1. Buka zona domain Anda di Cloudflare.
  2. Masuk menu Security, lalu Custom rules atau Security rules.
  3. Pilih Create rule.
  4. Isi Rule name, contoh: Block bad bot UA.
  5. Buka Edit expression, tempel kode aturan waf cloudflare blokir bot.
  6. Set Action ke Block.
  7. Deploy rule.

Akun Free punya kuota rule terbatas. Maka satukan banyak pola UA dalam satu ekspresi or. Jangan pecah tiap bot jadi rule terpisah. Referensi lima pola rule lain ada di WAF custom rules Cloudflare gratis.

Pastikan DNS domain sudah proxied (awan oranye). Tanpa proxy, aturan edge tidak menyentuh request. Bila Anda baru pindah panel hosting, cek DNS dulu di panel hosting gratis untuk pemula.

diagram alur cara setting cloudflare block robots di edge sebelum origin
diagram alur cara setting cloudflare block robots di edge sebelum origin

Kode Aturan WAF Cloudflare Blokir Bot dengan lower()

Bagian ini memuat kode aturan waf cloudflare blokir bot untuk Free plan. Fokusnya User-Agent palsu dan library scrape. Cuplikan sama dipakai saat cara setting cloudflare block robots.

Cloudflare menyatakan perbandingan string bersifat case-sensitive. Fake UA seperti cUrL/8.0 bisa lolos bila Anda menulis literal curl tanpa normalisasi. Fungsi lower() mengubah nilai field ke huruf kecil sebelum dicek. Dokumentasi operator resmi ada di Cloudflare Rules language operators.

(
  lower(http.user_agent) contains "curl"
  or lower(http.user_agent) contains "wget"
  or lower(http.user_agent) contains "python-requests"
  or lower(http.user_agent) contains "scrapy"
  or lower(http.user_agent) contains "httpx"
  or lower(http.user_agent) contains "aiohttp"
  or lower(http.user_agent) contains "go-http-client"
  or lower(http.user_agent) contains "node-fetch"
  or lower(http.user_agent) contains "okhttp"
  or lower(http.user_agent) contains "libwww-perl"
  or lower(http.user_agent) contains "sqlmap"
  or lower(http.user_agent) contains "nikto"
  or lower(http.user_agent) contains "masscan"
  or http.user_agent eq ""
)
and not cf.client.bot

Action: Block. Nama rule: bebas, asalkan jelas.

Klausul and not cf.client.bot melindungi bot terverifikasi Cloudflare. Jangan mengandalkan string Googlebot di UA. String itu mudah dipalsukan.

Definisi Operator: contains, eq, or, and, not

Pahami operator sebelum menyalin kode. Salah satu karakter bisa membuat rule gagal parse.

OperatorArti singkatContoh di ekspresi Custom Rules
eqSama persis (equal)http.user_agent eq ""
neTidak samahttp.request.method ne "OPTIONS"
containsSubstring ada di dalam stringlower(http.user_agent) contains "curl"
orSalah satu kondisi benarGabung banyak pola UA jelek
andSemua kondisi benarGabung pola UA plus pengecualian bot
notNegasi kondisinot cf.client.bot

contains cocok untuk Free plan saat Anda memburu potongan UA. eq cocok untuk nilai kosong atau path tetap. or memperluas jaring. and memperketat. not membuka pengecualian.

Operator matches (regex) butuh plan lebih tinggi. Untuk Free, tetaplah di contains dan eq. Wildcard wildcard ada, namun case-insensitive bawaan. Untuk UA palsu kapital campur, lower() plus contains lebih eksplisit.

Bila Anda juga mengunci path sensitif di origin, pelajari dasar file server di apa itu htaccess.

Kesalahan Umum saat Menulis Kode Aturan WAF Cloudflare Blokir Bot

Klien UMKM di Bintaro menulis contains "Curl" tanpa lower(). Bot memakai cUrL kapital campur. Request itu lolos. Cloudflare membandingkan string secara case-sensitive.

Setelah itu klien lupa klausul and not cf.client.bot. Ia khawatir Google ikut terblokir. Kami jelaskan flag bot terverifikasi Cloudflare lebih aman daripada string Googlebot palsu.

Maka kami tulis ulang ekspresi dengan lower(http.user_agent). Lalu kami deploy ulang. Ketika Security Events menampilkan Block pada UA scrapy, klien tenang. Trade-off tetap ada: bot pintar masih bisa meniru browser nyata.

Cara Simulasi Setelah Cara Setting Cloudflare Block Robots Aktif

Deploy tanpa uji sama dengan menebak. Setelah memasang kode aturan waf cloudflare blokir bot, simulasi cepat dari laptop memakai curl.

curl -I -A "curl/8.5.0" https://domainanda.com/

Lalu coba kapital campur untuk menguji lower():

curl -I -A "PyThOn-ReQuEsTs/2.31.0" https://domainanda.com/

Respons yang diharapkan: status blok Cloudflare (sering 403) atau halaman challenge sesuai action. Setelah itu uji browser normal. Bila beranda compro ikut terblokir, longgarkan ekspresi. Hapus pola yang terlalu luas.

Uji juga UA kosong:

curl -I -A "" https://domainanda.com/

Jangan uji dari jaringan yang sama dengan monitoring uptime bila tool itu memakai library yang Anda blokir. False alarm monitoring sering muncul setelah rule baru. Sesuaikan allowlist bila tool internal Anda sah.

simulasi curl untuk kode aturan waf cloudflare blokir bot dan cek status 403
simulasi curl untuk kode aturan waf cloudflare blokir bot dan cek status 403

Security Events: Cara Membaca Efektivitas Aturan WAF

Setelah rule aktif, buka Security Events. Di dashboard baru, jalur umum: Analytics, tab Events. Di dashboard lama: Security, lalu Events.

Fitur ini menampilkan request yang Cloudflare tindak atau tandai. Bukan semua traffic mentah. Untuk Free plan, retensi sekitar 24 jam terakhir. Log bersifat sampled bila volume besar.

Yang perlu Anda lihat:

  • Action = Block pada rule nama yang baru Anda buat.
  • User Agent berisi curl, python-requests, atau pola target.
  • Path yang sering dipukul bot, seperti /wp-login.php.
  • Negara atau ASN mencurigakan yang berulang.

Bila event Block naik dan visitor manusia tetap lancar, cara blokir bot menggunakan cloudflare Anda bekerja. Bila event kosong setelah simulasi curl, cek proxy DNS atau ekspresi. Bila visitor sah ikut Block, sesuaikan ekspresi. Acuan fitur: dokumentasi Cloudflare Security Events.

Hosting domain gratis sering memperparah noise bot. Pertimbangkan risiko itu lewat bahaya compro di hosting domain gratis.

Catatan Lapangan: Membaca Security Events setelah Cara Setting Cloudflare Block Robots

Tim kecil kami di Depok baru selesai cara setting cloudflare block robots bersama developer freelance. Awalnya kami bingung melihat Sampled logs. Angka event terasa tidak lengkap.

Lalu kami filter Action Block dan kolom User Agent. Malam itu muncul pola scrapy berulang. CPU shared hosting turun keesokan harinya. Visitor siang tidak mengeluh lambat.

Namun kami masih belajar membedakan false positive. Bila tool monitoring ikut kena, kami longgarkan ekspresi. HardaWebPro mengingatkan: Security Events Free hanya menyimpan data singkat, sekitar 24 jam.

Kapan Meminta Bantuan Freelancer untuk Aturan WAF

Tiga frasa ini โ€” cara blokir bot menggunakan cloudflare, cara setting cloudflare block robots, dan kode aturan waf cloudflare blokir bot โ€” saling sinonim kuat. Sebarkan ketiganya natural di judul, langkah dashboard, dan cuplikan ekspresi.

Bila ekspresi Anda memblokir payment gateway atau uptime monitor, longgarkan dulu. Jangan panik upgrade plan. Sebagian besar noise bot mati dengan Free Custom Rules yang rapi.

HardaWebPro membantu pemilik compro merapikan lapisan edge plus origin sejak 2009. Kami freelance, bukan agency. Untuk diskusi setup Cloudflare dan maintenance, hubungi kami di 0813-9891-2341 | 0821-2345-076.

HardaWebPro

HardaWebPro

Penulis Budi Haryono (Mas Mon) merupakan praktisi search engine optimization sejak 2009. Konsisten menulis artikel, membuat website dan melakukan aktivitas di internet lainnya.

Referensi situs penulis: https://budiharyono.com/