Robots.txt
Penjelasan tentang fungsi robots.txt—mengendalikan perayapan, bukan pengindeksan—beserta sintaks, cara Google menanganinya, dan kesalahan yang dapat merusak situs.
Bahasa
1 sinyal bukti di halaman ini
- Alat aktif terkaitrobots.txt Tester
Robots.txt adalah file teks biasa di root setiap host yang memberi tahu perayap URL mana yang boleh diminta. File ini mengendalikan perayapan, bukan pengindeksan. URL yang diblokir masih dapat diindeks tanpa cuplikan; untuk mengeluarkan halaman dari indeks, gunakan noindex dan jangan blokir halaman itu agar Google dapat melihat arahannya. Google mendukung user-agent, allow, disallow, dan sitemap. File berada di /robots.txt, berlaku untuk satu host, protokol, dan port, dibatasi 500 KiB, biasanya disimpan dalam cache sekitar 24 jam; respons 4xx berarti tidak ada pembatasan sedangkan 5xx dapat menghentikan perayapan, dan file tidak boleh dipakai untuk menyembunyikan informasi sensitif.
TL;DR — Robots.txt adalah file teks di root situs yang memberi tahu perayap URL mana yang boleh diminta. Kesalahan yang paling umum adalah menganggap file ini mengendalikan pengindeksan, padahal yang dikendalikan adalah perayapan. Memblokir halaman tidak menghapusnya dari Google—halaman yang diblokir masih dapat muncul dalam hasil penelusuran, hanya tanpa deskripsi. Jika Anda ingin mengeluarkan halaman dari Google, gunakan alat lain, yaitu
noindex; halaman itu tidak boleh diblokir di robots.txt agar Google dapat melihat arahannya.
Apa itu file robots.txt
Saat mesin pencari hendak merayapi situs Anda, hal pertama yang dicari adalah file
di https://yourdomain.com/robots.txt. File tersebut berisi daftar arahan yang
memberi tahu perayap bagian situs mana yang boleh dan tidak boleh diminta. Formatnya
hanya teks biasa, dan robots.txt situs mana pun dapat dibaca dengan menambahkan
/robots.txt setelah nama domain.
Contoh minimalnya seperti ini:
Evidence for this claim Cloudflare Radar summarizes which AI user-agent names were observed in robots.txt files during the 28 days ending 2026-07-30. Scope: A dated Cloudflare Radar context chart describing observed robots.txt patterns; it is not a recommendation or a site-specific policy measurement. Confidence: high · Verified: Cloudflare Radar: AI user agents found in robots.txtThe chart summarizes which AI user-agent names Cloudflare observed in robots.txt files during the selected four-week period.
User-agent: *
Disallow: /admin/
Sitemap: https://yourdomain.com/sitemap.xmlArtinya: untuk setiap perayap (*), jangan minta apa pun di bawah
/admin/; selain itu, sitemap saya berada di lokasi berikut.
Hal utama yang perlu dipahami: memblokir ≠ menghapus
Ini adalah kesalahan paling umum dalam SEO, jadi perlu ditegaskan: robots.txt menghentikan perayapan halaman, bukan pengindeksannya. Evidence for this claim A robots.txt rule controls crawling rather than guaranteeing removal from Google Search; a URL can still appear when Google cannot crawl it. Scope: Google Search crawler behavior. Other crawlers can interpret robots.txt differently. Confidence: high · Verified: Google: Introduction to robots.txt
Keduanya terdengar sama, tetapi sebenarnya berbeda. Perayapan adalah proses mesin mengambil dan membaca halaman Anda. Pengindeksan adalah keputusan mesin untuk menyimpan halaman tersebut dan menampilkannya dalam hasil. Robots.txt hanya memblokir langkah pertama.
Jadi, jika Anda memblokir halaman di robots.txt, Google tidak akan mengambilnya. Namun, jika halaman lain menautkan URL tersebut, Google masih dapat mengindeks URL itu sendiri dan menampilkannya dalam hasil penelusuran. Hasilnya berupa tautan polos tanpa deskripsi karena Google tidak pernah diizinkan membaca halaman untuk membuat deskripsi.
Jika tujuan Anda adalah mengeluarkan halaman dari Google, robots.txt merupakan alat yang salah. Gunakan noindex melalui tag meta atau header HTTP. Masalahnya, noindex hanya berfungsi jika Google dapat merayapi halaman dan melihat arahan tersebut. Jika halaman diblokir di robots.txt, Google tidak pernah membaca noindex. Karena itu, memblokir dan memberi noindex pada halaman yang sama justru menggagalkan penghapusan dari indeks.
Alat yang tepat untuk setiap tujuan
- “Don’t waste crawling on this.” (terjemahan) “Jangan habiskan sumber daya perayapan untuk ini.” →
robots.txtDisallow. - “Keep this out of Google’s index.” (terjemahan) “Jauhkan ini dari indeks Google.” →
noindex(dan jangan blokir halamannya). - “Nobody should be able to see this at all.” (terjemahan) “Tidak seorang pun boleh melihat ini.” → perlindungan kata sandi/login.
Robots.txt bersifat publik—siapa pun dapat membacanya—jadi mencantumkan
/secret/di sana justru memberi tahu dunia bahwa folder tersebut ada.
Beberapa aturan yang sering mengecoh
- Satu file per host.
https://example.com,https://www.example.com, danhttps://blog.example.commasing-masing memerlukan robots.txt sendiri. Aturannya tidak dibagikan. - File harus berada di root. Lokasinya harus
/robots.txt, seluruhnya dengan huruf kecil. File dalam subfolder tidak berpengaruh. - Jangan blokir CSS dan JavaScript. Google memerlukan file tersebut untuk melihat halaman seperti yang dilihat pengunjung. Memblokirnya dapat merugikan Anda.
Untuk melihat referensi sintaks lengkap—karakter pengganti, aturan pencocokan
Allow/Disallow, cara Google menangani 404 dibanding galat server pada
robots.txt, crawl-delay, dan pengelolaan perayap AI—beralihlah ke tab
Advanced.
TL;DR — Robots.txt adalah file teks biasa di root setiap host (
/robots.txt, huruf kecil) yang menerapkan Robots Exclusion Protocol (RFC 9309). File ini mengendalikan perayapan, bukan pengindeksan—URL yang tidak diizinkan masih dapat diindeks tanpa cuplikan jika ditautkan dari tempat lain; untuk menghapus halaman dari indeks, gunakannoindexpada halaman yang tidak diblokir. Google hanya mendukunguser-agent,allow,disallow, dansitemap; dukungannoindex/nofollow/crawl-delaydihentikan pada 1 September 2019. Cakupannya satu host+protokol+port. Pencocokan memakai aturan paling spesifik (terpanjang), dan pada panjang yang sama aturan paling tidak membatasi menang;*dan$adalah karakter pengganti; jalur peka huruf besar-kecil. Google membatasi file hingga 500 KiB, menyimpannya dalam cache sekitar 24 jam, memperlakukan 4xx (kecuali 429) sebagai tanpa pembatasan, dan pada 5xx menghentikan perayapan sekitar 12 jam lalu memakai salinan baik terakhir sekitar 30 hari. Jangan blokir CSS/JS penting untuk rendering dan jangan gunakan robots.txt sebagai kontrol akses—file ini bersifat publik.
Apa itu robots.txt dan di mana letaknya
Robots.txt menerapkan Robots Exclusion Protocol, yang dibuat Martijn Koster pada 1994 dan akhirnya distandardisasi pada 2022 sebagai RFC 9309—ditulis bersama Gary Illyes, Henner Zeller, Lizzi Sassman dari Google, dan Koster sendiri. Rumusan standar tersebut: “This document specifies and extends the ‘Robots Exclusion Protocol’ method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers.” (terjemahan) “Dokumen ini menetapkan dan memperluas metode ‘Robots Exclusion Protocol’ yang pertama kali didefinisikan Martijn Koster pada 1994 agar pemilik layanan dapat mengendalikan bagaimana konten yang disajikan layanannya boleh diakses, jika memang boleh, oleh klien otomatis yang dikenal sebagai perayap.”
Beberapa fakta yang sering mengecoh:
- File harus berada di root dan memakai huruf kecil. RFC 9309 menyatakan dengan tegas: “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” (terjemahan) “Aturan HARUS dapat diakses dalam file bernama ‘/robots.txt’ (seluruhnya huruf kecil) pada jalur tingkat teratas layanan.” Google menambahkan bahwa URL itu sendiri peka huruf besar-kecil, seperti URL lainnya.
- Cakupannya satu host + protokol + port. Google: “The rules listed in the
robots.txt file apply only to the host, protocol, and port number where the
robots.txt file is hosted.” (terjemahan) “Aturan yang tercantum dalam file
robots.txt hanya berlaku bagi host, protokol, dan nomor port tempat file robots.txt
tersebut dihosting.” Jadi
https://example.com,https://www.example.com,https://blog.example.com, danhttp://example.commasing-masing memerlukan file sendiri. Subdomain dan protokol tidak berbagi satu file. - Protokol yang didukung Google adalah HTTP, HTTPS, dan FTP.
Kesalahpahaman yang mendasari topik ini: perayapan vs pengindeksan
Jika hanya satu hal yang diingat dari artikel ini, ingatlah: robots.txt mengendalikan perayapan, bukan pengindeksan. Memblokir URL tidak sama dengan menghapusnya dari Google. Evidence for this claim A robots.txt rule controls crawling rather than guaranteeing removal from Google Search; a URL can still appear when Google cannot crawl it. Scope: Google Search crawler behavior. Other crawlers can interpret robots.txt differently. Confidence: high · Verified: Google: Introduction to robots.txt
Dokumentasi Google menyatakannya dengan jelas: robots.txt “is not a mechanism for keeping a web page out of Google. To keep a web page out of Google, block indexing with noindex or password-protect the page.” (terjemahan) “bukan mekanisme untuk mengeluarkan halaman web dari Google. Untuk melakukannya, blokir pengindeksan dengan noindex atau lindungi halaman dengan kata sandi.” Google juga menjelaskan bahwa URL yang diblokir dapat tetap muncul tanpa cuplikan jika halaman lain menautkannya.
Spesifikasi tersebut mengulangi nuansa yang sama untuk aturan disallow:
“Google can’t index the content of pages which are disallowed for crawling, but it may still
index the URL and show it in search results without a snippet.” (terjemahan)
“Google tidak dapat mengindeks konten halaman yang tidak diizinkan untuk dirayapi,
tetapi masih dapat mengindeks URL dan menampilkannya dalam hasil penelusuran tanpa cuplikan.”
Mengapa Anda TIDAK boleh memblokir halaman yang ingin diberi noindex
Inilah jebakan yang diam-diam merusak upaya deindeksasi. noindex hanya bekerja jika Google dapat merayapi halaman dan membacanya. Dokumentasi Google menjelaskan: “For the noindex rule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler. If the page is blocked by a robots.txt file or the crawler can’t access the page, the crawler will never see the noindex rule, and the page can still appear in search results, for example if other pages link to it.” (terjemahan) “Agar aturan noindex efektif, halaman atau sumber daya tidak boleh diblokir robots.txt dan harus tetap dapat diakses perayap. Jika halaman diblokir atau tidak dapat diakses, perayap tidak akan melihat aturan noindex dan halaman masih dapat muncul dalam hasil penelusuran, misalnya jika ditautkan dari halaman lain.” Evidence for this claim Google must be able to crawl a URL to see a noindex rule; blocking the URL in robots.txt can prevent the rule from being observed. Scope: Google Search indexing controls for HTML meta robots and X-Robots-Tag rules. Confidence: high · Verified: Google: Block indexing with noindex
Jadi, jika tujuan Anda adalah mengeluarkan halaman dari indeks, panduan John Mueller merupakan cara paling mudah untuk mengingatnya: ketika ingin membatalkan pengindeksan halaman, jangan blokir Google dengan robots.txt; gunakan noindex.
Bukti langsung: saya memblokir dua halaman kami yang berperingkat tinggi
Saya tidak perlu membahasnya hanya dari teori. Dalam eksperimen saya yang memblokir dua halaman Ahrefs berperingkat tinggi, saya sengaja memblokir keduanya di robots.txt dan melacak hasilnya. Halaman tersebut tetap diindeks dan tetap berperingkat—tidak menghilang. Yang hilang adalah kesegaran yang diperoleh Google melalui perayapan ulang: “We lost a position here or there and all of the featured snippets for the pages.” (terjemahan) “Kami kehilangan satu posisi di sana-sini dan seluruh cuplikan unggulan untuk halaman tersebut.” Trafik turun, tetapi tidak sebanyak perkiraan saya: “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” (terjemahan) “Kedua halaman kehilangan sebagian trafik, tetapi perubahan estimasi trafik kami tidak sebesar yang saya perkirakan.”
Kesimpulan saya dari data tersebut: “Accidentally blocking pages (that Google already ranks) from being crawled using robots.txt probably isn’t going to have much impact on your rankings, and they will likely still show in the search results.” (terjemahan) “Memblokir perayapan halaman yang sudah diberi peringkat oleh Google secara tidak sengaja melalui robots.txt mungkin tidak akan banyak memengaruhi peringkat Anda, dan halaman tersebut kemungkinan masih muncul dalam hasil penelusuran.” Versi terus terangnya: “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” (terjemahan) “Jangan blokir halaman yang ingin Anda indeks. Dampaknya buruk. Memang tidak separah yang Anda bayangkan, tetapi tetap merugikan.”
Sisi lainnya cukup melegakan: ketika Search Console menandai “Indexed, though blocked by robots.txt” (terjemahan) “Terindeks, meski diblokir robots.txt” untuk URL utilitas—keranjang, filter, atau parameter sampah—biasanya itu bukan masalah. Mueller menjelaskan bahwa memblokir URL tambah-ke-keranjang tidak masalah; sekalipun URL tersebut “diindeks”, kemungkinan besar URL tidak akan ditampilkan kecuali seseorang menjalankan kueri yang sangat spesifik untuk URL itu, sesuatu yang tidak dilakukan pengguna nyata. Bedakan peringatan yang terdengar menakutkan dari masalah sebenarnya: peringatan ini hanya penting jika URL yang diblokir merupakan halaman yang memang ingin Anda rayapi dan indeks.
Sintaks (referensi)
Robots.txt terdiri dari sekumpulan grup. Setiap grup dimulai dengan satu atau
beberapa baris User-agent yang menyebut perayap yang menjadi sasaran, lalu
diikuti aturan untuk perayap tersebut.
User-agent: *
Disallow: /cart/
Disallow: /search
Allow: /search/help
User-agent: Googlebot
Disallow: /no-google/
Sitemap: https://example.com/sitemap.xmlUser-agent dan grup. Perayap mematuhi tepat satu grup—grup dengan user-agent paling spesifik yang cocok—dan mengabaikan sisanya. Google: “Google’s crawlers determine the correct group of rules by finding in the robots.txt file the group with the most specific user agent that matches the crawler’s user agent. Other groups are ignored.” (terjemahan) “Perayap Google menentukan grup aturan yang benar dengan menemukan grup dalam file robots.txt yang memiliki user-agent paling spesifik dan cocok dengan user-agent perayap. Grup lain diabaikan.” Lalu: “Only one group is valid for a particular crawler.” (terjemahan) “Hanya satu grup yang valid untuk perayap tertentu.” (Bing berperilaku sama—selengkapnya di bawah.)
Grup khusus tidak ditambah dengan aturan wildcard; grup itu dipakai sendiri dan tidak digabungkan dengan User-agent: *. Spesifikasi Google menyatakan “user agent specific groups and global groups (*) are not combined.” (terjemahan) “grup khusus agen pengguna dan grup global tidak digabungkan.” Jika Anda membuat grup User-agent: googlebot-news, ulangi setiap aturan dari grup * yang masih perlu berlaku.
Disallow dan Allow. Disallow mencantumkan jalur yang tidak boleh diminta
perayap; Allow membuat pengecualian dari larangan tersebut. Aturan disallow
“specifies paths that must not be accessed by the crawlers identified by the user-agent line the disallow rule
is grouped with.” (terjemahan) “Menentukan jalur yang tidak boleh diakses oleh
perayap yang diidentifikasi oleh baris user-agent dalam grup aturan disallow.” Aturan
allow “specifies paths that may be accessed by the designated crawlers. When no path is specified, the rule is ignored.”
(terjemahan) “Menentukan jalur yang boleh diakses perayap yang ditetapkan. Jika
tidak ada jalur yang ditentukan, aturan tersebut diabaikan.”
Aturan pencocokan (sering dijelaskan secara keliru). Saat dua aturan bertentangan, aturan yang paling spesifik menang, dan “paling spesifik” berarti jalur terpanjang: “When matching robots.txt rules to URLs, crawlers use the most specific rule based on the length of the rule path. In case of conflicting rules, including those with wildcards, Google uses the least restrictive rule.” (terjemahan) “Saat mencocokkan aturan robots.txt dengan URL, perayap memakai aturan paling spesifik berdasarkan panjang jalur. Jika aturan bertentangan, termasuk aturan dengan karakter pengganti, Google memakai aturan yang paling tidak membatasi.” Jadi, pada kondisi seri yang sebenarnya, aturan yang paling tidak membatasi menang—Allow mengalahkan Disallow. RFC 9309 menyebutnya “Longest Match”: “The following example shows that in the case of two rules, the longest one is used for matching.” (terjemahan) “Contoh berikut menunjukkan bahwa jika ada dua aturan, aturan terpanjang yang digunakan untuk pencocokan.” Evidence for this claim Google resolves matching robots.txt rules by path specificity and uses the least restrictive rule when equally specific rules conflict. Scope: Google crawler interpretation of robots.txt rules; other crawlers may implement different extensions. Confidence: high · Verified: Google: Robots.txt interpretation
Contoh penerapan:
User-agent: *
Allow: /folder/page
Disallow: /folder/URL /folder/page cocok dengan kedua aturan. Allow: /folder/page (12 karakter)
lebih panjang daripada Disallow: /folder/ (8 karakter), sehingga aturan Allow
yang lebih panjang dan lebih spesifik menang dan halaman dapat dirayapi.
Karakter pengganti * dan $. Google: “* designates 0 or more instances of any
valid character. $ designates the end of the URL.” (terjemahan) “Tanda bintang
mewakili nol atau lebih kemunculan karakter valid apa pun. Tanda dolar menandai akhir
URL.” Jadi, Disallow: /*.pdf$ memblokir setiap URL yang berakhir dengan
.pdf, dan Disallow: /*? memblokir setiap URL yang berisi string kueri.
Pencocokan didasarkan pada awalan: Disallow: /fish cocok dengan /fish,
/fish.html, dan /fish/salmon.html, tetapi tidak dengan /Fish
(peka huruf besar-kecil) atau /catfish (yang dicocokkan adalah awalan, bukan
substring).
Kepekaan huruf besar-kecil (bagian yang mudah terlewat). Nama kolom dan
nama user-agent tidak peka huruf besar-kecil; nilai jalur peka huruf
besar-kecil. Google: “Both the user-agent field name and its value are
case-insensitive,” (terjemahan) “Nama kolom user-agent dan nilainya sama-sama
tidak peka huruf besar-kecil,” tetapi “The field name (disallow) is
case-insensitive, but its value is case-sensitive,” (terjemahan) “Nama kolom
(disallow) tidak peka huruf besar-kecil, tetapi nilainya peka huruf
besar-kecil,” dan “The path value must start with / to designate the root and
the value is case-sensitive.” (terjemahan) “Nilai jalur harus dimulai dengan
garis miring untuk menunjukkan root dan nilainya peka huruf besar-kecil.” Jadi,
Disallow: /Folder/ tidak memblokir /folder/.
Sitemap. Arahan Sitemap: menerima URL absolut lengkap dan tidak bergantung
pada grup—baris ini dapat diletakkan di mana saja dalam file.
Komentar. Semua teks setelah # diabaikan: “To include comments, precede your
comment with the # character.” (terjemahan) “Untuk menyertakan komentar,
awali komentar dengan karakter pagar.”
noindex, nofollow, dan crawl-delay BUKAN arahan robots.txt
Ini adalah mitos yang terus bertahan. Sejak 1 September 2019, Google menghentikan
dukungan untuk aturan yang tidak didukung dan tidak didokumentasikan—termasuk
noindex, nofollow, dan crawl-delay. Pengumuman Google membahas
aturan yang tidak didukung draf internet, seperti crawl-delay, nofollow, dan
noindex, yang tidak pernah didokumentasikan Google, serta menyatakan bahwa seluruh
kode yang menangani aturan tidak didukung dan tidak dipublikasikan (seperti noindex)
akan dihentikan pada tanggal tersebut. Daftar kolom yang didukung memang pendek,
dan spesifikasi menyebut pengecualiannya secara langsung: Google mendukung
user-agent, allow, disallow, dan sitemap, sedangkan “other fields
such as crawl-delay aren’t supported.” (terjemahan) “Kolom lain seperti
crawl-delay tidak didukung.”
Jika sebelumnya Anda mengandalkan noindex dalam robots.txt, pilihannya adalah tag
meta noindex atau header X-Robots-Tag, kode status 404/410, perlindungan kata
sandi, Disallow, atau alat penghapusan Search Console.
Cara Google menangani robots.txt di balik layar
- Batas ukuran: 500 KiB. “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” (terjemahan) “Google membatasi file robots.txt hingga 500 KiB; konten setelah batas maksimum diabaikan.”
- Cache sekitar 24 jam. “Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn’t possible.” (terjemahan) Evidence for this claim Google generally caches robots.txt for up to 24 hours and changes crawling behavior according to the HTTP status returned for the file. Scope: Google crawler handling of robots.txt fetches, including documented 4xx, 5xx, and redirect behavior. Confidence: high · Verified: Google: Robots.txt file handling “Google umumnya menyimpan isi robots.txt hingga 24 jam, tetapi dapat menyimpannya lebih lama jika cache tidak dapat diperbarui.” Jadi, perubahan belum tentu langsung diambil.
- Kode status berdampak pada seluruh situs:
- 4xx kecuali 429 → tidak ada pembatasan; 404 pada
/robots.txtberarti seluruh URL boleh dirayapi. Jangan memakai 401 atau 403 untuk membatasi perayapan. - 5xx atau tidak dapat dijangkau → Google menghentikan perayapan selama 12 jam, lalu memakai salinan terakhir yang baik hingga 30 hari sambil terus mencoba. Kesalahan server pada
/robots.txtdapat menghentikan perayapan seluruh situs pada periode awal. Setelah 30 hari, jika situs tetap dapat dijangkau, Google memperlakukan situs seolah tidak memiliki robots.txt. - 3xx → Google mengikuti setidaknya lima hop redirect, lalu memperlakukannya sebagai 404.
- 4xx kecuali 429 → tidak ada pembatasan; 404 pada
robots.txt di Bing, Yandex, dan sistem lainnya
Pengelompokan dan sintaksnya pada dasarnya sama, tetapi ada dua perbedaan penting:
- crawl-delay. Google mengabaikannya, Bing masih mendukungnya, dan Yandex berhenti pada 2018. Dokumentasi Yandex menyatakan “From February 22, 2018, Yandex doesn’t take into account the Crawl-delay directive,” (terjemahan) “Sejak 22 Februari 2018, Yandex tidak memperhitungkan arahan Crawl-delay,” dan mengarahkan pengguna ke pengaturan laju perayapan Yandex Webmaster. Bing menyatakan bahwa robots.txt adalah satu-satunya tempat yang sah untuk menetapkan crawl-delay bagi MSNBot dan nilainya merupakan pembatas relatif, bukan detik literal.
- Jebakan bagian bingbot. Seperti aturan Google “only one group per crawler” (terjemahan) “hanya satu grup per perayap”, jika Anda membuat bagian
User-agent: bingbot, Bing hanya menerapkan bagian itu dan mengabaikan nilai bawaanUser-agent: *, kecuali crawl-delay. Ulangi semua arahan yang masih perlu diberlakukan. - Cache dan perilaku kegagalan Amazon. Amazon menyatakan bahwa perayapnya dapat memakai salinan robots.txt yang tersimpan dalam 30 hari terakhir. Jika file tidak dapat diambil, perayap bertindak seolah file itu tidak ada. Pemeriksa hanya dapat melaporkan salinan yang berhasil diambil, tetapi tidak dapat membuktikan versi cache yang digunakan Amazon—atau bahwa Amazon mengalami kegagalan yang sama dengan pemeriksa. Evidence for this claim Amazon says its crawlers may use a robots.txt copy cached within the previous 30 days and behave as though the file does not exist when they cannot fetch it. Scope: Amazon crawler behavior only; a checker result cannot establish which cached copy Amazon used or whether Amazon observed the same fetch failure. Confidence: high · Verified: Amazon: Amazonbot
Mengelola perayap AI dengan robots.txt
Saat ini, robots.txt merupakan kendali utama untuk mengelola perayap AI, dan perayap tersebut memakai sintaks grup/user-agent yang sama. Namun, semua ini adalah token terpisah, sehingga memblokir satu token tidak memblokir token lainnya.
- OpenAI menjalankan beberapa bot berbeda, dan kontrol masing-masing bersifat
independen—mengizinkan satu bot tidak mengizinkan bot lain, dan memblokir satu
bot tidak memblokir bot lain.
GPTBotmerayapi konten untuk melatih model OpenAI;OAI-SearchBotmenampilkan situs dalam fitur penelusuran ChatGPT;OAI-AdsBotmemeriksa keamanan halaman yang diajukan sebagai iklan (datanya tidak digunakan untuk pelatihan). Blokir pelatihan denganUser-agent: GPTBot/Disallow: /—aturan itu saja tidak menghentikan bot penelusuran atau iklan.ChatGPT-Userberbeda lagi: bot ini berjalan untuk tindakan yang dipicu seseorang di ChatGPT atau Custom GPT, bukan perayapan otomatis, dan OpenAI menyatakan “robots.txt rules may not apply” (terjemahan) “aturan robots.txt mungkin tidak berlaku” baginya—jadi jangan mengandalkanDisallowuntuk mencegah aksesnya. Jika Anda mengubah bagian yang boleh dirayapiOAI-SearchBot, OpenAI menyatakan pembaruan dapat memerlukan sekitar 24 jam untuk mencapai sistem penelusurannya. - Google-Extended mengendalikan pelatihan Gemini/Vertex dan terpisah dari Googlebot.
- Bot lain yang perlu diketahui:
CCBot(Common Crawl),ClaudeBot(Anthropic),PerplexityBot, danBytespider.
Peringatan utamanya: kepatuhan bersifat sukarela. Robots.txt hanya meminta; file ini tidak memaksa. Perayap yang berperilaku baik mematuhinya, sedangkan scraper dapat dan memang mengabaikannya. Jika Anda benar-benar harus menjauhkan sesuatu dari bot, gunakan autentikasi atau pemblokiran; robots.txt bukan jawabannya.
Kesalahan umum (dan perbaikannya)
File mengembalikan 200, tetapi sebenarnya bukan file robots yang dapat digunakan.
Status saja tidak cukup. Rekam Content-Type respons dan byte awalnya: template
galat khusus/CDN dapat mengembalikan HTML pada /robots.txt dengan status 200,
yang harus ditandai sebagai peringatan, bukan dianggap “izinkan semua”. Google
mendokumentasikan robots.txt sebagai teks biasa UTF-8 dan dapat mengabaikan karakter
yang tidak valid. Satu BOM UTF-8 di awal dapat ditoleransi, tetapi BOM kedua, BOM
di tengah, byte UTF-16, NUL, atau karakter tak terlihat/kontrol dapat mengubah token
pertama atau membatalkan suatu baris. Tampilkan offset byte dan baris terdampak;
jangan menormalkan file secara diam-diam sebelum memberi tahu pengguna apa yang
diterima perayap. Terapkan batas penguraian efektif Google sebesar 500 KiB
sebelum menghitung hasil allow/disallow, tetapi tetap laporkan bagian akhir yang dibuang.
- Blocking sebuah halaman Anda juga ingin deindexed. Block + noindex berarti Google tidak pernah melakukan perayapan ini untuk melihat noindex. gunakan noindex tanpa block.
- menggunakan robots.txt untuk deindex. salah alat entirely — itu’s noindex’s job.
- Blocking render-critical CSS/JS. Google perlu itu assets untuk melihat halaman sebagai
sebuah pengguna melakukan; Google’s sendiri sample robots.txt explicitly re-allows
.css/.jskarena itu Googlebot dapat perayapan them. - Trying untuk hide sensitive data. RFC 9309 adalah blunt: “The Robots Exclusion
Protocol is not a substitute for valid content security measures. Listing paths
in the robots.txt file exposes them publicly and thus makes the paths
discoverable.” (terjemahan) “Robots Exclusion Protocol bukan pengganti langkah pengamanan konten yang memadai. Mencantumkan jalur dalam robots.txt membukanya kepada publik sehingga jalur tersebut dapat ditemukan.” Menolak
/secret-admin/justru mengiklankan jalur itu. Gunakan autentikasi. - sebuah stray
Disallow: /. ini blocks entire situs untuk named perayap — classic staging leftover itu takes sebuah situs out dari Google. - Ignoring kode respons pada
/robots.txt. sebuah 5xx dapat stall crawling situs-wide; treat file’s availability sebagai production-critical.
untuk broader pipeline ini sits di dalam — penemuan, perayapan scheduler, perenderan, dan bagaimana crawling differs dari pengindeksan — melihat crawling hub. sibling topics (anggaran crawling, dan bagaimana Google handles sitemaps) setiap membuka deeper pada satu piece dari ini.
AI summary
Ringkasan padat dari bagian lanjutan:
- Robots.txt adalah file teks biasa di root setiap host (
/robots.txt, huruf kecil) yang menerapkan Robots Exclusion Protocol (RFC 9309, 2022; berasal dari 1994). URL-nya peka huruf besar-kecil. - File ini mengendalikan perayapan, bukan pengindeksan. Inilah mitos terbesar tentang robots.txt. URL yang tidak diizinkan masih dapat diindeks—hanya sebagai URL tanpa deskripsi—jika ditautkan dari tempat lain. Untuk mencegah halaman masuk indeks, gunakan
noindex; halaman tersebut tidak boleh diblokir di robots.txt agar Google dapat merayapinya dan membaca arahan noindex. - Eksperimen Patrick membuktikannya: memblokir dua halaman berperingkat tinggi tidak menghapusnya dari indeks. Keduanya tetap berperingkat, tetapi kehilangan cuplikan unggulan dan deskripsi. “Jangan blokir halaman yang ingin Anda indeks. Dampaknya buruk.”
- Gunakan alat yang tepat: robots.txt untuk mengendalikan perayapan;
noindexuntuk mengendalikan pengindeksan; kata sandi atau autentikasi untuk menjaga kerahasiaan (robots.txt dapat dibaca publik). - Kolom yang didukung:
user-agent,allow,disallow, dansitemap. Google tidak mendukungnoindex,nofollow, ataucrawl-delay(dukungan dihentikan 1 September 2019). - Cakupan berlaku untuk satu kombinasi host, protokol, dan port. Setiap subdomain atau protokol memerlukan file tersendiri.
- Pencocokan: aturan dengan jalur paling spesifik (terpanjang) menang; jika sama panjang, aturan yang paling tidak membatasi (Allow) menang. Karakter pengganti
*dan$didukung, dan nilai jalur peka huruf besar-kecil. Grup khusus tidak digabungkan dengan grup*; grup itu berdiri sendiri. - Cara kerjanya: batas ukuran 500 KiB; cache sekitar 24 jam; respons 4xx (kecuali 429) berarti tidak ada pembatasan; respons 5xx atau host yang tak terjangkau menghentikan perayapan sekitar 12 jam, lalu memakai salinan valid terakhir sekitar 30 hari, dan setelah itu kembali tanpa pembatasan jika situs masih bermasalah; pengalihan 3xx diikuti setidaknya lima lompatan lalu diperlakukan sebagai 404.
- Mesin pencari lain: Bing mengikuti
crawl-delay; Google mengabaikannya, dan Yandex berhenti mengikutinya pada Februari 2018 (gunakan pengaturan laju perayapan di Yandex Webmaster). Bagianbingbotmembuat Bing mengabaikan nilai bawaan*. - Perayap AI (GPTBot, OAI-SearchBot, OAI-AdsBot, ChatGPT-User, Google-Extended, CCBot, ClaudeBot, PerplexityBot, dan Bytespider) memakai token terpisah dengan kontrol independen. Memblokir satu token tidak menghentikan token lainnya.
ChatGPT-Userdipicu pengguna, bukan berjalan otomatis, sehingga aturan robots.txt mungkin tidak berlaku; kepatuhan perayap pada umumnya bersifat sukarela. - Jangan blokir CSS atau JavaScript penting untuk rendering, jangan gunakan file publik ini untuk menyembunyikan data sensitif, dan waspadai
Disallow: /yang tersisip tanpa sengaja.
Official dokumentasi
Primary-sumber dokumentasi dari mesin pencari dan standar sendiri.
- Introduction untuk robots.txt — beginner doc, including perayapan-vs-indeks caveat. mulai di sini.
- buat dan submit sebuah robots.txt file / bagaimana Google menafsirkan robots.txt specification — lengkap reference: didukung fields, grouping, matching, wildcards, size limit, caching, dan status-kode penanganan.
- Block penelusuran pengindeksan dengan noindex — mengapa sebuah
noindexhalaman harus bukan menjadi diblokir di robots.txt. - sebuah note pada unsupported aturan di robots.txt (July 2019) — announcement itu
noindex,nofollow, dancrawl-delaymendukung ends Sept 1, 2019.
** standar**
- RFC 9309 — Robots Exclusion Protocol — IETF standar (Koster, Illyes, Zeller, Sassman; Sept 2022), including
/robots.txtlocation requirement, longest-match aturan, 500 KiB parsing limit, dan security-considerations note.
Bing / Microsoft
- Bingbot guidance — saat ini Bing Webmaster panduan documents
crawl-delaynilai dari 1–20 detik. - cara buat robots.txt File (Bing Webmaster alat help) — Bing’s robots.txt panduan dan tester.
Quotes dari sumber
pada—record statements dari Google, Bing, dan RFC. setiap tautan adalah sebuah deep tautan itu berpindah untuk quoted passage pada sumber halaman.
Google — crawling, bukan pengindeksan
- “This is used mainly to avoid overloading your site with requests; it is not a mechanism for keeping a web page out of Google. To keep a web page out of Google, block indexing with
noindexor password-protect the page.” (terjemahan) “ini adalah digunakan mainly untuk hindari overloading Anda situs dengan permintaan; ini adalah bukan sebuah mekanisme untuk keeping sebuah halaman web out dari Google. untuk pertahankan sebuah halaman web out dari Google, block pengindeksan dengan meta refresh atau password-protect halaman.” — Google penelusuran Central dokumentasi. berpindah untuk quote - “While Google won’t crawl or index the content blocked by a robots.txt file, we might still find and index a disallowed URL if it is linked from other places on the web.” (terjemahan) “While Google won’t perayapan atau indeks konten diblokir oleh sebuah robots.txt file, kami mungkin masih temukan dan indeks sebuah disallowed URL jika ini adalah ditautkan dari lainnya places pada web.” berpindah untuk quote
- “If your web page is blocked with a robots.txt file, its URL can still appear in search results, but the search result won’t have a description.” (terjemahan) “jika Anda halaman web adalah diblokir dengan sebuah robots.txt file, -nya URL dapat masih appear di hasil pencarian, tetapi penelusuran hasil won’t memiliki sebuah deskripsi.” berpindah untuk quote
Google — mengapa sebuah noindex halaman harus stay dapat di-perayapan
- “For the
noindexrule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler. If the page is blocked by a robots.txt file or the crawler can’t access the page, the crawler will never see thenoindexrule, and the page can still appear in search results, for example if other pages link to it.” (terjemahan) “untuk meta refresh aturan untuk menjadi efektif, halaman atau resource harus bukan menjadi diblokir oleh sebuah robots.txt file, dan ini memiliki untuk menjadi otherwise accessible untuk perayap. jika halaman adalah diblokir oleh sebuah robots.txt file atau perayap dapat’t access halaman, perayap akan tidak pernah melihat meta refresh aturan, dan halaman dapat masih appear di hasil pencarian, misalnya jika lainnya halaman tautan untuk ini.” — Google penelusuran Central dokumentasi. berpindah untuk quote
Google — location, scope, dan spec
- “The rules listed in the robots.txt file apply only to the host, protocol, and port number where the robots.txt file is hosted.” (terjemahan) “ aturan listed di robots.txt file apply hanya untuk host, protocol, dan port angka di mana robots.txt file adalah hosted.” berpindah untuk quote
- “Google can’t index the content of pages which are disallowed for crawling, but it may still index the URL and show it in search results without a snippet.” (terjemahan) “Google dapat’t indeks konten dari halaman yang mana adalah disallowed untuk crawling, tetapi ini dapat masih indeks URL dan tampilkan ini di hasil pencarian tanpa sebuah snippet.” berpindah untuk quote
- “When matching robots.txt rules to URLs, crawlers use the most specific rule based on the length of the rule path. In case of conflicting rules, including those with wildcards, Google uses the least restrictive rule.” (terjemahan) “ketika matching robots.txt aturan untuk URLs, perayap gunakan paling spesifik aturan berdasarkan length dari aturan path. di case dari conflicting aturan, including itu dengan wildcards, Google menggunakan paling sedikit restrictive aturan.” berpindah untuk quote
- “
*designates 0 or more instances of any valid character.$designates the end of the URL.” (terjemahan) “meta refresh designates 0 atau lebih instances dari apa pun valid character. meta refresh designates end dari URL.” berpindah untuk quote - “The field name (
disallow) is case-insensitive, but its value is case-sensitive.” (terjemahan) “ field name (meta refresh) adalah case-insensitive, tetapi -nya nilai adalah case-sensitive.” berpindah untuk quote
Google — size, caching, dan kode status
- “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” (terjemahan) “Google enforces sebuah robots.txt file size limit dari 500 kibibytes (KiB). konten yang mana adalah setelah maximum file size adalah ignored.” berpindah untuk quote
- “Google generally caches the contents of robots.txt file for up to 24 hours, but may cache it longer in situations where refreshing the cached version isn’t possible.” (terjemahan) “Google umumnya caches contents dari robots.txt file untuk up untuk 24 hours, tetapi dapat cache ini longer di situations di mana refreshing cached versi isn’t mungkin.” berpindah untuk quote
- “Google’s crawlers treat all 4xx errors, except 429, as if a valid robots.txt file didn’t exist. This means that Google assumes that there are no crawl restrictions.” (terjemahan) “Google’s perayap treat semua 4xx errors, except 429, sebagai jika sebuah valid robots.txt file didn’t exist. ini berarti itu Google assumes itu tidak ada perayapan restrictions.” berpindah untuk quote
- “For the first 12 hours, Google stops crawling the site but keeps trying to fetch the robots.txt file. If Google can’t fetch a new version, for the next 30 days Google will use the last good version, while still trying to fetch a new version.” (terjemahan) “untuk pertama 12 hours, Google stops crawling situs tetapi mempertahankan trying untuk fetch robots.txt file. jika Google dapat’t fetch sebuah baru versi, untuk berikutnya 30 days Google akan gunakan terakhir baik versi, while masih trying untuk fetch sebuah baru versi.” berpindah untuk quote
- “If the errors are still not fixed after 30 days: If the site is generally available to Google, Google will behave as if there is no robots.txt file (but still keep checking for a new version).” (terjemahan) “jika errors adalah masih bukan fixed setelah 30 days: jika situs adalah umumnya available untuk Google, Google akan behave sebagai jika tidak ada robots.txt file (tetapi masih pertahankan memeriksa untuk sebuah baru versi).” berpindah untuk quote
- “User agent specific groups and global groups (
*) are not combined.” (terjemahan) “pengguna agent spesifik groups dan global groups (meta refresh) adalah bukan combined.” berpindah untuk quote
RFC 9309 — standar
- “This document specifies and extends the ‘Robots Exclusion Protocol’ method originally defined by Martijn Koster in 1994 for service owners to control how content served by their services may be accessed, if at all, by automatic clients known as crawlers.” (terjemahan) “ini document specifies dan extends ‘Robots Exclusion Protocol’ metode originally defined oleh Martijn Koster di 1994 untuk service owners untuk control bagaimana konten disajikan oleh mereka services dapat menjadi accessed, jika sama sekali, oleh otomatis clients known sebagai perayap.” — RFC 9309 (Koster, Illyes, Zeller, Sassman). berpindah untuk quote
- “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” (terjemahan) “ aturan harus menjadi accessible di sebuah file named ‘/robots.txt’ (semua lowercase) di top-tingkat path dari service.” berpindah untuk quote
- “The Robots Exclusion Protocol is not a substitute for valid content security measures. Listing paths in the robots.txt file exposes them publicly and thus makes the paths discoverable.” (terjemahan) “ Robots Exclusion Protocol adalah bukan sebuah substitute untuk valid konten security measures. Listing paths di robots.txt file exposes them publicly dan thus membuat paths discoverable.” berpindah untuk quote
Bing — perayapan-penundaan
- Bingbot guidance documents sebuah
crawl-delayrange dari 1–20 detik. ini adalah Bing-spesifik panduan, bukan sebuah extension itu Google processes.
Patrick Stox — blocking experiment (saya sendiri Ahrefs experiment, reviewed oleh Joshua Hardwick)
- “We lost a position here or there and all of the featured snippets for the pages.” (terjemahan) “kami lost sebuah position di sini atau there dan semua dari featured snippets untuk halaman.” berpindah untuk quote
- “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” (terjemahan) “keduanya halaman lost beberapa traffic. tetapi ini didn’t hasil di much perubahan untuk kami traffic estimate seperti I adalah expecting.” berpindah untuk quote
- “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” (terjemahan) “Don’t block halaman Anda ingin terindeks. ini hurts. bukan sebagai buruk sebagai Anda mungkin think ini melakukan—tetapi ini masih hurts.” berpindah untuk quote
Robots.txt — syntax cheat sheet
Directives (Google-didukung)
| arahan | apa ini melakukan | contoh |
|---|---|---|
User-agent: | dimulai sebuah group; names perayap(s) ini applies untuk. | User-agent: Googlebot |
Disallow: | Paths perayap harus bukan permintaan. | Disallow: /cart/ |
Allow: | Carves sebuah exception back out dari sebuah Disallow. | Allow: /cart/help |
Sitemap: | Absolute URL dari sebuah sitemap (group-independent). | Sitemap: https://x.com/sitemap.xml |
Special characters
| Token | Meaning |
|---|---|
* | di sebuah path: 0+ dari apa pun character. sebagai sebuah pengguna-agent: semua perayap. |
$ | Anchors end dari URL. Disallow: /*.pdf$ blocks URLs ending di .pdf. |
# | Comment — everything setelah ini pada baris adalah ignored. |
/ | Path nilai harus mulai dengan /. Disallow: / blocks seluruh situs. |
Matching aturan
- sebagian besar-spesifik (longest path) aturan wins.
- pada sebuah tie, least-restrictive wins —
AllowbeatsDisallow. - Path nilai adalah case-sensitive (
/Folder/≠/folder/); field dan pengguna-agent names adalah case-insensitive. - sebuah perayap obeys persis satu group — paling spesifik pengguna-agent match.
bukan didukung oleh Google (retired Sept 1, 2019): noindex, nofollow,
crawl-delay. Bing masih honors crawl-delay (sebagai sebuah relatif throttle, bukan
literal detik); Yandex stopped honoring ini pada Feb 22, 2018 — atur perayapan rate
di Yandex Webmaster sebagai gantinya.
di bawah hood (Google)
- Size limit: 500 KiB (rest ignored). Caching: ~24h.
- 4xx (except 429) → tidak restrictions. 5xx/unreachable → ~12h perayapan stop, lalu terakhir baik copy ~30 days, lalu tidak restrictions jika masih broken. 3xx → ≥5 hops lalu diperlakukan sebagai 404.
- sebuah spesifik
User-agentgroup adalah tidak pernah merged dengan*group.
Common recipes
# Block a folder for everyone
User-agent: *
Disallow: /admin/
# Block all PDFs
User-agent: *
Disallow: /*.pdf$
# Block AI training crawler (won't stop search bots)
User-agent: GPTBot
Disallow: /
# Point to the sitemap
Sitemap: https://example.com/sitemap.xml Robots.txt audit checklist
- file exists di persis
https://yourdomain.com/robots.txt(root, lowercase) dan mengembalikan sebuah200. - setiap host dan protocol memiliki -nya sendiri file (
www, non-www, subdomains,httpvshttps). - tidak stray
Disallow: /blocking seluruh situs ( classic staging leftover). - Anda adalah bukan blocking apa pun halaman Anda juga ingin untuk
noindex(Google harus perayapan ini untuk melihat noindex). - Anda adalah bukan menggunakan robots.txt untuk deindex halaman — itu’s
noindex’s job. - Render-critical CSS/JS adalah bukan diblokir.
- tidak
noindex,nofollow, ataucrawl-delaylines aimed di Google (unsupported since Sept 1, 2019). - tidak sensitive paths listed — file adalah public dan advertises whatever ini names; gunakan authentication sebagai gantinya.
- Wildcard aturan (
*,$) tested terhadap nyata URLs; remember path nilai adalah case-sensitive. - jika Anda memiliki sebuah
User-agent: bingbot(atau apa pun bot-spesifik) bagian, ini repeats setiap arahan Anda masih ingin enforced — bot-spesifik groups ignore*defaults. -
Sitemap:arahan present dengan sebuah absolute URL. - File adalah di bawah 500 KiB.
- Validated di penelusuran Console robots.txt report; spot-diperiksa apa pun “Indexed, though diblokir oleh robots.txt” (terjemahan) “terindeks, though diblokir oleh robots.txt” URLs untuk confirm mereka’re genuinely junk dan bukan halaman Anda wanted di-perayapan.
mental models
1. perayapan control, bukan indeks control. Robots.txt hanya governs whether sebuah perayap dapat fetch sebuah URL. ini menyatakan nothing tentang whether URL mendapatkan terindeks. Internalize ini dan sebagian besar robots.txt mistakes disappear. Blocking sebuah URL ≠ menghapus ini dari Google.
2. sebagian besar-spesifik aturan wins; least-restrictive breaks ties.
ketika dua aturan touch yang sama URL, satu dengan longer path wins. pada sebuah genuine
tie, Allow beats Disallow. ini single aturan menjelaskan nearly setiap “mengapa adalah ini
URL crawlable / diblokir?” (terjemahan) “mengapa adalah ini
URL dapat di-perayapan / diblokir?” head-scratcher.
3. Block vs noindex — sebuah decision tree.
- ingin ini out dari indeks? →
noindex, dan pastikan ini adalah bukan diblokir di robots.txt (karena itu Google dapat perayapan ini untuk melihat noindex). - ingin untuk stop wasting perayapan pada ini tetapi don’t care jika bare URL menampilkan? →
Disallowdi robots.txt. - ingin ini genuinely private? → authentication. Robots.txt adalah public dan tidak pernah hides apa pun.
tidak pernah block dan noindex yang sama URL — mereka cancel out, dan halaman dapat linger di indeks.
4. file’s availability adalah production-critical.
HTTP kode respons pada /robots.txt memiliki situs-wide consequences: sebuah 4xx berarti “tidak
restrictions,” (terjemahan) “tidak
restrictions,” tetapi sebuah 5xx dapat stop Google crawling Anda seluruh situs untuk ~12 hours.
Treat /robots.txt seperti apa pun lainnya critical endpoint.
Fetch dan audit robots.txt di seluruh hosts
Robots.txt adalah scoped per host+protocol+port, karena itu ini adalah easy untuk forget satu variant exists. ini pulls setiap variant dari sebuah domain dan flags apa pun itu error atau 404.
macOS / Linux
for url in "https://example.com/robots.txt" "https://www.example.com/robots.txt" "http://example.com/robots.txt"; do
code=$(curl -s -o /dev/null -w "%{http_code}" "$url")
echo "$code $url"
doneWindows (PowerShell)
$urls = "https://example.com/robots.txt","https://www.example.com/robots.txt","http://example.com/robots.txt"
foreach ($u in $urls) {
$r = Invoke-WebRequest -Uri $u -UseBasicParsing -SkipHttpErrorCheck
Write-Host "$($r.StatusCode) $u"
}sebuah 200 pada setiap baris adalah apa Anda ingin. sebuah 4xx berarti Google treats itu
host+protocol sebagai unrestricted (baik jika intentional); sebuah 5xx adalah dangerous
satu — ini dapat stall crawling untuk itu host.
Regex untuk pull setiap Disallow/Allow path
berguna untuk diffing sebuah robots.txt sebelum/setelah sebuah edit, atau scripting sebuah periksa terhadap sebuah list dari URLs Anda care tentang.
import re
robots_txt = open("robots.txt").read()
# Captures the directive (Disallow/Allow) and its path value
pattern = re.compile(r'^(Disallow|Allow):\s*(\S*)', re.IGNORECASE | re.MULTILINE)
for directive, path in pattern.findall(robots_txt):
print(f"{directive}: {path or '(empty — matches nothing)'}")(Disallow|Allow)— captures yang mana arahan fired.\s*(\S*)— captures path nilai, allowing untuk sebuah emptyDisallow:(yang mana Google treats sebagai “disallow nothing” (terjemahan) “disallow nothing”).re.IGNORECASE— field names adalah case-insensitive bahkan though path nilai aren’t (don’t lowercase paths themselves ketika Anda extend ini).
Chrome DevTools Console snippet
Paste ke Console panel (F12 → Console) pada apa pun halaman untuk fetch dan print itu host’s robots.txt tanpa leaving tab:
fetch(new URL('/robots.txt', location.origin))
.then(r => r.text())
.then(t => console.log(t))
.catch(e => console.error('No robots.txt or fetch blocked:', e));Bookmarklet: berpindah untuk saat ini situs’s robots.txt
Save sebagai sebuah bookmark dengan ini sebagai URL (drag ini untuk Anda bookmarks bar, atau tambahkan ini manually dan paste kode ke “URL” (terjemahan) “URL” field), lalu click ini pada apa pun halaman:
javascript:(function(){var u=new URL('/robots.txt',location.origin).href;location.href=u;})(); alat untuk testing dan validating robots.txt
- Google penelusuran Console — robots.txt report (pengaturan) — Google’s saat ini surface untuk seeing robots.txt Google fetched, -nya status, dan apa pun parsing issues. ( lama standalone robots.txt tester adalah retired; testing now lives di ini report.)
- GSC pemeriksaan URL — confirm whether sebuah spesifik URL adalah diblokir dari crawling dan bagaimana Google currently sees ini.
- GSC “Indexed, though blocked by robots.txt” (terjemahan) “Terindeks, tetapi diblokir robots.txt” (halaman report) — surfaces URLs Google terindeks despite block, karena itu Anda dapat decide yang mana adalah nyata masalah.
- Bing Webmaster alat — robots.txt tester / panduan — Bing’s equivalent untuk validating Anda file terhadap bingbot.
- Ahrefs situs audit / Screaming Frog SEO Spider — perayapan Anda sendiri situs untuk melihat yang mana URLs adalah diblokir, surface accidentally-disallowed halaman, dan uji itu Anda aturan match URLs Anda intend.
- apa pun browser — simplest periksa dari semua: muat
yourdomain.com/robots.txtdan dibaca ini. Remember everyone lain dapat melakukan yang sama.
Incident: Anda shipped Disallow: / untuk production
ini adalah classic staging leftover — sebuah robots.txt dibangun untuk block sebuah staging
environment mendapatkan deployed untuk live situs, dan User-agent: * / Disallow: /
blocks seluruh hal. di sini’s diurutkan recovery.
langkah 1 — confirm blast radius.
Fetch https://yourdomain.com/robots.txt right now (browser atau curl -I). jika
Anda melihat sebuah bare Disallow: / di bawah User-agent: * dengan tidak narrower Allow:
carving apa pun back out, setiap perayap itu respects robots.txt adalah currently
diblokir dari Anda entire situs. Continue untuk langkah 2.
langkah 2 — fix file dan confirm deploy.
ganti ini dengan intended aturan (atau sebuah minimal User-agent: * / Allow: / jika
Anda’re bukan sure apa belongs) dan deploy. Re-fetch live URL — don’t trust
Anda deploy dashboard, trust sebenarnya respons. jika ini masih menampilkan lama
Disallow: /, Anda memiliki sebuah caching/CDN masalah, bukan sebuah kode masalah — purge
cache untuk itu satu path sebelum moving pada.
langkah 3 — periksa bagaimana panjang situs adalah diblokir. Google caches robots.txt untuk up untuk ~24 hours, karena itu sebuah fix itu hanya went live won’t menjadi picked up instantly. Open penelusuran Console’s robots.txt report untuk melihat ketika Google terakhir fetched file dan whether ini adalah sudah seen corrected versi. jika ini hasn’t yet, permintaan ini menjadi re-fetched isn’t sebuah manual pilihan — Anda menunggu, atau gunakan pemeriksaan URL pada Anda sebagian besar penting halaman dan gunakan “Request pengindeksan” (terjemahan) “permintaan pengindeksan” setelah file adalah confirmed fixed.
langkah 4 — periksa untuk sebenarnya damage.
- jika block lasted hours, expect little untuk tidak terlihat impact — Google doesn’t drop halaman dari indeks hanya karena satu perayapan adalah diblokir.
- jika ini lasted days untuk weeks, periksa penelusuran Console’s halaman report untuk sebuah berpindah di “Blocked by robots.txt” (terjemahan) “Diblokir oleh robots.txt” dan periksa apakah previously-terindeks halaman moved untuk itu status. saya sendiri experiment blocking dua tinggi-peringkat halaman ditemukan mereka stayed terindeks dan mostly dipertahankan peringkat, tetapi lost freshness sinyal dan featured snippets — damage compounds dengan time diblokir, bukan instantly.
- jika Anda melihat rankings/impressions sebenarnya falling di penelusuran Console’s performa report untuk diblokir window, itu’s Anda confirmation incident memiliki nyata impact, bukan hanya sebuah scare.
langkah 5 — verify fix took, don’t hanya assume ini. Run spesifik paths Anda care tentang melalui Robots.txt Tester terhadap corrected file. jika apa pun come back diblokir, Anda’re bukan done — membuka back untuk langkah 2.
Concrete mistakes untuk hindari
Blocking sebuah halaman di robots.txt itu Anda juga ingin noindexed.
mengapa ini adalah salah: sebuah noindex hanya berfungsi jika perayap dapat dibaca halaman untuk melihat
ini. Block halaman dan Google tidak pernah melakukan perayapan ini, tidak pernah sees noindex, dan
halaman dapat linger di indeks jika apa pun tautan untuk ini. melakukan sebagai gantinya: leave
halaman dapat di-perayapan dan put noindex pada halaman sendiri (meta tag atau
X-Robots-tag header).
menggunakan robots.txt sebagai Anda deindexing alat.
mengapa ini adalah salah: robots.txt controls crawling, bukan pengindeksan. Google’s sendiri dokumentasi
adalah tegas itu ini “adalah bukan a mekanisme for keeping a web halaman out of
Google.” (terjemahan) “adalah bukan sebuah mekanisme untuk keeping sebuah halaman web out dari
Google.” sebuah disallowed URL dapat masih tampilkan up di hasil, hanya tanpa sebuah
deskripsi. melakukan sebagai gantinya: gunakan noindex (halaman bukan diblokir) untuk sebenarnya hapus sebuah
halaman dari indeks.
Blocking render-critical CSS atau JavaScript.
mengapa ini adalah salah: Google renders Anda halaman dengan sebuah nyata browser untuk melihat them
cara sebuah pengguna melakukan. Block assets itu bangun layout atau inject konten dan
Google dapat melihat sebuah broken atau empty halaman. melakukan sebagai gantinya: leave /assets/,
/static/, atau wherever Anda CSS/JS lives dapat di-perayapan — Google’s sendiri sample
robots.txt explicitly re-allows ini.
Listing sensitive paths di robots.txt untuk “hide” (terjemahan) “hide” them.
mengapa ini adalah salah: file adalah public — anyone dapat dibaca ini — karena itu Disallow: /admin-panel/ hanya memerintahkan world itu folder exists. RFC 9309 adalah blunt itu
protocol “adalah bukan a substitute for valid konten security measures.” (terjemahan) “adalah bukan sebuah substitute untuk valid konten security measures.” melakukan
sebagai gantinya: gunakan authentication atau sebuah password wall untuk apa pun itu sebenarnya
perlu untuk stay private.
Trailing-slash confusion di sebuah Disallow path.
mengapa ini adalah salah: Disallow: /folder (tidak trailing slash) blocks /folder,
/folder/, /folder-name/, dan /folder.html — apa pun itu dimulai dengan
itu string, karena matching adalah prefix-based, bukan directory-based. melakukan
sebagai gantinya: tambahkan trailing slash (Disallow: /folder/) ketika Anda hanya berarti
directory, dan uji persis prefix perilaku terhadap Anda nyata URLs sebelum
shipping.
Assuming aturan adalah case-insensitive.
mengapa ini adalah salah: field names adalah case-insensitive tetapi path nilai adalah
case-sensitive — Disallow: /Folder/ melakukan nothing untuk /folder/. melakukan sebagai gantinya:
match persis case Anda URLs sebenarnya gunakan, dan don’t assume sebuah aturan “seharusnya” (terjemahan) “seharusnya”
berfungsi karena ini dibaca dengan benar untuk sebuah human.
umum issues
”I diblokir ini halaman, tetapi ini’s still showing up in Google” (terjemahan) “I diblokir ini halaman, tetapi ini adalah masih showing up di Google”
- Symptom: URL masih appears di hasil pencarian (biasanya dengan tidak deskripsi) bahkan though ini adalah disallowed di robots.txt.
- mungkin cause: URL adalah ditautkan dari di tempat lain pada web (atau Anda sendiri situs), karena itu Google terindeks bare URL tanpa ever crawling -nya konten. Blocking crawling adalah tidak pernah going untuk hapus ini — itu’s bukan apa robots.txt melakukan.
- Fix: jika Anda ingin ini hilang, tambahkan
noindexuntuk halaman dan pastikan ini adalah bukan diblokir di robots.txt (temporarily allow crawling jika ini currently adalah). Confirm fix dengan pemeriksaan URL di penelusuran Console setelah Google memiliki re-di-perayapan ini.
”penelusuran Console menyatakan ‘Indexed, though diblokir oleh robots.txt’” (terjemahan) “penelusuran Console menyatakan ‘terindeks, though diblokir oleh robots.txt’”
- Symptom: halaman report di GSC flags ini persis status untuk satu atau lebih URLs.
- mungkin cause: biasanya harmless — ini adalah umum untuk utility URLs (cart, filtered/faceted variants, session parameters) itu mendapatkan ditautkan tempat lain dan terindeks sebagai sebuah bare URL despite block.
- Fix: periksa apakah ditandai URLs adalah halaman Anda sebenarnya wanted terindeks. jika mereka’re junk parameter URLs, ini status adalah expected dan bukan layak chasing. jika sebuah halaman Anda care tentang menampilkan up di sini, itu’s “diblokir + noindex” (terjemahan) “diblokir + noindex” trap — membuka dapat di-perayapan + noindex sebagai gantinya.
”I edited robots.txt, tetapi the change doesn’t seem to menjadi live” (terjemahan) “I edited robots.txt, tetapi perubahan doesn’t seem untuk menjadi live”
- Symptom: Anda deployed sebuah fix, tetapi sebuah alat atau Google masih seems untuk menjadi reading lama aturan.
- mungkin cause: Google caches robots.txt untuk up untuk ~24 hours, karena itu sebuah perubahan isn’t picked up instantly. Separately, sebuah CDN atau reverse proxy di front dari Anda situs dapat menjadi serving sebuah stale cached copy dari file sendiri.
- Fix: pertama confirm live file sebenarnya changed — fetch
yourdomain.com/robots.txtdirectly (bukan melalui sebuah cache) atau run ini melalui Robots.txt Tester. jika live file adalah benar, penundaan adalah Google’s cache dan hanya perlu time; periksa robots.txt report di penelusuran Console untuk melihat ketika ini terakhir fetched.
”The tester menyatakan a path adalah allowed, tetapi Google still isn’t crawling ini” (terjemahan) “ tester menyatakan sebuah path adalah allowed, tetapi Google masih isn’t crawling ini”
- Symptom: robots.txt clearly permits URL, tetapi server logs atau penelusuran Console tampilkan tidak recent perayapan activity untuk ini.
- mungkin cause: robots.txt allowing sebuah URL isn’t sebuah perayapan guarantee — ini adalah necessary tetapi bukan memadai. halaman mungkin menjadi orphaned (nothing tautan untuk ini), missing dari sitemap, atau simply rendah priority di Google’s perayapan scheduling.
- Fix: confirm halaman adalah discoverable (tautan internal, sitemap inclusion) alih-alih re-memeriksa robots.txt again — file isn’t bottleneck di sini.
”saya Disallow aturan doesn’t seem to match the URLs I expect” (terjemahan) “saya Disallow aturan doesn’t seem untuk match URLs I expect”
- Symptom: sebuah aturan itu looks benar isn’t blocking (atau adalah blocking too much dari) URLs Anda intended.
- mungkin cause: case sensitivity (
/Folder/≠/folder/) atau prefix matching catching lebih daripada expected (Disallow: /folderjuga sesuai/folder-name/). - Fix: re-periksa persis case dari Anda live URLs, dan tambahkan sebuah trailing slash jika Anda dimaksudkan hanya directory. uji spesifik paths di Robots.txt Tester sebelum trusting aturan.
”Bing stopped following saya default aturan setelah I ditambahkan a bingbot section” (terjemahan) “Bing stopped following saya default aturan setelah I ditambahkan sebuah bingbot bagian”
- Symptom: aturan di bawah
User-agent: *itu digunakan untuk apply untuk Bing seem untuk menjadi ignored setelah Anda ditambahkan sebuahUser-agent: bingbotgroup. - mungkin cause: Bing (seperti Google) applies hanya paling spesifik matching
group untuk sebuah perayap. sebuah
bingbot-spesifik group membuat Bing ignore*defaults entirely (perayapan-penundaan excepted). - Fix: repeat setiap arahan Anda masih ingin enforced di dalam
bingbotgroup — ini memiliki untuk menjadi self-berisi.
Validation tests
Run ini setelah Anda edit robots.txt, sebelum Anda pertimbangkan perubahan done.
uji 1: file sendiri adalah live dan benar
- uji untuk run:
curl -I https://yourdomain.com/robots.txt(atau open URL di sebuah browser), dan separately run ini melalui Robots.txt Tester. - Expected hasil:
HTTP/1.1 200dan tester menampilkan persis aturan Anda intended untuk ship. - kegagalan interpretation: sebuah non-200 status berarti file isn’t reachable sebagai expected (periksa deploy/routing); benar-looking aturan itu don’t match apa Anda edited biasanya berarti sebuah cache (CDN atau Google’s ~24h cache) adalah serving sebuah stale copy.
- Monitoring window: immediate untuk kode status dan konten; allow up untuk ~24 hours sebelum assuming Google memiliki picked up perubahan.
- Rollback pemicu: file 404s atau 5xxs unexpectedly, atau menampilkan aturan Anda didn’t intend untuk ship.
uji 2: spesifik path Anda changed behaves sebagai intended
- uji untuk run: paste persis URL Anda dimaksudkan untuk allow atau block ke Robots.txt Tester dan periksa verdict untuk Googlebot (dan Bingbot jika relevant).
- Expected hasil: alat reports “allowed” (terjemahan) “allowed” untuk sebuah path Anda dimaksudkan untuk open up, atau “diblokir” (terjemahan) “diblokir” untuk sebuah path Anda dimaksudkan untuk close off.
- kegagalan interpretation: opposite verdict biasanya berarti sebuah
longer/lebih-spesifik aturan di tempat lain di file adalah overriding satu Anda
hanya ditambahkan — periksa untuk sebuah competing
Allow/Disallowpada sebuah shorter atau overlapping path. - Monitoring window: immediate — ini adalah sebuah aturan-matching periksa, bukan sebuah live-perayapan periksa.
- Rollback pemicu: tested path mengembalikan salah verdict setelah Anda’ve confirmed live file sesuai apa Anda edited.
uji 3: sebuah halaman Anda unblocked sebenarnya mendapatkan di-perayapan
- uji untuk run: penelusuran Console pemeriksaan URL pada spesifik URL, looking di “perayapan allowed?” (terjemahan) “perayapan allowed?” dan terakhir perayapan date.
- Expected hasil: “perayapan allowed: ya,” (terjemahan) “perayapan allowed: ya,” dan sebuah perayapan date setelah Anda robots.txt perubahan.
- kegagalan interpretation: “perayapan allowed: tidak” (terjemahan) “perayapan allowed: tidak” setelah Anda believe Anda unblocked ini berarti Google adalah masih reading cached aturan, atau lainnya aturan di file masih sesuai path. tidak baru perayapan date yet doesn’t necessarily berarti kegagalan — Google dapat bukan memiliki gotten untuk ini yet.
- Monitoring window: 2–4 weeks untuk Google untuk sebenarnya re-perayapan dan reflect perubahan, longer pada besar atau rendah-priority situs.
- Rollback pemicu: “perayapan allowed” (terjemahan) “perayapan allowed” flips back untuk “tidak” (terjemahan) “tidak” pada sebuah later periksa dengan tidak robots.txt perubahan pada Anda end — investigate sebuah CDN/cache masalah.
uji 4: Anda didn’t accidentally block sesuatu lain
- uji untuk run: perayapan Anda situs dengan Ahrefs situs audit atau Screaming Frog SEO Spider setelah perubahan dan compare “Blocked by robots.txt” (terjemahan) “Diblokir oleh robots.txt” URL list sebelum vs. setelah.
- Expected hasil: hanya URLs Anda intended untuk newly block atau unblock moved antara lists — nothing lain changed.
- kegagalan interpretation: sebuah unexpected halaman showing up sebagai newly diblokir biasanya berarti sebuah wildcard atau prefix aturan matched lebih broadly daripada intended.
- Monitoring window: immediate — run ini perayapan right setelah deploying.
- Rollback pemicu: apa pun halaman Anda rely pada untuk trafik organik appears newly diblokir.
Ready-untuk-copy prompts
Paste Anda sebenarnya robots.txt konten (dan, untuk kedua prompt, list dari URLs Anda care tentang) setelah setiap prompt.
audit sebuah robots.txt file untuk conflicts dan risky aturan
I'm going to paste a robots.txt file. Read it as a technical SEO would and
flag:
1. Any Disallow rule that conflicts with an Allow rule on the same or an
overlapping path (tell me which one wins under longest-match rules).
2. Any bare "Disallow: /" under a User-agent group — that blocks everything
for that crawler.
3. Any rule that would block commonly render-critical paths (CSS, JS, fonts,
images used for layout).
4. Any use of noindex, nofollow, or crawl-delay under a Google-facing
User-agent — these are not supported by Google.
5. Anything that looks like it's trying to hide a sensitive path (remember
this file is public).
Here is the file:
<paste robots.txt content>periksa apakah spesifik URLs adalah safely dapat di-perayapan dan dapat diindeks
I want the following URLs to be crawlable AND indexable by Google. Given this
robots.txt file, tell me for each URL whether it would be blocked from
crawling, and separately remind me that robots.txt says nothing about
indexing — a URL can be blocked from crawling but still indexed if it's
linked elsewhere, and a URL can be crawlable but still noindexed via a meta
tag or header this file can't show you.
Robots.txt:
<paste robots.txt content>
URLs:
<paste list of URLs> Resources layak Anda time
saya related writing
- Story dari Blocking 2 tinggi-peringkat halaman dengan Robots.txt — saya sendiri experiment: I deliberately diblokir dua tinggi-peringkat Ahrefs halaman dan tracked apa sebenarnya happened untuk rankings dan traffic. proof itu blocking ≠ deindexing.
- Beginner’s panduan untuk SEO teknis — di mana robots.txt fits di perayapan/indeks foundation.
- SEO perusahaan Strategies — managing robots.txt di scale pada besar situs.
saya speaking
- bagaimana penelusuran berfungsi (SlideShare) — saya walkthrough dari perayapan → render → indeks, pipeline robots.txt gates di perayapan langkah. (Standing disclaimer applies: “ini adalah saya understanding of systems… bukan going to menjadi 100% complete atau accurate.” (terjemahan) “ini adalah saya understanding dari sistem… bukan going untuk menjadi 100% complete atau accurate.”)
dari others
- Robots.txt dan SEO: Everything Anda perlu Know — kanonis Ahrefs panduan, oleh Joshua Hardwick (bukan me) — sebuah thorough syntax-dan-recipes reference.
- ketika Unindexing halaman dari Google penelusuran gunakan Noindex, bukan Robots.txt — mesin pencari Roundtable coverage dari John Mueller’s panduan: don’t block dengan robots.txt ketika Anda ingin halaman out dari indeks, gunakan noindex sebagai gantinya.
- Google menjelaskan mengapa URLs diblokir oleh Robots.txt dapat masih menjadi terindeks — mesin pencari Journal coverage dari Mueller’s “tambahkan-to-cart” (terjemahan) “tambahkan-untuk-cart” contoh: diblokir URLs dapat masih menjadi terindeks, dan “Indexed, though blocked by robots.txt” (terjemahan) “Terindeks, tetapi diblokir robots.txt” adalah sering harmless untuk utility halaman.
- Robots.txt Tip dari Bing: sertakan semua Relevant Directives jika Anda memiliki sebuah Bingbot bagian — mesin pencari Land pada bingbot-bagian gotcha: sebuah Bingbot-spesifik group membuat Bing ignore wildcard defaults, karena itu Anda harus repeat setiap arahan Anda masih ingin enforced.
- Overview dari OpenAI perayap (GPTBot, OAI-SearchBot, ChatGPT-pengguna) — OpenAI’s official list dari mereka perayap pengguna-agent tokens, dengan robots.txt contoh untuk blocking training vs. penelusuran vs. pengguna-triggered fetches separately.
- r/TechSEO — community untuk perayapan/indeks dan “Indexed, though blocked by robots.txt” (terjemahan) “Terindeks, tetapi diblokir robots.txt” debugging.
uji yourself: Robots.txt
Five quick pertanyaan pada apa robots.txt controls (dan apa ini melakukan bukan). Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 21 Agu 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 30 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 19 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Who's been ignoring my robots.txt?
This is live data from this site, not an illustration. My robots.txt
disallows /api/trap/, and the only link to it is invisible to
humans — so a compliant crawler will never request it. Every user-agent
below fetched it anyway. (Humans poking at it with curl show
up too; the user-agent usually gives them away.)