Cara Blokir AI Crawler di WordPress (Jujur Aja)
Untuk menghentikan GPTBot merayapi situs WordPress, tambahkan baris berikut ke robots.txt Anda:
Dipublikasikan
Untuk menghentikan GPTBot merayapi situs WordPress, tambahkan baris berikut ke robots.txt Anda:
User-agent: GPTBot
Disallow: /
Itu sudah jadi solusi lengkap untuk crawler yang berkelakuan baik. Tapi jujurlah pada diri sendiri soal apa yang barusan Anda lakukan: robots.txt itu sebuah permintaan, bukan pagar. GPTBot milik OpenAI mengambil file ini dan mematuhinya. Sebuah scraper yang tidak menghormati standar mengambil file yang sama dan mengabaikan setiap baris di dalamnya. Ingat perbedaan ini sebelum Anda menghabiskan waktu seharian mengutak-atiknya.
Kalau Anda ingin mencakup crawler AI besar sekaligus dalam satu langkah, token user-agent yang umum adalah:
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Bytespider
Disallow: /
GPTBot adalah crawler pelatihan milik OpenAI, CCBot adalah Common Crawl (yang jadi bahan pelatihan banyak model di hilir), ClaudeBot milik Anthropic, Google-Extended adalah token pelatihan AI milik Google, dan Bytespider milik ByteDance. Perhatikan bahwa dua di antaranya sudah melanggar model permintaan-sopan ini: Bytespider dan PerplexityBot sama-sama sudah terdokumentasi secara publik merayapi situs yang men-disallow mereka. Mencantumkan mereka tetap membantu melawan bot yang jujur; tapi tidak ada gunanya melawan yang sudah berbohong soal identitas mereka.
Bagaimana WordPress sebenarnya menyajikan robots.txt
Di sinilah editan kebanyakan orang diam-diam tidak berpengaruh apa-apa. Kalau tidak ada file robots.txt fisik di web root Anda, WordPress membuatnya secara on the fly. Permintaan itu ditangani oleh do_robots() di wp-includes/functions.php, dan outputnya melewati filter robots_txt. Kotak centang “Discourage search engines from indexing this site” di Settings → Reading membalik opsi blog_public, yang membuat file virtual itu memancarkan Disallow: /.
Jadi Anda bisa menambahkan aturan crawler AI secara programatik:
add_filter( 'robots_txt', function ( $output, $public ) {
$output .= "User-agent: GPTBot\nDisallow: /\n";
return $output;
}, 10, 2 );
Inilah jebakan yang bikin habis waktu berjam-jam: begitu ada file robots.txt statis di web root Anda, Apache atau nginx menyajikan file itu langsung dan WordPress tidak pernah jalan. Filter robots_txt, editor robots Yoast/Rank Math, pengaturan Reading — semuanya dilewati. Kalau Anda mengedit robots.txt di sebuah plugin dan file live-nya tidak pernah berubah, hampir selalu ini penyebabnya. Cek https://yoursite.com/robots.txt di jendela private dan bandingkan dengan apa yang Anda kira sudah Anda atur. Kalau ada file asli di disk, edit file itu; filternya tidak relevan.
Memperbaikinya, secara berurutan
Pertama, tulis aturan yang bersih. Pastikan sintaks dan daftar crawler-nya benar supaya Anda tidak tidak sengaja memblokir Googlebot. Generator robots.txt kami membuat blok crawler AI untuk Anda dan menampilkan file persis yang tinggal di-paste, sehingga menghindari kebingungan virtual-vs-fisik karena Anda berakhir dengan satu file yang otoritatif.
Kedua, pastikan sudah live. Ambil URL-nya langsung. Jangan percaya panel preview milik plugin.
Ketiga, kalau Anda butuh penegakan (enforcement) alih-alih sekadar permintaan sopan, naiklah ke lapisan yang lebih atas. robots.txt berada di application layer dan bergantung pada niat baik bot. Untuk benar-benar menolak koneksi, blokir berdasarkan user agent di server. Di .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (GPTBot|CCBot|ClaudeBot|Bytespider) [NC]
RewriteRule .* - [F,L]
</IfModule>
Itu mengembalikan 403 ke apa pun yang mengirim user agent tersebut. Generator .htaccess kami bisa merakit aturan ini. Tapi pahami batasnya: user agent gampang sekali dipalsukan, jadi ini hanya menghentikan bot yang cukup jujur untuk mengidentifikasi dirinya — yang mana adalah bot yang sama yang sudah mematuhi robots.txt. Opsi yang benar-benar tangguh adalah CDN atau WAF yang memblokir berdasarkan identitas crawler terverifikasi atau rentang IP. Aturan terkelola satu klik “Block AI Scrapers and Crawlers” milik Cloudflare adalah versi paling minim usaha dari ini dan bekerja di edge, sebelum permintaan mencapai WordPress sama sekali.
Apa yang tidak boleh dilakukan
Jangan blokir Google-Extended dengan mengira itu menahan Anda keluar dari AI Overviews. Ini miskonsepsi yang perlu diluruskan. Google-Extended adalah token produk, bukan crawler. Ia hanya mengontrol apakah konten Anda dipakai untuk melatih dan mendasari (ground) model Gemini. Menurut dokumentasi Google sendiri, ia tidak berpengaruh pada bagaimana halaman Anda dirayapi, diindeks, atau diperingkat di Google Search. Dan AI Overviews dibangun dari indeks Search reguler yang dirayapi Googlebot — bukan dari Google-Extended. Memblokir Google-Extended tidak akan menghapus Anda dari AI Overviews, dan tidak akan mengurangi satu posisi pun di Search. Satu-satunya cara untuk tidak muncul di AI Overviews adalah memblokir Googlebot atau noindex halaman itu, yang juga menghapus Anda dari Search sepenuhnya. Itu hampir tidak pernah jadi pertukaran yang Anda inginkan.
Jangan perlakukan robots.txt sebagai kontrol keamanan. File ini publik dan bersifat anjuran. Mencantumkan /wp-admin/ atau path privat di dalamnya sama saja mempublikasikan peta ke mana harus mencari. Lindungi endpoint yang sesungguhnya dengan autentikasi, bukan dengan sebaris disallow.
Jangan mengandalkan meta tag noai / noimageai. Keduanya diusulkan, bukan distandarkan, dan hanya segelintir platform yang menghormatinya. Itu bukan pertahanan umum.
Jangan berasumsi plugin “block AI” melakukan lebih dari sekadar menulis robots.txt. Kebanyakan dari mereka menulis baris yang sama yang bisa Anda tulis sendiri secara manual dan mewarisi keterbatasan yang sama. Baca apa yang plugin itu sebenarnya ubah sebelum mempercayainya.
Masih bingung?
Kalau editan Anda tidak muncul, jawabannya hampir selalu adalah sebuah file robots.txt fisik nyasar di web root yang menimpa file virtual WordPress — ambil URL-nya langsung dan cek. Kalau bot yang patuh sudah hilang tapi scraper terus menghantam Anda, berarti Anda sudah mentok pada batas kemampuan robots.txt, dan langkah berikutnya adalah aturan WAF atau CDN yang memblokir berdasarkan identitas terverifikasi alih-alih dengan meminta baik-baik.