SEO (Search Engine Optimization)

Cara Blokir Bot AI Tanpa Mengganggu Googlebot

google-bot

Perkembangan kecerdasan buatan membawa tantangan baru bagi pemilik website. Selain Googlebot dan crawler mesin pencari, kini terdapat berbagai bot yang mengumpulkan konten untuk melatih model AI, membangun indeks pencarian berbasis AI, atau mengambil halaman ketika diminta pengguna.

Aktivitas tersebut dapat meningkatkan konsumsi bandwidth dan sumber daya server. Dalam kasus tertentu, pemilik website juga mungkin tidak mengizinkan artikelnya digunakan untuk pengembangan model AI. Namun, memblokir bot secara sembarangan dapat menghambat Googlebot dan akhirnya merugikan visibilitas website di Google Search.

Solusi yang lebih aman adalah menggunakan pendekatan granular: identifikasi fungsi setiap bot, blokir hanya crawler yang tidak diinginkan, dan tetap berikan akses kepada Googlebot. Jika dibutuhkan perlindungan yang benar-benar dapat menolak koneksi, aturan robots.txt perlu dilengkapi dengan firewall atau konfigurasi pada web server.

Memahami Perbedaan Googlebot dan Bot AI

Googlebot adalah crawler utama Google Search. Bot ini menemukan halaman, membaca konten, mengikuti tautan, dan menyediakan data yang dibutuhkan Google untuk proses pengindeksan.

Sementara itu, istilah “bot AI” mencakup beberapa jenis crawler yang memiliki tujuan berbeda:

  • Crawler pelatihan mengumpulkan konten yang mungkin digunakan untuk melatih atau meningkatkan model AI.
  • Crawler pencarian AI membuat indeks agar suatu website dapat muncul dalam jawaban mesin pencari berbasis AI.
  • Fetcher berbasis permintaan mengakses halaman ketika pengguna secara langsung meminta layanan AI membuka URL tertentu.

Perbedaan fungsi tersebut penting. Sebagai contoh, OpenAI mengoperasikan GPTBot untuk konten yang mungkin digunakan dalam pelatihan model, sedangkan OAI-SearchBot digunakan agar website dapat ditampilkan dalam hasil pencarian ChatGPT. Keduanya dapat diatur secara terpisah melalui robots.txt. OpenAI juga mempunyai ChatGPT-User, tetapi bot ini bekerja berdasarkan tindakan pengguna dan aturan robots.txt mungkin tidak selalu berlaku terhadapnya. Penjelasan ini tercantum dalam dokumentasi crawler OpenAI.

Dengan demikian, memblokir seluruh bot yang berkaitan dengan AI dapat menghilangkan peluang website muncul di layanan pencarian AI, meskipun tidak memengaruhi Google Search secara langsung.

Mengapa Pemblokiran Menyeluruh Berbahaya bagi SEO?

Konfigurasi berikut sering digunakan untuk menutup sebuah website dari semua crawler:

User-agent: *
Disallow: /

Tanda bintang berarti aturan tersebut ditujukan kepada semua crawler yang tidak mempunyai grup aturan lebih spesifik. Jika Googlebot tidak memperoleh aturan khusus yang mengizinkannya, konfigurasi ini akan melarang Googlebot merayapi seluruh website.

Akibatnya, Google kesulitan membaca halaman baru maupun pembaruan konten. Dalam jangka panjang, informasi yang tersedia di hasil pencarian dapat menjadi tidak mutakhir. URL tertentu bahkan masih mungkin muncul apabila ditemukan melalui tautan lain, tetapi Google tidak dapat membaca isi halaman yang pemilik website larang untuk dirayapi.

Perlu dipahami pula bahwa robots.txt bukan mekanisme keamanan. File ini tersedia secara publik dan hanya menyampaikan aturan perayapan kepada bot. Jangan menggunakannya untuk menyembunyikan halaman rahasia, data pelanggan, panel administrasi, atau dokumen internal.

Memblokir Bot AI secara Granular melalui robots.txt

File robots.txt harus diletakkan pada root setiap hostname atau subdomain yang ingin diatur, misalnya:

https://www.domainanda.com/robots.txt

Jika website juga beroperasi melalui subdomain lain, seperti blog.domainanda.com, subdomain tersebut memerlukan file robots.txt tersendiri.

Contoh Konfigurasi Dasar

Berikut konfigurasi yang mempertahankan akses Googlebot sekaligus menolak beberapa crawler yang umum dikaitkan dengan pengumpulan data AI:

