robots.txt adalah file teks biasa di root website Anda yang memberi tahu crawler bagian mana dari situs yang boleh mereka kunjungi. File ini sederhana, kuat, dan mudah salah – satu baris saja bisa menghentikan mesin pencari meng-crawl seluruh situs Anda.
Panduan ini membahas cara kerjanya, cara menulisnya dengan aman, dan cara menangani crawler AI yang jumlahnya terus bertambah.
Di mana robots.txt berada
File harus berada di root setiap host:
https://example.com/robots.txt
File ini hanya berlaku untuk host dan protokol yang persis sama. blog.example.com memerlukan file sendiri, begitu pula http:// jika menyajikan konten (yang seharusnya dialihkan ke HTTPS).
Jika tidak ada robots.txt (server mengembalikan 404), crawler menganggap mereka boleh meng-crawl semuanya.
Sintaks dasar
User-agent: *
Disallow: /admin/
Disallow: /cart
Allow: /admin/public-help/
Sitemap: https://example.com/sitemap.xml
- User-agent menyebut crawler yang dikenai sekelompok aturan.
*berarti semua crawler. - Disallow mencantumkan awalan path yang tidak boleh diambil crawler.
- Allow membuat pengecualian di dalam area yang dilarang.
- Sitemap memberikan URL lengkap sitemap XML. Dapat muncul di mana saja dalam file dan berlaku untuk semua crawler.
Baris yang diawali # adalah komentar.
Wildcard
Google, Bing, dan sebagian besar crawler besar mendukung dua karakter khusus:
*cocok dengan urutan karakter apa pun:Disallow: /*?sort=memblokir setiap URL yang mengandung?sort=$menandai akhir URL:Disallow: /*.pdf$memblokir URL yang berakhiran.pdf
Cara aturan dicocokkan
robots.txt kini menjadi standar internet resmi (RFC 9309, terbit 2022), berdasarkan cara Google menanganinya sejak lama:
- Crawler memakai grup yang
User-agent-nya paling spesifik cocok dengannya. Googlebot mengikuti grupUser-agent: Googlebotjika ada, dan mengabaikan grup*. - Di dalam grup itu, aturan yang cocok paling spesifik (paling panjang) yang menang.
- Jika aturan Allow dan Disallow sama spesifiknya, Allow yang menang.
Contoh:
User-agent: *
Disallow: /shop/
Allow: /shop/sale/
/shop/sale/shoes diizinkan (aturan Allow lebih panjang), sedangkan /shop/new/shoes diblokir.
Ambil dan validasi robots.txt, lalu uji apakah suatu URL diblokir untuk Googlebot atau bot AI.
Apa yang dilakukan robots.txt – dan yang tidak
Mengatur crawling, bukan pengindeksan. URL yang dilarang tetap bisa muncul di hasil pencarian jika halaman lain menautkannya, biasanya tanpa deskripsi. Untuk menjauhkan halaman dari hasil pencarian, izinkan crawling dan gunakan meta tag robots noindex atau header X-Robots-Tag.
Bersifat publik. Siapa pun dapat membaca robots.txt Anda. Jangan pernah memakainya untuk menyembunyikan area privat – justru itu mengiklankannya. Lindungi konten privat dengan autentikasi.
Bersifat sukarela. Crawler tepercaya mematuhinya; bot jahat mengabaikannya.
Contoh yang aman
Izinkan semuanya (dan tunjukkan sitemap)
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
WordPress
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.com/wp-sitemap.xml
Toko online
User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /account
Disallow: /*?*sort=
Disallow: /*?*filter=
Sitemap: https://example.com/sitemap.xml
Memblokir parameter pengurutan dan filter mencegah crawler membuang waktu pada ribuan URL yang hampir duplikat.
Situs staging (blokir semuanya)
User-agent: *
Disallow: /
Gunakan ini hanya di situs staging atau pengembangan – dan lebih baik lagi, lindungi dengan kata sandi. Lupa menghapusnya saat peluncuran adalah salah satu penyebab paling umum situs hilang dari pencarian.
Buat file robots.txt dengan sitemap, folder yang diblokir, dan kontrol crawler AI.
Menangani crawler AI
Perusahaan AI menjalankan beberapa jenis crawler, dan sebaiknya diperlakukan berbeda:
| Tujuan | Contoh | Efek memblokir |
|---|---|---|
| Pelatihan – mengumpulkan konten untuk melatih model | GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (kontrol pelatihan Gemini dari Google), CCBot (Common Crawl), Applebot-Extended | Konten Anda tidak dipakai untuk pelatihan berikutnya. Tidak berpengaruh pada visibilitas pencarian. |
| Pencarian AI – mengambil halaman untuk menjawab dan mengutip di pencarian AI | OAI-SearchBot, Claude-SearchBot, PerplexityBot | Halaman Anda mungkin tidak muncul sebagai sumber di mesin pencari AI tersebut. |
| Pengambilan atas permintaan pengguna – saat seseorang meminta asisten membaca halaman | ChatGPT-User, Claude-User, Perplexity-User | Asisten mungkin tidak bisa membaca halaman Anda saat pengguna memintanya. |
Google-Extended adalah token kontrol, bukan crawler terpisah: memblokirnya menghentikan penggunaan konten untuk pelatihan model Gemini tetapi tidak memengaruhi Google Penelusuran atau Ringkasan AI, yang mengandalkan Googlebot.
Konfigurasi jalan tengah yang umum memblokir pelatihan sambil tetap terlihat di pencarian AI:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Periksa dokumentasi penyedia secara berkala, karena nama dan tujuan crawler berubah.
Periksa apakah ChatGPT, Claude, Perplexity, dan Google AI dapat mengakses, membaca, dan mengutip halaman Anda.
Kesalahan umum
- Meninggalkan
Disallow: /dari staging. Selalu periksa robots.txt setelah peluncuran atau migrasi. - Memblokir CSS dan JavaScript. Google membutuhkannya untuk merender halaman; memblokirnya bisa membuat halaman tampak rusak bagi Googlebot.
- Memakai robots.txt untuk menghapus halaman dari Google. Noindex pada halaman yang diblokir tidak dapat terlihat. Gunakan noindex.
- Memblokir halaman yang memiliki canonical atau redirect yang ingin Anda tunjukkan kepada mesin pencari.
- Salah ketik dan huruf besar-kecil. Path peka huruf besar-kecil:
/Admin/dan/admin/berbeda. - File yang sangat besar. Google hanya membaca 500 KiB pertama.
- Menyajikan robots.txt dengan error. Jika robots.txt mengembalikan error 5xx, Google dapat menghentikan sementara crawling situs.
Menguji perubahan
Sebelum menerbitkan robots.txt baru, uji URL terpenting Anda terhadapnya – beranda, kategori utama dan halaman produk, serta file CSS dan JavaScript. Laporan robots.txt di Search Console menunjukkan versi terakhir yang diambil Google dan masalah yang ditemukannya.
robots.txt vs noindex vs perlindungan kata sandi
Ketiga alat ini menyelesaikan masalah berbeda, dan mencampuradukkannya adalah sumber masalah pengindeksan yang umum:
| Tujuan | Alat yang tepat | Alasan |
|---|---|---|
| Menghemat waktu crawl pada URL bernilai rendah (filter, pencarian internal) | Disallow di robots.txt | Menghentikan crawler mengambilnya sama sekali |
| Menjauhkan halaman dari hasil pencarian | Meta tag noindex atau X-Robots-Tag | Crawler harus bisa mengambil halaman untuk melihatnya |
| Menjaga konten tetap privat | Kata sandi atau login | Hanya autentikasi yang benar-benar mencegah akses |
| Menghapus halaman dari Google dengan cepat | noindex ditambah alat Penghapusan di Search Console | Alat menyembunyikannya sementara hingga noindex berlaku |
Menangani parameter dan navigasi faset
Situs e-commerce dan iklan sering menghasilkan URL seperti ini untuk setiap kombinasi filter:
/shoes?colour=red
/shoes?colour=red&size=8
/shoes?colour=red&size=8&sort=price
Jika halaman ini tidak menambah nilai unik bagi pencari, blokir parameter yang menciptakan kombinasi tanpa akhir, seperti pengurutan:
User-agent: *
Disallow: /*?*sort=
Disallow: /*?*sessionid=
Berhati-hatilah agar tidak memblokir halaman filter yang memang ingin Anda peringkatkan – misalnya halaman “sepatu lari merah” dengan permintaan pencarian nyata harus menjadi URL yang dapat di-crawl dan diindeks, dengan kontennya sendiri.
Membaca robots.txt situs mana pun
Melihat robots.txt pesaing bisa sangat bermanfaat. Anda dapat melihat bagian mana yang mereka jauhkan dari crawler, di mana sitemap mereka, dan bagaimana mereka menangani crawler AI. Karena filenya publik, ini juga hal pertama yang perlu diperiksa saat situs yang Anda kelola tiba-tiba kehilangan visibilitas.
Pengujian dan pemantauan
Perubahan robots.txt berisiko tinggi, jadi perlakukan seperti kode:
- Simpan salinan versi sebelumnya sebelum mengedit
- Uji URL penting – beranda, kategori dan produk utama, file CSS dan JavaScript – terhadap aturan baru sebelum diterbitkan
- Setelah diterbitkan, pastikan file mengembalikan status 200 dan teks biasa, bukan halaman error HTML
- Pantau laporan robots.txt dan laporan Pengindeksan halaman di Search Console selama beberapa hari berikutnya
Beberapa sistem manajemen konten dan plugin SEO membuat robots.txt secara dinamis. Jika Anda mengunggah file robots.txt fisik, biasanya file itu menggantikan yang virtual – pastikan Anda mengedit versi yang benar-benar disajikan.
Poin-poin penting
- robots.txt mengatur crawling, bukan pengindeksan – gunakan noindex untuk menjauhkan halaman dari hasil pencarian.
- Aturan yang cocok paling spesifik yang menang, dan Allow mengalahkan Disallow jika seri.
- Jangan pernah memblokir file CSS atau JavaScript yang dibutuhkan halaman untuk dirender.
- Pisahkan crawler pelatihan AI dari crawler pencarian AI; memblokir pelatihan tidak memengaruhi pencarian.
- Selalu periksa robots.txt setelah peluncuran dan migrasi untuk aturan Disallow: / yang tertinggal.
- Uji URL penting terhadap setiap perubahan sebelum menerbitkannya.
Pertanyaan yang sering diajukan
Apakah saya memerlukan file robots.txt?
Tidak wajib. Tanpa file ini, crawler mengakses semuanya. Namun robots.txt adalah tempat standar untuk mencantumkan sitemap dan menjauhkan crawler dari area bernilai rendah, jadi sebagian besar situs sebaiknya memilikinya.
Apakah Google mendukung crawl-delay?
Tidak. Googlebot mengabaikan Crawl-delay. Bing dan beberapa crawler lain mematuhinya.
Berapa lama perubahan mulai berlaku?
Google umumnya menyimpan cache robots.txt hingga 24 jam, jadi perubahan bisa memakan waktu sehari untuk terbaca.
Bisakah saya memblokir halaman tertentu?
Bisa – Disallow: /private-page –, tetapi ingat bahwa ini memblokir crawling, bukan pengindeksan. Gunakan noindex jika tujuannya menjauhkan halaman dari hasil pencarian.
Periksa situs Anda sendiri
Jalankan audit gratis dengan 80+ pemeriksaan dan dapatkan solusi untuk setiap masalah.