Panduan Proteksi Bot dan Scraper AI untuk Website
Cara memilah bot baik dan bot jahat, mengatur crawler AI lewat robots.txt, rate limit, CAPTCHA, Anubis, dan aturan WAF, serta mengukur beban bot dari log.
Jawaban singkat
Proteksi bot yang baik memilah, bukan memblokir semua. Gunakan robots.txt untuk bot yang patuh, pembatasan laju untuk lonjakan, tantangan seperti CAPTCHA atau proof-of-work Anubis untuk lalu lintas mencurigakan, dan aturan WAF untuk pola yang jelas. Ukur dulu beban bot dari log sebelum memilih.
Daftar isi
- Bot baik, bot abu-abu, dan bot jahat
- Bagaimana cara mengukur beban bot dari log?
- robots.txt: sopan santun, bukan gembok
- Mengatur crawler AI lewat robots.txt
- Pembatasan laju: rem untuk semua jenis bot
- Tantangan bot: CAPTCHA dan proof-of-work
- CAPTCHA dan tantangan tak terlihat
- Anubis dari Techaro
- WAF dan layanan di tepi jaringan
- Kombinasi mana yang tepat untuk websitemu?
- Pertanyaan yang sering diajukan
Tidak semua bot perlu diusir. Googlebot membuat websitemu bisa ditemukan, monitor uptime memberi tahu saat server mati, dan pembaca RSS mengantar artikelmu ke pelanggan. Yang perlu dikendalikan adalah bot yang menghabiskan sumber daya, mencuri konten, atau mencoba masuk ke akun. Kuncinya memilah, lalu memberi perlakuan berbeda.
Mungkin kamu melihat lalu lintas naik tanpa kenaikan pengunjung nyata, atau ingin mengatur bagaimana crawler AI memakai kontenmu. Pembahasan di bawah dimulai dari cara mengenali bot, lalu alat yang tersedia dari yang paling ringan sampai yang paling tegas. Fakta tentang layanan dan software tertentu ditulis per 4 November 2026.
Bot baik, bot abu-abu, dan bot jahat
Pembagian sederhana ini membantu memutuskan perlakuan untuk setiap jenis lalu lintas otomatis.
| Kelompok | Contoh | Perlakuan yang masuk akal |
|---|---|---|
| Bot baik | Crawler mesin pencari, monitor uptime, pembaca RSS, layanan pratinjau tautan | Izinkan, verifikasi bila perlu |
| Bot abu-abu | Crawler AI untuk pelatihan model, scraper riset, alat SEO pihak ketiga | Atur sesuai kebijakan bisnismu |
| Bot jahat | Pemindai celah, bot tebak password, scraper harga agresif, bot spam form | Batasi, tantang, atau blokir |
Kelompok tengah inilah yang paling banyak diperdebatkan. Sebagian pemilik konten senang bila kontennya dikutip asisten AI, sebagian lain keberatan kontennya dipakai melatih model tanpa imbalan. Tidak ada jawaban tunggal; yang penting kamu memutuskan dengan sadar.
Bagaimana cara mengukur beban bot dari log?
Sebelum memasang apa pun, lihat dulu datanya. Log akses web server mencatat IP, path, status, dan user agent setiap permintaan. Dari sana kamu bisa menjawab tiga pertanyaan: berapa porsi lalu lintas yang otomatis, siapa yang paling banyak, dan halaman apa yang mereka ambil.
Contoh perintah untuk log Nginx format combined, yang menghitung user agent terbanyak:
awk -F'"' '{print $6}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
Perhatikan user agent yang mengandung kata seperti bot, crawler, spider, atau nama perusahaan AI. Lalu hitung permintaan per IP dan per path. Scraper agresif biasanya menyapu halaman yang mahal dibuat server, seperti hasil pencarian internal, filter produk, atau riwayat versi di aplikasi wiki dan Git. Panduan membaca log secara lebih lengkap ada di membaca log server untuk deteksi serangan.
robots.txt: sopan santun, bukan gembok
robots.txt adalah file di root website yang memberi tahu crawler bagian mana yang boleh dan tidak boleh dirayapi. Formatnya distandarkan dalam RFC 9309 (September 2022). RFC itu sendiri menegaskan bahwa aturan robots.txt bukan bentuk otorisasi akses dan tidak menggantikan langkah keamanan yang sebenarnya. Bot yang patuh akan mengikutinya; bot jahat akan mengabaikannya, bahkan bisa memakai daftar path yang kamu tulis sebagai petunjuk.
Mengatur crawler AI lewat robots.txt
Beberapa penyedia AI mendokumentasikan nama crawler-nya secara resmi, sehingga kamu bisa mengaturnya satu per satu:
- OpenAI membedakan
GPTBot(merayapi konten yang mungkin dipakai melatih model),OAI-SearchBot(menampilkan website di fitur pencarian ChatGPT), danChatGPT-User(aksi yang dipicu pengguna). Menurut dokumentasinya, robots.txt mungkin tidak berlaku untuk ChatGPT-User karena aksinya dipicu pengguna. - Google menyediakan token
Google-Extendeduntuk mengatur apakah konten yang dirayapi boleh dipakai melatih model Gemini dan untuk grounding. Google menyatakan token ini tidak memengaruhi penampilan website di Google Search maupun peringkatnya.
Contoh yang menolak pelatihan tapi tetap mengizinkan pencarian:
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: *
Allow: /
Sesuaikan dengan kebijakanmu, dan cek dokumentasi resmi setiap penyedia secara berkala karena nama crawler bisa bertambah.
Pembatasan laju: rem untuk semua jenis bot
Rate limiting membatasi berapa banyak permintaan yang boleh dikirim satu sumber dalam rentang waktu tertentu. Ini lapisan yang murah dan efektif untuk lonjakan: bot tebak password, scraper yang menyapu ribuan halaman, atau klien yang salah konfigurasi.
Di Nginx, modul limit_req bisa dipasang per lokasi. Terapkan lebih ketat di path yang sensitif atau berat, misalnya halaman login, pencarian, dan API, dan lebih longgar di aset statis. Mulailah dari batas yang cukup longgar, pantau log untuk melihat siapa yang terkena, lalu ketatkan perlahan. Perlu diingat, bot yang memakai banyak IP bisa lolos dari batas per IP, jadi rate limiting tetap perlu dipadukan dengan lapisan lain.
Tantangan bot: CAPTCHA dan proof-of-work
Tantangan meminta klien membuktikan bahwa ia browser sungguhan atau bersedia mengeluarkan "biaya" sebelum dilayani.
CAPTCHA dan tantangan tak terlihat
CAPTCHA klasik meminta pengguna mengetik huruf atau memilih gambar. Banyak layanan modern menjalankan pemeriksaan di latar belakang dan hanya menampilkan tantangan bila ragu. Pakai di titik yang memang rawan, seperti form login, pendaftaran, dan kontak, dan sebaiknya hanya untuk lalu lintas yang mencurigakan agar pelanggan asli tidak terganggu. Perhatikan juga aksesibilitas bagi pengguna dengan keterbatasan penglihatan.
Anubis dari Techaro
Anubis adalah software open source berlisensi MIT yang dibuat untuk melindungi website dari scraper, terutama crawler AI. Cara kerjanya, menurut dokumentasi resmi: Anubis duduk di antara reverse proxy (misalnya Nginx atau Caddy) dan aplikasi, lalu memberi tantangan proof-of-work kepada klien yang terlihat seperti browser. Browser harus menghitung hash SHA-256 sampai memenuhi tingkat kesulitan tertentu. Bagi satu pengunjung, ini hanya jeda singkat; bagi scraper yang mengambil jutaan halaman, biaya komputasinya menumpuk. Setelah lolos, klien mendapat cookie bertanda tangan sehingga tidak ditantang di setiap halaman.
Aturan dikendalikan lewat file kebijakan YAML atau JSON dengan aksi ALLOW, DENY, CHALLENGE, dan WEIGH, berdasarkan path, user agent, atau header. Bawaannya, path seperti /robots.txt, /favicon.ico, dan /.well-known dibiarkan lewat, dan permintaan yang tidak cocok dengan aturan apa pun diizinkan. Ada juga tantangan alternatif metarefresh yang tidak memerlukan JavaScript, meski dokumentasi menyebutnya belum aktif bawaan karena tingkat positif palsunya masih diuji. Per 4 November 2026, rilis terbaru di GitHub adalah v1.28.2 (23 Oktober 2026).
Proyek ini jujur soal batasannya: Anubis menyebut dirinya respons yang cukup keras, bisa ikut menghalangi bot yang berniat baik seperti crawler arsip internet kecuali diizinkan lewat kebijakan, dan pengunjung umumnya perlu JavaScript aktif. Cocok untuk wiki, forge kode, dokumentasi, atau situs yang sering disapu scraper, tapi pertimbangkan dampaknya bila websitemu bergantung pada mesin pencari dan aksesibilitas luas.
WAF dan layanan di tepi jaringan
Web Application Firewall dan layanan CDN bisa memeriksa lalu lintas sebelum sampai ke servermu. Keuntungannya, beban bot ditahan di tepi, bukan di server. Aturan bisa dibuat berdasarkan user agent, negara, path, laju permintaan, atau skor reputasi bot dari penyedia.
Sebagai contoh dari satu penyedia, Cloudflare menyediakan AI Crawl Control (sebelumnya AI Audit) yang menurut dokumentasinya tersedia di semua paket. Fitur ini menampilkan crawler AI yang mengakses websitemu, kepatuhan mereka terhadap robots.txt, dan memungkinkan kebijakan izinkan atau blokir per crawler. Penyedia CDN dan WAF lain punya fitur serupa dengan nama berbeda; bandingkan berdasarkan dokumentasi resminya.
Kalau beban bot sudah berupa banjir permintaan yang mengganggu layanan, itu masuk wilayah DDoS. Mitigasinya dibahas di anti DDoS untuk VPS, dan konsep WAF di apa itu WAF.
Kombinasi mana yang tepat untuk websitemu?
Tidak ada satu alat yang cocok untuk semua. Tabel ini membandingkan pilihan utama.
| Alat | Paling cocok untuk | Kelemahan | Dampak ke pengunjung |
|---|---|---|---|
| robots.txt | Bot patuh, termasuk crawler AI resmi | Diabaikan bot jahat | Tidak ada |
| Rate limiting | Lonjakan dari satu sumber | Bisa dielakkan dengan banyak IP | Hampir tidak ada bila disetel benar |
| CAPTCHA | Form login, daftar, kontak | Mengganggu bila terlalu sering; aksesibilitas | Sedang |
| Anubis (proof-of-work) | Situs yang disapu scraper berat | Bisa menghalangi bot baik; butuh JavaScript | Jeda singkat sekali per sesi |
| WAF atau CDN | Pola jelas, skala besar, beban di tepi | Bergantung penyedia; aturan perlu dirawat | Rendah |
Urutan yang masuk akal untuk kebanyakan website bisnis:
- Ukur dulu dari log: porsi bot, user agent teratas, path yang paling disapu.
- Tulis robots.txt sesuai kebijakanmu terhadap crawler mesin pencari dan AI.
- Pasang rate limiting di login, pencarian, dan API.
- Tambahkan tantangan bot hanya di titik yang rawan atau untuk lalu lintas mencurigakan.
- Pertimbangkan WAF atau CDN bila beban bot besar, atau Anubis bila scraper terus menembus lapisan lain.
- Pantau lagi setelah dua sampai empat minggu, lalu sesuaikan aturan.
Proteksi bot hanyalah satu bagian dari pengamanan website. Gambaran lengkapnya ada di panduan lengkap keamanan website untuk bisnis, dan untuk bot yang mencoba login dengan password bocor, lihat credential stuffing.
Pertanyaan yang sering diajukan
Apakah memblokir crawler AI akan menurunkan peringkat Google?
Menurut dokumentasi Google, token Google-Extended tidak memengaruhi penampilan website di Google Search maupun peringkatnya. Yang perlu dihindari adalah memblokir Googlebot itu sendiri, karena itu berpengaruh langsung ke pengindeksan.
Apakah robots.txt cukup untuk melindungi konten?
Tidak. RFC 9309 menyebut robots.txt bukan bentuk otorisasi akses. Bot yang patuh akan mengikutinya, tapi bot jahat bisa mengabaikannya. Konten yang benar-benar rahasia harus dilindungi dengan login atau pembatasan akses.
Apakah Anubis cocok untuk toko online?
Bisa, tapi pertimbangkan baik-baik. Anubis bisa ikut menghalangi bot yang berguna dan butuh JavaScript di sisi pengunjung. Untuk toko online yang bergantung pada mesin pencari dan layanan pihak ketiga, rate limiting, WAF, dan tantangan selektif sering lebih mudah dikelola.
Bagaimana tahu bot mana yang aman diizinkan?
Cek dokumentasi resmi penyedianya untuk nama user agent dan cara verifikasinya, misalnya reverse DNS atau daftar IP resmi. Jangan percaya user agent saja karena mudah dipalsukan.
Apakah proteksi bot bisa membuat website lebih cepat?
Sering kali ya, karena server tidak lagi melayani ribuan permintaan otomatis yang tidak perlu. Dampaknya paling terasa di halaman yang berat seperti pencarian internal dan filter produk.
Perlukah memblokir seluruh negara tertentu?
Jarang perlu dan berisiko menghalangi pelanggan sah atau layanan yang servernya ada di negara tersebut. Lebih aman memblokir berdasarkan perilaku, seperti laju permintaan dan pola path, daripada lokasi.