# Pertahankan akses crawler Google Search
User-agent: Googlebot
Allow: /

# Tolak crawler pelatihan OpenAI
User-agent: GPTBot
Disallow: /

# Tolak crawler Anthropic
User-agent: ClaudeBot
Disallow: /

# Tolak dataset terbuka Common Crawl
User-agent: CCBot
Disallow: /

# Tolak pemanfaatan konten untuk model Gemini tertentu
User-agent: Google-Extended
Disallow: /

# Tolak pemanfaatan konten untuk pelatihan model Apple
User-agent: Applebot-Extended
Disallow: /

Sitemap: https://www.domainanda.com/sitemap.xml

Aturan Allow: / untuk Googlebot dibuat eksplisit agar tujuan konfigurasi mudah dipahami oleh administrator berikutnya. Hal yang paling menentukan tetaplah tidak memasukkan Googlebot ke dalam kelompok crawler yang diblokir.

Daftar bot perlu disesuaikan dengan kebutuhan. Jangan sekadar menyalin daftar panjang dari internet karena nama, fungsi, dan kebijakan crawler dapat berubah.

Memisahkan Pelatihan AI dari Pencarian AI

Jika tujuan utamanya hanya mencegah penggunaan konten untuk pelatihan OpenAI, blokir GPTBot, tetapi pertimbangkan untuk tetap mengizinkan OAI-SearchBot:

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

Konfigurasi ini menyampaikan dua preferensi berbeda: konten tidak diizinkan untuk crawler pelatihan OpenAI, tetapi masih boleh dirayapi agar berpotensi muncul dalam pencarian ChatGPT. Menurut OpenAI, perubahan aturan tersebut dapat membutuhkan waktu sekitar 24 jam untuk diterapkan oleh sistemnya.

ChatGPT-User tidak sama dengan kedua bot tersebut. Bot ini dapat mengambil halaman sebagai respons terhadap permintaan pengguna, bukan melakukan perayapan web otomatis. Karena itu, OpenAI menyatakan bahwa aturan robots.txt mungkin tidak berlaku terhadap akses yang dipicu pengguna.

Prinsip serupa berlaku pada Perplexity. PerplexityBot digunakan untuk membangun hasil pencarian dan, menurut dokumentasi resmi Perplexity, tidak digunakan untuk melatih foundation model. Memblokirnya berarti mengurangi kemungkinan halaman tampil sebagai sumber dalam hasil pencarian Perplexity. Sementara itu, Perplexity-User melayani tindakan pengguna dan pada dokumentasi tersebut disebut secara umum dapat mengabaikan robots.txt.

Oleh sebab itu, PerplexityBot tidak seharusnya otomatis dimasukkan ke kelompok “crawler pelatihan”. Pemilik website harus menentukan apakah prioritasnya adalah membatasi seluruh akses AI atau hanya menolak pelatihan model.

Memblokir Google-Extended Tanpa Merusak Google Search

Salah satu kesalahpahaman paling umum adalah menganggap Google-Extended sebagai nama lain dari Googlebot. Keduanya memiliki fungsi berbeda.

Menurut dokumentasi crawler Google, Google-Extended merupakan token kontrol pada robots.txt. Token ini mengatur apakah konten yang dirayapi Google dapat digunakan untuk:

  • melatih generasi mendatang dari model Gemini yang mendukung Gemini Apps dan Vertex AI API untuk Gemini; serta
  • melakukan grounding, yaitu menyediakan konten dari indeks Google Search kepada model pada saat pengguna memberikan prompt.

Google-Extended bukan user-agent HTTP tersendiri yang akan selalu terlihat dalam access log. Perayapan fisiknya dapat dilakukan menggunakan user-agent Google yang sudah ada, sedangkan token tersebut digunakan Google untuk membaca preferensi pemanfaatan data.

Konfigurasi berikut aman digunakan untuk menolak penggunaan tersebut:

User-agent: Google-Extended
Disallow: /

Google secara eksplisit menyatakan bahwa aturan Google-Extended tidak memengaruhi penyertaan website di Google Search dan tidak digunakan sebagai sinyal pemeringkatan. Artinya, halaman masih dapat dirayapi serta diindeks oleh Googlebot selama akses Googlebot tidak ikut diblokir.

Mengatur Applebot-Extended Tanpa Menutup Apple Search

