Robots.txt Generator dan Tester
Bikin robots.txt dari preset, pilih crawler Google, Bing, atau AI mana yang mau diblokir. Lalu tes URL apa saja dan lihat persis aturan mana yang menentukan.
Aturan untuk semua crawler User-agent: *
Crawler
Default berarti ikut aturan *. Blokir atau Izinkan membuat grup sendiri untuk crawler itu, dan grup itu menggantikan aturan *.
Crawler pencarian
- GooglebotGoogle Search. Googlebot-Image dan Googlebot-News ikut grup ini kalau tidak punya grup sendiri.
- BingbotPencarian Bing. Hasilnya juga dipakai layanan pencarian lain.
- ApplebotApple, untuk saran di Siri dan Spotlight.
- YandexBotPencarian Yandex.
Crawler AI
- GPTBotOpenAI. Mengambil halaman untuk melatih model AI.
- OAI-SearchBotOpenAI. Membangun indeks untuk jawaban dan link di ChatGPT search.
- ChatGPT-UserOpenAI. Membuka halaman saat pengguna ChatGPT memintanya.
- ClaudeBotAnthropic. Mengambil halaman untuk melatih model AI.
- Claude-SearchBotAnthropic. Mengindeks halaman untuk hasil pencarian di Claude.
- Google-ExtendedGoogle. Bukan crawler terpisah, tapi token untuk mengatur pemakaian di model Gemini. Tidak memengaruhi Search.
- Applebot-ExtendedApple. Mengatur apakah halaman yang dirayapi Applebot dipakai untuk melatih AI Apple.
- CCBotCommon Crawl. Arsip web publik yang dipakai untuk melatih banyak model AI.
- PerplexityBotPerplexity. Mengindeks halaman untuk jawaban AI-nya.
- BytespiderByteDance, perusahaan di balik TikTok.
- meta-externalagentMeta. Mengambil halaman untuk melatih AI dan produknya.
Sitemap
Hasil
robots.txt
Cara crawler membaca robots.txt
Robots.txt isinya kumpulan grup. Tiap grup diawali satu atau beberapa baris User-agent, lalu diikuti aturan Allow dan Disallow. Crawler hanya memilih satu grup, yaitu grup yang nama user agent-nya paling spesifik cocok dengan namanya. Kalau tidak ada grup yang menyebut namanya, barulah dia ikut grup User-agent: *.
Bagian ini yang paling sering salah. Kalau kamu menulis grup User-agent: Googlebot dengan satu aturan, Googlebot akan mengabaikan semua aturan di bawah *, termasuk blokir /wp-admin/ kamu. Aturan tidak dijumlahkan antar nama. Aturan baru digabung kalau nama yang sama muncul di dua grup.
Nama perintah dan nama user agent tidak membedakan huruf besar dan kecil. Path-nya membedakan: /Admin/ dan /admin/ itu dua aturan yang berbeda.
Aturan mana yang menang kalau ada beberapa yang cocok
Google tidak memakai aturan cocok yang pertama, tapi yang paling spesifik, diukur dari panjang path aturannya. Kalau Allow dan Disallow sama panjang, Allow yang menang. Ada 2 karakter khusus: * cocok dengan karakter apa saja, dan $ di akhir berarti URL harus berakhir di situ.
| Aturan | URL | Hasil |
|---|---|---|
Disallow: /wp-admin/Allow: /wp-admin/admin-ajax.php | /wp-admin/admin-ajax.php | Boleh, aturan Allow lebih panjang |
Disallow: /*.pdf$ | /file/harga.pdf?v=2 | Boleh, karena $ mewajibkan URL berakhir di .pdf |
Disallow: /*? | /toko?page=2 | Diblokir, semua URL yang punya parameter |
Disallow: /blog | /blog-tips/ | Diblokir, aturan itu awalan, bukan folder |
Baris terakhir sering bikin kaget. Disallow: /blog juga memblokir /blog-tips/. Tulis /blog/ kalau yang kamu maksud foldernya. Di mode Tes, semua aturan yang cocok ditampilkan dari yang terpanjang, jadi kamu bisa lihat kenapa satu aturan menang.
Blokir bot AI tanpa hilang dari pencarian AI
Perusahaan AI sekarang memisahkan crawler untuk pelatihan model dan crawler untuk pencarian. Kalau kamu memblokir crawler pelatihan, halamanmu tidak dipakai untuk melatih model berikutnya. Kalau yang diblokir crawler pencarian, website kamu hilang dari jawaban dan link di produk itu. Untuk bisnis, biasanya yang kedua ini justru rugi.
| Perusahaan | Pelatihan | Pencarian dan jawaban |
|---|---|---|
| OpenAI | GPTBot | OAI-SearchBot, ChatGPT-User |
| Anthropic | ClaudeBot | Claude-SearchBot |
| Google-Extended (token kontrol, bukan crawler) | Googlebot, yang juga dipakai untuk AI Overviews | |
| Apple | Applebot-Extended | Applebot |
| Common Crawl | CCBot | tidak ada |
Memblokir Google-Extended tidak mengubah cara Googlebot merayapi atau meranking website kamu, dan tidak mengeluarkan kamu dari AI Overviews. Preset "Blokir bot pelatihan AI" hanya memblokir crawler pelatihan dan membiarkan crawler pencarian di Default. Ingat, robots.txt itu permintaan, bukan tembok. Perusahaan yang serius mematuhinya. Bot yang tidak patuh harus diblokir di server atau firewall.
Arti "Diblokir oleh robots.txt" dan "Halaman diindeks meskipun diblokir oleh file robots.txt"
Dua status ini muncul di laporan Pengindeksan halaman di Search Console, dan artinya berbeda.
Diblokir oleh robots.txt (Blocked by robots.txt) adalah alasan halaman tidak diindeks. Googlebot menemukan URL-nya, robots.txt melarang merayapi, jadi halaman tidak masuk index. Kalau halaman itu seharusnya ranking, cari aturannya pakai mode Tes, hapus atau persempit aturannya, lalu klik Minta Pengindeksan (Request Indexing) di Inspeksi URL. Kalau URL itu memang tidak untuk publik, status ini aman dan tidak perlu diapa-apakan.
Halaman diindeks meskipun diblokir oleh file robots.txt (Indexed, though blocked by robots.txt) artinya Google mengindeks URL tanpa merayapinya, biasanya karena ada halaman lain yang menautkannya. URL bisa muncul di hasil pencarian tanpa deskripsi. Kesalahan yang sering saya temui: orang menambahkan noindex tapi blokir robots.txt-nya dibiarkan. Google tidak bisa merayapi halamannya, jadi noindex itu tidak pernah terbaca. Urutan yang benar: izinkan crawling, pasang noindex, tunggu Google merayapi ulang, baru blokir lagi kalau masih perlu.
Yang tidak bisa dilakukan robots.txt
- Tidak menghapus halaman dari Google. Robots.txt mengatur crawling, bukan indexing. Pakai
noindexatau tool Penghapusan (Removals) di Search Console untuk itu. - Baris
Noindex:di robots.txt tidak berfungsi. Google berhenti mendukungnya sejak 1 September 2019. Crawl-delaydiabaikan Google. Googlebot menyesuaikan kecepatan crawling dengan respons server kamu.- Tidak melindungi apa pun. File ini publik, jadi menulis
/admin-rahasia/justru memberi tahu semua orang lokasinya. Website staging sebaiknya dikunci password, bukan cumaDisallow: /.
Kalau robots.txt tidak ada atau error
Robots.txt harus ada di root tiap host, terpisah untuk tiap protokol dan subdomain. https://www.contoh.com/robots.txt tidak berlaku untuk https://toko.contoh.com. Google menyimpan cache file ini sampai 24 jam, jadi perubahan bisa butuh sehari untuk berlaku.
| Respons server | Yang dilakukan Google |
|---|---|
| 200 dengan file valid | Mengikuti aturannya. Isi setelah 500 KiB diabaikan. |
| Redirect | Mengikuti sampai 5 redirect, setelah itu dianggap tidak ada file. |
| 4xx (404, 403, 410) | Dianggap tidak ada robots.txt. Semua boleh dirayapi. |
| 5xx atau 429 | Seluruh website dianggap dilarang untuk sementara. Kalau lebih dari 30 hari masih error, Google memakai salinan cache terakhir, atau merayapi tanpa batasan kalau tidak punya salinan. |