Apple juga membedakan crawler pencarian dari kontrol penggunaan data AI. Applebot mendukung fitur pencarian di ekosistem Apple, sedangkan Applebot-Extended memungkinkan pemilik website menolak penggunaan konten untuk melatih foundation model Apple.

Untuk menolak pelatihan AI tetapi tetap mempertahankan visibilitas pencarian Apple, gunakan:

User-agent: Applebot
Allow: /

User-agent: Applebot-Extended
Disallow: /

Apple menjelaskan bahwa Applebot-Extended tidak merayapi halaman secara langsung. Token tersebut mengontrol bagaimana data yang sudah dirayapi Applebot boleh digunakan. Pemblokirannya tidak menghapus halaman dari hasil pencarian Apple dan tidak menjadi faktor pemeringkatan Apple Search. Rincian ini tersedia dalam dokumentasi resmi Applebot.

Mengapa robots.txt Saja Belum Cukup?

robots.txt adalah standar berbasis kepatuhan. Bot yang bertanggung jawab akan membacanya dan mengikuti aturan, tetapi file tersebut tidak mempunyai kemampuan teknis untuk menghentikan permintaan HTTP.

Jika sebuah crawler mengabaikan aturan atau memalsukan identitasnya, server masih dapat mengirimkan halaman. Cloudflare juga menegaskan bahwa kepatuhan terhadap robots.txt bersifat sukarela. Untuk melakukan pemblokiran yang benar-benar dapat ditegakkan, pemilik website membutuhkan kontrol di tingkat CDN, WAF, reverse proxy, atau web server. Lihat penjelasannya pada dokumentasi managed robots.txt Cloudflare.

Pendekatan berlapis yang masuk akal adalah:

  1. Gunakan robots.txt untuk menyatakan kebijakan kepada crawler yang patuh.
  2. Pantau access log untuk mengetahui user-agent, URL, frekuensi, status respons, dan konsumsi bandwidth.
  3. Terapkan pemblokiran pada firewall atau server ketika crawler tetap mengakses halaman.
  4. Berikan pengecualian kepada bot mesin pencari yang sudah diverifikasi.
  5. Evaluasi log setelah aturan aktif untuk mendeteksi false positive.

Pemblokiran di Cloudflare

Cloudflare menyediakan kebijakan khusus untuk mengendalikan bot AI. Dokumentasi terbarunya membedakan bot berdasarkan perilaku:

  • Search, untuk mengindeks konten agar dapat digunakan dalam jawaban pencarian.
  • Agent, untuk aktivitas real-time yang bertindak atas permintaan pengguna.
  • Training, untuk pengumpulan konten yang digunakan dalam pelatihan atau fine-tuning.

Pemisahan ini lebih baik daripada memblokir seluruh lalu lintas AI secara membabi buta. Pengaturan dapat ditemukan melalui bagian kebijakan bot AI pada Security Settings, meskipun tampilan menu dapat berubah mengikuti pembaruan dasbor.

Fitur bawaan Cloudflare dapat memblokir bot AI yang terverifikasi beserta sejumlah crawler tidak terverifikasi yang menunjukkan perilaku serupa. Detail klasifikasi dan pilihan mitigasinya dijelaskan dalam dokumentasi Block AI Bots Cloudflare.

Melindungi Googlebot dengan Verified Bots

Jangan hanya membuat aturan berdasarkan teks User-Agent: Googlebot. Header tersebut dapat dipalsukan oleh siapa saja.

Jika membuat custom rule, tempatkan pengecualian untuk verified bots sebelum aturan pemblokiran. Cloudflare memberikan contoh penggunaan status bot terverifikasi agar crawler resmi seperti Googlebot dapat melewati aturan yang ditujukan kepada trafik otomatis berbahaya. Panduannya tersedia dalam dokumentasi WAF Cloudflare.

Namun, pengecualian yang terlalu luas juga harus dihindari. Kategori verified bots dapat mencakup crawler selain mesin pencari. Periksa klasifikasi bot, Security Events, API yang sah, sistem monitoring, dan integrasi internal sebelum mengaktifkan aturan secara menyeluruh.

Pemblokiran pada Apache atau LiteSpeed

Pada server Apache yang mengizinkan penggunaan .htaccess, bot tertentu dapat ditolak sebelum permintaan diteruskan ke aplikasi seperti WordPress:

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} (GPTBot|ClaudeBot|CCBot) [NC]
RewriteRule ^ - [F,L]

Aturan tersebut mengembalikan status 403 Forbidden ketika nilai user-agent cocok dengan daftar yang ditentukan.

Kelemahannya, pencocokan ini hanya memeriksa teks pada header HTTP. Crawler dapat mengganti atau memalsukan user-agent. Karena itu, aturan tersebut cocok sebagai lapisan awal, bukan bukti identitas yang kuat.

Pastikan juga server benar-benar menggunakan Apache atau LiteSpeed dan modul rewrite telah aktif. Kesalahan penulisan .htaccess dapat menyebabkan website menghasilkan error untuk seluruh pengunjung.

Pemblokiran pada NGINX

Untuk NGINX, pemblokiran sederhana dapat dilakukan melalui pemetaan user-agent. Pendekatan map umumnya lebih rapi daripada menempatkan banyak logika if di setiap blok lokasi:

map $http_user_agent $block_ai_crawler {
    default       0;
    ~*GPTBot      1;
    ~*ClaudeBot   1;
    ~*CCBot       1;
}

server {
    if ($block_ai_crawler) {
        return 403;
    }

    # Konfigurasi website lainnya
}

Setelah konfigurasi diubah, lakukan pemeriksaan sintaks sebelum memuat ulang NGINX. Sama seperti aturan Apache, metode ini tetap bergantung pada user-agent dan tidak dapat membuktikan identitas crawler.

Memverifikasi Googlebot Asli

Googlebot palsu merupakan alasan utama mengapa aturan firewall tidak boleh mengandalkan nama user-agent saja. Google menyediakan dua pendekatan untuk memverifikasi crawler:

Verifikasi Menggunakan Daftar IP Resmi

Cocokkan alamat IP sumber dengan daftar rentang IP yang dipublikasikan Google. Cara ini dapat diotomatisasi, tetapi daftar tersebut harus diperbarui secara berkala.

Verifikasi Menggunakan DNS

Lakukan forward-confirmed reverse DNS:

  1. Jalankan reverse DNS lookup terhadap IP yang mengaku sebagai Googlebot.
  2. Pastikan hostname berakhir dengan domain resmi seperti googlebot.com atau google.com, sesuai jenis crawler.
  3. Jalankan forward DNS lookup terhadap hostname tersebut.
  4. Pastikan hasilnya kembali ke alamat IP awal.

Pemeriksaan dua arah dibutuhkan karena sebuah nama reverse DNS saja belum cukup untuk membuktikan identitas. Cloudflare juga memakai verifikasi identitas seperti rentang IP, reverse DNS, atau autentikasi bot untuk menentukan status verified bot.

Jangan Mengandalkan noai dan noimageai

Materi yang beredar di internet sering menyarankan meta tag berikut:

<meta name="robots" content="noai, noimageai">

Masalahnya, noai dan noimageai bukan direktif universal dalam Robots Exclusion Protocol. Dukungan setiap layanan tidak sama, dan crawler yang tidak mengenalnya dapat mengabaikannya. Google Search juga tidak mendokumentasikan kedua nilai tersebut sebagai aturan robots meta yang didukung.

X-Robots-Tag memang berguna untuk memberikan direktif pengindeksan pada file non-HTML seperti PDF atau gambar, tetapi nilai yang dipakai tetap harus didukung oleh crawler tujuan. Oleh karena itu, jangan menjadikan noai atau noimageai sebagai lapisan perlindungan utama.

Jika konten benar-benar rahasia atau berbayar, gunakan kontrol akses yang nyata, misalnya autentikasi, otorisasi, signed URL, atau pembatasan pada server. Meta tag tidak mencegah pihak lain mengunduh halaman.

Rate Limiting sebagai Alternatif Pemblokiran Total

Rate limiting berguna ketika masalah utamanya adalah terlalu banyak permintaan, tetapi pemilik website tidak ingin kehilangan seluruh visibilitas pada layanan AI.

Aturan dapat diterapkan berdasarkan kombinasi beberapa sinyal:

  • alamat IP atau Autonomous System Number;
  • user-agent;
  • jumlah permintaan dalam interval tertentu;
  • jalur URL;
  • pola perilaku;
  • identitas bot yang telah diverifikasi.

Hindari membatasi hanya berdasarkan user-agent karena nilainya mudah dipalsukan. Jangan pula menerapkan batas yang sama kepada seluruh crawler; Googlebot mempunyai mekanisme pengaturan laju perayapan sendiri dan pemblokiran berlebihan dapat mengganggu proses crawling.

Direktif Crawl-delay juga bukan standar universal. Googlebot tidak mendukung direktif tersebut, sedangkan Anthropic menyatakan bahwa botnya mendukungnya dalam kondisi tertentu. Karena dukungannya tidak konsisten, pembatasan di CDN atau web server lebih dapat diandalkan untuk mengendalikan konsumsi sumber daya.

Klaim bahwa sebuah bot tertentu pasti membuat CPU mencapai angka seperti 80% juga tidak dapat digeneralisasi. Beban aktual dipengaruhi jumlah permintaan, cache, kompleksitas halaman, spesifikasi server, konfigurasi aplikasi, serta trafik pengguna. Gunakan data log dan metrik server sendiri sebagai dasar keputusan.

Cara Menguji Konfigurasi

Setelah aturan diterapkan, jangan langsung menganggap konfigurasi berhasil. Lakukan pemeriksaan berikut:

Periksa File robots.txt

Buka https://domainanda.com/robots.txt dan pastikan file dapat diakses tanpa login serta menghasilkan status HTTP 200.

Uji dengan Google Search Console

Gunakan URL Inspection untuk memeriksa apakah Google masih dapat mengakses halaman penting. Pantau laporan pengindeksan dan statistik crawl setelah perubahan.

Periksa Status Respons Server

Simulasikan user-agent yang diblokir hanya untuk memastikan logika dasar server. Ingat bahwa pengujian ini tidak membuktikan apakah bot asli akan mematuhi robots.txt.

Pantau Log dan Metrik

Periksa apakah request dari crawler sasaran berkurang serta pastikan Googlebot, API resmi, sistem monitoring, feed reader, dan integrasi bisnis tidak ikut tertolak.

Terapkan Secara Bertahap

Jika menggunakan WAF, mulai dengan mode pencatatan atau monitoring apabila tersedia. Setelah lalu lintas yang cocok sudah dipastikan benar, ubah tindakannya menjadi challenge atau block.

Strategi yang Paling Aman

Tidak ada satu konfigurasi yang ideal untuk seluruh website. Blog pribadi dapat memilih memblokir semua crawler pelatihan, sedangkan media atau toko daring mungkin tetap mengizinkan crawler pencarian AI untuk mendapatkan trafik rujukan.

Perbandingan berikut dapat digunakan sebagai dasar pemilihan:

MetodeFungsi utamaBenar-benar menghentikan akses?Risiko terhadap GooglebotKelemahan utama
robots.txt granularMenyampaikan preferensi kepada bot tertentuTidakRendah jika user-agent ditulis dengan benarBergantung pada kepatuhan crawler
Google-ExtendedMenolak penggunaan tertentu untuk Gemini tanpa menutup Google SearchTidak secara teknisSangat rendahHanya berlaku pada ekosistem Google
Applebot-ExtendedMenolak pelatihan model Apple tanpa menutup Apple SearchTidak secara teknisTidak memengaruhi GooglebotHanya berlaku pada ekosistem Apple
Cloudflare AI bot policyMendeteksi dan memblokir trafik di edgeYaRendah jika pengecualian bot terverifikasi benarSalah konfigurasi dapat menimbulkan false positive
Apache/LiteSpeed .htaccessMenolak user-agent di origin serverYaSedangUser-agent mudah dipalsukan
NGINXMenolak permintaan sebelum masuk ke aplikasiYaSedangMembutuhkan akses dan pengujian konfigurasi server
Rate limitingMembatasi intensitas permintaanSebagianRendah sampai sedangPerlu penyesuaian berdasarkan trafik nyata
Meta tag noai/noimageaiMenyatakan preferensi penggunaan AITidak dapat diandalkanRendahTidak didukung secara universal

Strategi paling seimbang adalah memblokir crawler pelatihan secara spesifik melalui robots.txt, mempertahankan akses Googlebot, lalu menambahkan perlindungan di tingkat WAF atau server apabila log menunjukkan bahwa aturan tersebut diabaikan. Google-Extended dapat diblokir tanpa menurunkan visibilitas konvensional di Google Search, sedangkan crawler pencarian AI seperti OAI-SearchBot dan PerplexityBot sebaiknya diputuskan berdasarkan strategi distribusi konten—bukan otomatis dianggap sebagai bot pelatihan.

Dengan pendekatan berlapis, terukur, dan berbasis identitas bot, pemilik website dapat menjaga kendali atas kontennya tanpa mengorbankan SEO maupun memblokir trafik otomatis yang sebenarnya dibutuhkan.

Facebook
Twitter
LinkedIn