Türkçe çeviri: Robots.txt
ne robots.txt aslında yapar — o controls tarama, değil dizine ekleme — plus exact syntax, Google'ın nasıl ele aldığı o altında hood, ve mistakes şu break siteler.
Diller
Bu sayfada 1 kanıt sinyali
- İlgili canlı araçrobots.txt Tester
Robots.txt dır bir plain-text file at root of her ana makine şu söyler crawlers hangi URLs onlar -ebilir ve -ebilir değil istek. bir thing -e al yapğru: o controls tarama, değil dizine ekleme. bir disallowed URL -ebilir hâlâ olmak dizine eklenmiş olmadan bir snippet eğer o's linked -den elsewhere — -e koru bir sayfa out of dizin siz kullan noindex, ve sayfa -meli değil olmak blocked in robots.txt veya Google never sees noindex. Google supports yalnızca kullanıcı-agent, izin ver, disallow, ve sitemap (noindex, nofollow, ve tarama-delay idi dropped Sept 1, 2019). o lives at /robots.txt, dır scoped -e bir ana makine+protokol+port, caps at 500 KiB, caches ~24h, ve bir 4xx anlamına gelir no restrictions -iken bir 5xx -ebilir stall tarama site-wide. yapmayın block render-critical CSS/JS, ve yapmayın rely on o -e hide anything — file dır kamuya birçık.
TL;DR — Robots.txt dır bir text file at root of sizin site şu söyler crawlers hangi URLs onlar’re allowed -e istek. bir thing everyone alır yanlış: o controls tarama, değil dizine ekleme. Blocking bir sayfa yapar değil kaldır o -den Google — bir blocked sayfa -ebilir hâlâ göster up in arama (sadece olmadan bir description). -erseniz iste bir sayfa out of Google, şu’s bir farklı araç (
noindex), ve siz -meli değil block o in robots.txt veya Google never sees instruction.
ne bir robots.txt file dır
ne zaman bir arama motoru ister -e tarama sizin site, ilk thing o görünür bençin dır bir
file at https://yourdomain.com/robots.txt. şu file dır bir liste of instructions
telling crawlers hangi parts of sizin site onlar -ebilir ve -ebilir değil istek. o’s sadece
plain text, ve -ebilirsiniz okuyun herhangi bir site’s robots.txt tarafından typing /robots.txt sonra
domain.
bir minimal bir görünür like bu:
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.xmlşu söyler: -e her crawler (*), yapmayın istek anything altında /admin/, ve tarafından
way, burada’s nerede benim sitemap dır.
bir thing -e understand: blocking ≠ removing
bu tek en çok yaygın mistake in tümü of SEO, bu nedenle ben’ll söyle o loudly: robots.txt stops bir sayfa -den olma tarandı, değil -den olma dizine eklenmiş. 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
şunlar sound like aynı thing. onlar değildir. tarama dır motor fetching ve okuma sizin sayfa. dizine ekleme dır motor deciding -e store o ve göster o in sonuçlar. Robots.txt yalnızca blocks ilk adım.
bu nedenle -erseniz block bir sayfa in robots.txt, Google won’t fetch o — ama eğer diğer sayfalar bağlantı -e şu URL, Google -ebilir hâlâ dizin URL itself ve göster o in arama. o sadece shows up olarak bir bare bağlantı ile no description underneath, çünkü Google idi never allowed -e okuyun sayfa -e yaz bir.
eğer sizin gerçek goal dır “get this page out of Google,” robots.txt dır yanlış araç.
siz iste noindex (bir meta tag on sayfa veya bir HTTP header). ve burada’s
trap: bir noindex yalnızca çalışır eğer Google -ebilir tarama sayfa -e see o. -erseniz
block sayfa in robots.txt ve ekle bir noindex, Google never tarar o, never
sees noindex, ve sayfa -ebilir linger in dizin anyway. seç bir job:
block tarama veya block dizine ekleme, değil her ikisi on aynı URL.
yapğru araç her biri bençin job
- “Don’t waste crawling on this.” →
robots.txtDisallow. - “Keep this out of Google’s index.” →
noindex(ve yapmayın block o). - “Nobody should be able to see this at all.” → password protection / login.
Robots.txt dır kamuya birçık — anyone -ebilir okuyun o — bu nedenle listing
/secret/in o sadece söyler world folder vardır.
bir few kurallar şu trip kişiler up
- bir file per ana makine.
https://example.com,https://www.example.com, vehttps://blog.example.comher ihtiyaç duy onların kendi robots.txt. onlar yapmayın share. - o lives at root. o sahiptir -e olmak at
/robots.txt, tümü lowercase. bir file in bir subfolder yapar nothing. - yapmayın block sizin CSS ve JavaScript. Google gerektirir şunlar files -e see sizin sayfa way bir ziyaretçben yapar. Blocking them -ebilir hurt siz.
iste full syntax reference — wildcards, Allow/Disallow matching kurallar,
Google’ın nasıl ele aldığı bir 404 vs bir server error on sizin robots.txt, tarama-delay, ve nasıl
-e manage AI crawlers — switch -e Advanced tab.
TL;DR — Robots.txt dır bir plain-text file at root of her ana makine (
/robots.txt, lowercase) şu implements Robots Exclusion protokol (RFC 9309). o controls tarama, değil dizine ekleme — bir disallowed URL -ebilir hâlâ olmak dizine eklenmiş olmadan bir snippet eğer linked elsewhere; -e deindex kullannoindexon bir sayfa bu değil blocked. Google supports yalnızcauser-agent,allow,disallow, vesitemap;noindex/nofollow/crawl-delayidi dropped Sept 1, 2019. Scope dır bir ana makine+protokol+port. Matching kullanır en çok-specific (longest) kural, least-restrictive on ties;*ve$dır wildcards; paths dır durum-sensitive. Google caps file at 500 KiB, caches ~24h, treats 4xx (except 429) olarak no-restrictions, ve on bir 5xx stalls tarama bençin ~12h o hâlde falls back -e son good kopya bençin ~30 days. yapmayın block render-critical CSS/JS, ve yapmayın ele al o olarak access control — file dır kamuya birçık.
ne o dır ve nerede o lives
Robots.txt implements Robots Exclusion protokol, oluşturuldu tarafından Martijn Koster in 1994 ve finally standardized in 2022 olarak RFC 9309 — co-authored tarafından Google’s Gary Illyes, Henner Zeller, Lizzi Sassman, ve Koster himself. standard’s kendi wording: “bu belge specifies ve extends ‘Robots Exclusion protokol’ yöntem originally defined tarafından Martijn Koster in 1994 bençin service owners -e control nasıl bençerik sunulan tarafından onların services -ebilir olmak accessed, eğer at tümü, tarafından automatic clients known olarak crawlers.”
bir few facts şu catch kişiler out:
- o -meli olmak at root, lowercase. RFC 9309 dır explicit: ” kurallar -meli olmak accessible in bir file named ‘/robots.txt’ (tümü lowercase) in top-level path of service.” Google adds şu URL itself dır durum-sensitive, like herhangi bir URL.
- Scope dır bir ana makine + protokol + port. Google: ” kurallar listed in
robots.txt file uygula yalnızca -e ana makine, protokol, ve port number nerede
robots.txt file dır hosted.” bu nedenle
https://example.com,https://www.example.com,https://blog.example.com, vehttp://example.comher ihtiyaç duy onların kendi file. Subdomains ve protocols yapmayın share bir. - Supported protocols bençin Google dır HTTP, HTTPS, ve FTP.
misconception şu defines bu topic: tarama vs dizine ekleme
-erseniz take bir thing -den bu sayfa, take bu: robots.txt controls tarama, değil dizine ekleme. Blocking bir URL değildir aynı olarak removing o -den 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
Google’ın kendi intro doc söyler o plainly: robots.txt “değildir bir mechanism bençin tutma
bir web sayfası out of Google. -e koru bir web sayfası out of Google, block dizine ekleme ile
noindex veya password-protect sayfa.” ve on ne aslında olur -e bir blocked
URL: “-iken Google won’t tarama veya dizin bençerik blocked tarafından bir robots.txt file,
biz -ebilir hâlâ bul ve dizin bir disallowed URL eğer o dır linked -den diğer places on
web.” The result is the familiar snippet-less listing: “onun URL -ebilir hâlâ
görün in arama sonuçları, ama arama sonuç won’t sahip bir description.”
spec restates aynı nuance bençin disallow kural itself: “Google -ebilir’t
dizin bençerik of sayfalar hangi dır disallowed bençin tarama, ama o -ebilir hâlâ
dizin URL ve göster o in arama sonuçları olmadan bir snippet.”
neden siz -meli değil block bir sayfa siz iste -e noindex
bu trap şu quietly breaks deindexing efforts. bir noindex yalnızca çalışır eğer
Google -ebilir tarama sayfa -e okuyun o. Google’s block-dizine ekleme doc spells out
dependency: “bençin noindex kural -e olmak effective, sayfa veya kaynak -meli değil
olmak blocked tarafından bir robots.txt file, ve o sahiptir -e olmak otherwise accessible -e
crawler. eğer sayfa dır blocked tarafından bir robots.txt file veya crawler -ebilir’t access
sayfa, crawler -ecek never see noindex kural, ve sayfa -ebilir hâlâ
görün in arama sonuçları, örneğin eğer diğer sayfalar bağlantı -e o.” 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
bu nedenle eğer sizin goal dır -e al bir sayfa out of dizin, John Mueller’s rehberlik dır cleanest way -e remember o: -dığınızda iste -e unindex sayfalar, yapmalısınız değil block Google ile robots.txt, ama rather kullan noindex.
lived proof: ben blocked two of bizim kendi high-sıralama sayfalar
ben yapmayın sahip -e argue bu -den theory. In benim experiment blocking two high-sıralama Ahrefs sayfalar, ben deliberately blocked them in robots.txt ve tracked ne happened. sayfalar stayed dizine eklenmiş ve kept sıralama — onlar didn’t vanish. ne biz lost idi freshness Google alır -den re-tarama: “biz lost bir position burada veya orada ve tümü of featured snippets bençin sayfalar.” trafik dropped, ama -den az ben beklenen: “her ikisi sayfalar lost bazı trafik. ama o didn’t sonuç in much change -e bizim trafik estimate like ben idi expecting.”
benim takeaway -den data: “Accidentally blocking sayfalar (şu Google zaten ranks) -den olma tarandı kullanarak robots.txt probably değildir going -e sahip much impact on sizin sıralamalar, ve onlar -ecek muhtemel hâlâ göster in arama sonuçları.” ve blunt sürüm: “yapmayın block sayfalar siz iste dizine eklenmiş. o hurts. değil olarak bad olarak siz -ebilir think o yapar—ama o hâlâ hurts.”
flip side dır reassurance: ne zaman arama Console flags “dizine eklenmiş, gerçben blocked tarafından robots.txt” bençin bir utility URL — cart, filter, parameter junk — o’s genellikle bir non-sorun. olarak Mueller put o hakkında ekle—e-cart URLs, blocking them dır fine, ve hatta eğer onlar al “indexed,” o’s unlikely onlar’ll olmak gösterilen in arama unless someone runs bir çok specific sorgu bençin şunlar URLs, hangi gerçek kullanıcılar yapmayın yap. Distinguish scary-sounding warning -den bir gerçek sorun: o yalnızca önem taşır eğer blocked URL dır bir sayfa siz aslında wanted tarandı ve dizine eklenmiş.
syntax ( reference)
bir robots.txt dır bir ayarla of gruplar. her grup starts ile bir veya daha
User-agent lines naming hangi crawler(s) o uygulanır -e, izlenen tarafından kurallar bençin
them.
User-agent: *
Disallow: /cart/
Disallow: /search
Allow: /search/help
User-agent: Googlebot
Disallow: /no-google/
Sitemap: https://example.com/sitemap.xmlkullanıcı-agent ve gruplar. bir crawler obeys tam olarak bir grup — bir ile en çok specific kullanıcı-agent şu matches o — ve ignores rest. Google: “Google’s crawlers determine correct grup of kurallar tarafından bulma in robots.txt file grup ile en çok specific kullanıcı agent şu matches crawler’s kullanıcı agent. diğer gruplar dır ignored.” And: “yalnızca bir grup dır valid bençin bir particular crawler.” (Bing behaves aynı way — daha on şu below.)
şu ayrıca anlamına gelir bir specific grup yapmaz al topped up ile wildcard grup’s
kurallar — o’s kullanılan kendi başına, değil merged ile User-agent: *. Google’s spec dır
explicit şu “kullanıcı agent specific gruplar ve global gruplar (*) değildir
combined.” bu nedenle -erseniz yaz bir User-agent: googlebot-news grup, o sahiptir -e olmak
self-contained: anything siz hâlâ iste o -e obey -den * grup sahiptir -e olmak
repeated bençinde o, veya Googlebot-News basitçe won’t see şunlar kurallar at tümü.
Disallow ve izin ver. Disallow listeler paths bir crawler -meli değil istek;
Allow carves exceptions back out. disallow kural “specifies paths şu -meli
değil olmak accessed tarafından crawlers identified tarafından kullanıcı-agent line disallow kural
dır grouped ile.” The allow rule “specifies paths şu -ebilir olmak accessed tarafından
designated crawlers. ne zaman no path dır specified, kural dır ignored.”
** matching kural (en çok guides al bu yanlış).** ne zaman two kurallar conflict,
en çok specific bir wins, ve “most specific” anlamına gelir longest path: “ne zaman
matching robots.txt kurallar -e URLs, crawlers kullan en çok specific kural based on
length of kural path. In durum of conflicting kurallar, dahil şunlar ile
wildcards, Google kullanır least restrictive kural.” bu nedenle on bir genuine tie,
least restrictive kural wins — Allow beats Disallow. RFC 9309 frames o olarak
“Longest Match”: ” following örnek shows şu in durum of two kurallar,
longest bir dır kullanılan bençin matching.” 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
Worked örnek:
User-agent: *
Allow: /folder/page
Disallow: /folder/URL /folder/page matches her ikisi kurallar. Allow: /folder/page (12 chars) dır
longer -den Disallow: /folder/ (8 chars), bu nedenle longer, daha specific izin ver wins
ve sayfa dır crawlable.
Wildcards * ve $. Google: “* designates 0 veya daha instances of herhangi bir
valid character. $ designates end of URL.” bu nedenle Disallow: /*.pdf$ blocks
her URL ending in .pdf, ve Disallow: /*? blocks her URL containing bir sorgu
string. Matching dır prefix-based: Disallow: /fish matches /fish, /fish.html,
ve /fish/salmon.html, ama değil /Fish (durum-sensitive) veya /catfish (o’s bir
prefix, değil bir substring).
durum sensitivity ( subtle bir). Field ve kullanıcı-agent names dır
durum-insensitive; path values dır durum-sensitive. Google: “her ikisi
user-agent field name ve onun değer dır durum-insensitive,” but ” field name
(disallow) dır durum-insensitive, ama onun değer dır durum-sensitive,” and ” path
değer -meli başla ile / -e designate root ve değer dır durum-sensitive.”
bu nedenle Disallow: /Folder/ yapmaz block /folder/.
Sitemap. Sitemap: directive takes bir full absolute URL ve dır independent
of gruplar — o -ebilir sit anywhere in file.
Comments. Anything sonra # dır ignored: “-e bençer comments, precede sizin
comment ile # character.”
noindex, nofollow, ve tarama-delay değildir robots.txt directives
bu bir persistent myth. olarak of September 1, 2019, Google retired support bençin
unsupported, undocumented kurallar — dahil noindex, nofollow, ve
crawl-delay. Google’s announcement focused on kurallar unsupported tarafından internet
draft, such olarak tarama-delay, nofollow, ve noindex, noting onlar idi never
documented tarafından Google, ve said Google idi retiring tümü code şu handles
unsupported ve unpublished kurallar (such olarak noindex) on şu date. supported
field liste dır kısa, ve spec çbirğrılar out exclusion yapğrudan: Google supports
user-agent, allow, disallow, ve sitemap, ve “diğer fields such olarak
crawl-delay değildir supported.”
-erseniz relied on noindex in robots.txt, alternatives dır bir noindex meta tag
veya X-Robots-Tag header, 404/410 status codes, password protection, bir Disallow,
veya arama Console kaldırma araç.
Google’ın nasıl ele aldığı robots.txt altında hood
- Size limit: 500 KiB. “Google enforces bir robots.txt file size limit of 500 kibibytes (KiB). bençerik bu da sonra maximum file size dır ignored.” RFC 9309 aligns: “The parsing limit MUST be at least 500 kibibytes [KiB].”
- Caching: ~24 hours. “Google generally caches contents of robots.txt file bençin up -e 24 hours, ama -ebilir cache o longer in situations nerede refreshing cached sürüm değildir olası.” bu nedenle bir change değildir necessarily seçilen up instantly. 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
- Status codes önem taşır site-wide. bu part en çok guides skip:
- 4xx (except 429) → no restrictions. “Google’s crawlers ele al tümü 4xx
errors, except 429, olarak eğer bir valid robots.txt file didn’t var ol. bu anlamına gelir şu
Google assumes şu vardır no tarama restrictions.” bir 404 on
/robots.txtanlamına gelir “crawl everything.” (yapmayın kullan 401/403 -e throttle tarama.) - 5xx / unreachable → dangerous. “bençin ilk 12 hours, Google stops
tarama site ama keeps trying -e fetch robots.txt file. eğer Google -ebilir’t
fetch bir yeni sürüm, bençin sonraki 30 days Google -ecek kullan son good sürüm,
-iken hâlâ trying -e fetch bir yeni sürüm.” bu nedenle bir server error on
/robots.txt-ebilir effectively disallow sizin whole site bençin ilk ~12 hours, o hâlde çalıştır on son cached kopya bençin ~30 days. bir persistently erroring robots.txt dır bir site-wide tarama risk. ve eğer o’s hâlâ broken sonra şunlar 30 days: “eğer errors dır hâlâ değil düzeltilmiş sonra 30 days: eğer site dır generally mevcut -e Google, Google -ecek behave olarak eğer yoktur robots.txt file (ama hâlâ koru checking bençin bir yeni sürüm).” In diğer words, bir robots.txt şu never recovers yapmaz stay disallowed forever — Google eventually falls back -e tarama ile no restrictions, aynı olarak bir 404. - 3xx → Google follows at least five yönlendirme hops, o hâlde treats o olarak bir 404.
- 4xx (except 429) → no restrictions. “Google’s crawlers ele al tümü 4xx
errors, except 429, olarak eğer bir valid robots.txt file didn’t var ol. bu anlamına gelir şu
Google assumes şu vardır no tarama restrictions.” bir 404 on
robots.txt in Bing, Yandex, ve beyond
grouping ve syntax dır essentially shared, ama two divergences önem taşır:
- tarama-delay. Google ignores o, Bing hâlâ honors o, ve Yandex dropped o in 2018 — Yandex’s kendi dokümantasyon states şu “-den February 22, 2018, Yandex yapmaz take -e account tarama-delay directive,” pointing siz -e site tarama rate ayarlama in Yandex Webmaster instead. Bing dır explicit şu ” robots.txt file dır yalnızca valid place -e ayarla bir tarama-delay directive bençin MSNBot,” and that the directive “accepts yalnızca positive, whole numbers olarak values… higher değer, daha throttled down tarama rate -ecek olmak.” Note Bing treats değer olarak bir relative throttle, değil literally N seconds.
- ** bingbot-section gotcha.** sadece like Google’s “only one group per crawler”
kural, -erseniz oluştur bir
User-agent: bingbotsection, Bing uygulanır yalnızca şu section ve ignoresUser-agent: *defaults (tarama-delay excepted). bu nedenle bir bingbot-specific grup -meli repeat her directive siz hâlâ iste enforced. - Amazon’s cache ve başarısızlık behavior. Amazon söyler onun crawlers -ebilir kullan bir robots.txt kopya cached bençinde previous 30 days. eğer onlar cannot fetch file, onlar behave olarak gerçben o yapmaz var ol. bir checker -ebilir rapor kopya o fetched, ama o cannot prove hangi cached sürüm Amazon kullanılan—veya şu Amazon observed aynı başarısızlık olarak checker. 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
Managing AI crawlers ile robots.txt
Robots.txt dır currently main lever bençin managing AI crawlers, ve onlar obey aynı grup/kullanıcı-agent syntax. catch: bunlar dır separate tokens, bu nedenle blocking bir yapmaz block others.
- OpenAI runs several distinct bots, ve controls her biri bençin dır
independent — allowing bir yapmaz izin ver others, ve blocking bir yapmaz
block others.
GPTBottarar bençerik bençin training OpenAI’s models;OAI-SearchBotsurfaces siteler in ChatGPT’s arama features;OAI-AdsBotkontroller safety of sayfalar submitted olarak ads (onun data değildir kullanılan bençin training). Block training ileUser-agent: GPTBot/Disallow: /— şu alone won’t durdur arama veya ads bots.ChatGPT-Userdır farklı yeniden: o fires bençin actions bir kişben triggers bençinde ChatGPT veya bir Custom GPT, değil automatic tarama, ve OpenAI söyler “robots.txt rules may not apply” -e o — bu nedenle yapmayın count on birDisallow-e koru o out. -erseniz yap change neOAI-SearchBot-ebilir tarama, OpenAI notes o -ebilir take hakkında 24 hours bençin update -e ulaş onların arama systems. - Google-Extended controls Gemini/Vertex training ve dır separate -den Googlebot.
- Others worth naming:
CCBot(yaygın tarama),ClaudeBot(Anthropic),PerplexityBot, veBytespider.
hard caveat: compliance dır voluntary. Robots.txt istekler; o yapmaz enforce. Well-behaved crawlers obey o; scrapers -ebilir ve yap ignore o. -erseniz truly ihtiyaç duy -e koru something away -den bir bot, şu’s bir authentication/blocking sorun, değil bir robots.txt bir.
yaygın mistakes (ve düzeltmeler)
** file dır 200, ama o değildir aslında bir usable robots file.** Status alone dır
değil enough. Capture response Content-Type ve ilk bytes: bir CDN/custom-error
template -ebilir döndür HTML at /robots.txt ile 200, hangi -meli olmak bir warning rather
-den bir “allow all” geç. Google belgeler robots.txt olarak UTF-8 plain text ve -ebilir
ignore invalid characters. bir tek UTF-8 BOM at beginning dır tolerated, ama bir
ikinci BOM, bir BOM in middle, UTF-16 bytes, NULs, veya invisible/control characters
-ebilir alter ilk token veya invalidate bir line. göster byte offset ve affected
line; yapmayın silently normalize file önce telling kullanıcı ne crawler
received. uygula Google’s effective 500 KiB parsing limit
önce calculating izin ver/disallow sonuçlar, -iken hâlâ reporting discarded tail.
- Blocking bir sayfa siz ayrıca iste deindexed. Block + noindex anlamına gelir Google never tarar o -e see noindex. kullan noindex olmadan block.
- kullanarak robots.txt -e deindex. yanlış araç entirely — şu’s noindex’s job.
- Blocking render-critical CSS/JS. Google gerektirir şunlar assets -e see sayfa olarak
bir kullanıcı yapar; Google’ın kendi sample robots.txt explicitly re-izin verir
.css/.jsbu nedenle Googlebot -ebilir tarama them. - Trying -e hide sensitive data. RFC 9309 dır blunt: ” Robots Exclusion
protokol değildir bir substitute bençin valid bençerik security measures. Listing paths
in robots.txt file exposes them publicly ve thus yapar paths
discoverable.” Disallowing
/secret-admin/literally advertises o. kullan auth. - bir stray
Disallow: /. bu blocks entire site bençin named crawler — classic staging leftover şu takes bir site out of Google. - Ignoring response code on
/robots.txt. bir 5xx -ebilir stall tarama site-wide; ele al file’s availability olarak production-critical.
bençin broader pipeline bu sits bençinde — discovery, tarama scheduler, rendering, ve nasıl tarama differs -den dizine ekleme — see tarama hub. sibling topics (tarama bütçesi, ve Google’ın nasıl ele aldığı sitemaps) her go deeper on bir piece of bu.
AI özet
bir condensed take on Advanced sürüm:
- Robots.txt = bir plain-text file at root of her ana makine (
/robots.txt, lowercase) implementing Robots Exclusion protokol (RFC 9309, 2022; origin 1994). URL dır durum-sensitive. - o controls tarama, değil dizine ekleme. bu #1 myth. bir disallowed URL -ebilir
hâlâ olmak dizine eklenmiş — gösterilen olarak bir bare URL ile no description — eğer o’s linked -den
elsewhere. -e koru bir sayfa out of dizin, kullan
noindex, ve sayfa -meli değil olmak blocked in robots.txt veya Google never tarar o -e see noindex. - Patrick’s experiment proved o: blocking two high-sıralama sayfalar didn’t deindex them — onlar kept sıralama ama lost featured snippets ve descriptions. “Don’t block pages you want indexed. It hurts.”
- yapğru araç her biri bençin job: robots.txt = tarama control;
noindex= dizin control; password/auth = secrecy (robots.txt dır kamuya birçık). - Supported fields:
user-agent,allow,disallow,sitemap. değil supported tarafından Google:noindex,nofollow,crawl-delay(retired Sept 1, 2019). - Scope dır bir ana makine + protokol + port — her subdomain/protokol gerektirir onun kendi file.
- Matching: en çok-specific (longest path) kural wins; least-restrictive (izin ver)
on ties. Wildcards
*ve$; path values dır durum-sensitive. bir specific grup değildir merged ile*grup — o stands alone. - altında hood: 500 KiB size limit; ~24h caching; 4xx (except 429) → no restrictions; 5xx/unreachable → ~12h tarama durdur, o hâlde son good kopya bençin ~30 days, o hâlde no restrictions eğer hâlâ broken; 3xx → follows ≥5 hops o hâlde treats olarak 404.
- diğer motorlar: Bing honors
crawl-delay; Google ignores o ve Yandex stopped honoring o in February 2018 (kullan Yandex Webmaster’s tarama rate ayarlama). birbingbotsection yapar Bing ignore*defaults. - AI crawlers (GPTBot, OAI-SearchBot, OAI-AdsBot, ChatGPT-kullanıcı,
Google-Extended, CCBot, ClaudeBot, PerplexityBot, Bytespider) dır separate
tokens ile independent controls — block bir, others hâlâ tarama.
ChatGPT-Userdır kullanıcı-triggered, değil automatic, bu nedenle robots.txt -ebilir değil uygula -e o at tümü; compliance -den crawlers generally dır voluntary. - yapmayın block render-critical CSS/JS, yapmayın kullan o -e hide sensitive data (o’s
kamuya birçık), ve watch bençin bir stray
Disallow: /.
resmî dokümantasyon
birincil-kaynak dokümantasyon -den arama motorları ve standard itself.
- Introduction -e robots.txt — beginner doc, dahil tarama-vs-dizin caveat. başla burada.
- oluştur ve submit bir robots.txt file / nasıl Google interprets robots.txt specification — full reference: supported fields, grouping, matching, wildcards, size limit, caching, ve status-code handling.
- Block arama dizine ekleme ile noindex — neden bir
noindexsayfa -meli değil olmak blocked in robots.txt. - bir note on unsupported kurallar in robots.txt (July 2019) — announcement şu
noindex,nofollow, vecrawl-delaysupport ends Sept 1, 2019.
** standard**
- RFC 9309 — Robots Exclusion protokol — IETF standard (Koster, Illyes, Zeller, Sassman; Sept 2022), dahil
/robots.txtlocation requirement, longest-match kural, 500 KiB parsing limit, ve security-considerations note.
Bing / Microsoft
- Bingbot rehberlik — güncel Bing Webmaster rehberlik belgeler
crawl-delayvalues -den 1–20 seconds. - nasıl -e oluştur bir robots.txt File (Bing Webmaster araçlar yardım et) — Bing’s robots.txt rehberlik ve tester.
Quotes -den kaynak
On—record statements -den Google, Bing, ve RFC. her bağlantı dır bir deep bağlantı şu jumps -e quoted passage on kaynak sayfa.
Google — tarama, değil dizine ekleme
- “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.” — Google arama Central docs. Jump -e 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.” Jump -e 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.” Jump -e quote
Google — neden bir noindex sayfa -meli stay crawlable
- “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.” — Google arama Central docs. Jump -e quote
Google — location, scope, ve 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.” Jump -e 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.” Jump -e 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.” Jump -e quote
- “
*designates 0 or more instances of any valid character.$designates the end of the URL.” Jump -e quote - “The field name (
disallow) is case-insensitive, but its value is case-sensitive.” Jump -e quote
Google — size, caching, ve status codes
- “Google enforces a robots.txt file size limit of 500 kibibytes (KiB). Content which is after the maximum file size is ignored.” Jump -e 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.” Jump -e 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.” Jump -e 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.” Jump -e 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).” Jump -e quote
- “User agent specific groups and global groups (
*) are not combined.” Jump -e quote
RFC 9309 — standard
- “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.” — RFC 9309 (Koster, Illyes, Zeller, Sassman). Jump -e quote
- “The rules MUST be accessible in a file named ‘/robots.txt’ (all lowercase) in the top-level path of the service.” Jump -e 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.” Jump -e quote
Bing — tarama-delay
- Bingbot rehberlik belgeler bir
crawl-delayrange of 1–20 seconds. bu Bing-specific rehberlik, değil bir extension şu Google süreçler.
Patrick Stox — blocking experiment (benim kendi Ahrefs experiment, reviewed tarafından Joshua Hardwick)
- “We lost a position here or there and all of the featured snippets for the pages.” Jump -e quote
- “Both pages lost some traffic. But it didn’t result in much change to our traffic estimate like I was expecting.” Jump -e quote
- “Don’t block pages you want indexed. It hurts. Not as bad as you might think it does—but it still hurts.” Jump -e quote
Robots.txt — sözdizimi kısa başvurusu
Directives (Google-supported)
| Directive | ne yaptığı | örnek |
|---|---|---|
User-agent: | Starts bir grup; names crawler(s) o uygulanır -e. | User-agent: Googlebot |
Disallow: | Paths crawler -meli değil istek. | Disallow: /cart/ |
Allow: | Carves bir exception back out of bir Disallow. | Allow: /cart/help |
Sitemap: | Absolute URL of bir sitemap (grup-independent). | Sitemap: https://x.com/sitemap.xml |
Özel karakterler
| Token | Meaning |
|---|---|
* | In bir path: 0+ of herhangi bir character. olarak bir kullanıcı-agent: tümü crawlers. |
$ | Anchors end of URL. Disallow: /*.pdf$ blocks URLs ending in .pdf. |
# | Comment — everything sonra o on line dır ignored. |
/ | Path values -meli başla ile /. Disallow: / blocks whole site. |
Matching kurallar
- en çok-specific (longest path) kural wins.
- On bir tie, least-restrictive wins —
AllowbeatsDisallow. - Path values dır durum-sensitive (
/Folder/≠/folder/); field ve kullanıcı-agent names dır durum-insensitive. - bir crawler obeys tam olarak bir grup — en çok specific kullanıcı-agent match.
değil supported tarafından Google (retired Sept 1, 2019): noindex, nofollow,
crawl-delay. Bing hâlâ honors crawl-delay (olarak bir relative throttle, değil
literal seconds); Yandex stopped honoring o on Feb 22, 2018 — ayarla tarama rate
in Yandex Webmaster instead.
altında hood (Google)
- Size limit: 500 KiB (rest ignored). Caching: ~24h.
- 4xx (except 429) → no restrictions. 5xx/unreachable → ~12h tarama durdur, o hâlde son good kopya ~30 days, o hâlde no restrictions eğer hâlâ broken. 3xx → ≥5 hops o hâlde ele alınır olarak 404.
- bir specific
User-agentgrup dır never merged ile*grup.
yaygın 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 denetim checklist
- file vardır at tam olarak
https://yourdomain.com/robots.txt(root, lowercase) ve döndürür bir200. - her ana makine ve protokol sahiptir onun kendi file (
www, non-www, subdomains,httpvshttps). - No stray
Disallow: /blocking whole site ( classic staging leftover). - siz dır değil blocking herhangi bir sayfa siz ayrıca iste -e
noindex(Google -meli tarama o -e see noindex). - siz dır değil kullanarak robots.txt -e deindex sayfalar — şu’s
noindex’s job. - Render-critical CSS/JS dır değil blocked.
- No
noindex,nofollow, veyacrawl-delaylines aimed at Google (unsupported since Sept 1, 2019). - No sensitive paths listed — file dır kamuya birçık ve advertises whatever o names; kullan authentication instead.
- Wildcard kurallar (
*,$) tested karşı gerçek URLs; remember path values dır durum-sensitive. - -erseniz sahip bir
User-agent: bingbot(veya herhangi bir bot-specific) section, o repeats her directive siz hâlâ iste enforced — bot-specific gruplar ignore*defaults. -
Sitemap:directive present ile bir absolute URL. - File dır altında 500 KiB.
- Validated in arama Console robots.txt rapor; spot-checked herhangi bir “dizine eklenmiş, gerçben blocked tarafından robots.txt” URLs -e yapğrula onlar’re genuinely junk ve değil sayfalar siz wanted tarandı.
mental models
1. tarama control, değil dizin control. Robots.txt yalnızca governs whether bir crawler -ebilir fetch bir URL. o söyler nothing hakkında whether URL alır dizine eklenmiş. Internalize bu ve en çok robots.txt mistakes disappear. Blocking bir URL ≠ removing o -den Google.
2. en çok-specific kural wins; least-restrictive breaks ties.
ne zaman two kurallar touch aynı URL, bir ile longer path wins. On bir genuine
tie, Allow beats Disallow. bu tek kural explains neredeyse her “neden dır bu
URL crawlable / blocked?” head-scratcher.
3. Block vs noindex — bir decision tree.
- iste o out of dizin? →
noindex, ve emin olun o’s değil blocked in robots.txt (bu nedenle Google -ebilir tarama o -e see noindex). - iste -e durdur wasting tarama on o ama yapmayın care eğer bare URL shows? →
Disallowin robots.txt. - iste o genuinely özel? → authentication. Robots.txt dır kamuya birçık ve never hides anything.
Never block ve noindex aynı URL — onlar cancel out, ve sayfa -ebilir linger in dizin.
4. file’s availability dır production-critical.
HTTP response code on /robots.txt sahiptir site-wide consequences: bir 4xx anlamına gelir “no
restrictions,” ama bir 5xx -ebilir durdur Google tarama sizin whole site bençin ~12 hours.
ele al /robots.txt like herhangi bir diğer critical endpoint.
Fetch ve denetim robots.txt genelinde hosts
Robots.txt dır scoped per ana makine+protokol+port, bu nedenle o’s easy -e forget bir varyant vardır. bu pulls her varyant of bir domain ve flags herhangi bir şu error veya 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"
}bir 200 on her line dır ne siz iste. bir 4xx anlamına gelir Google treats şu
ana makine+protokol olarak unrestricted (fine eğer intentional); bir 5xx dır dangerous
bir — o -ebilir stall tarama bençin şu ana makine.
Regex -e pull her Disallow/izin ver path
yararlı bençin diffing bir robots.txt önce/sonra bir edit, veya scripting bir kontrol et karşı bir liste of URLs siz care hakkında.
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 hangi directive fired.\s*(\S*)— captures path değer, allowing bençin bir emptyDisallow:(hangi Google treats olarak “disallow nothing”).re.IGNORECASE— field names dır durum-insensitive hatta gerçben path values değildir (yapmayın lowercase paths themselves -dığınızda extend bu).
Chrome DevTools Konsol parçacığı
Paste -e Console panel (F12 → Console) on herhangi bir sayfa -e fetch ve print şu ana makine’s robots.txt olmadan 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: jump -e güncel site’s robots.txt
Save olarak bir bookmark ile bu olarak URL (drag o -e sizin bookmarks bar, veya ekle o manually ve paste code -e “URL” field), o hâlde click o on herhangi bir sayfa:
javascript:(function(){var u=new URL('/robots.txt',location.origin).href;location.href=u;})(); araçlar bençin testing ve validating robots.txt
- Google arama Console — robots.txt rapor (Settings) — Google’s güncel surface bençin seeing robots.txt Google fetched, onun status, ve herhangi bir parsing sorunlar. ( eski standalone robots.txt tester idi retired; testing now lives in bu rapor.)
- GSC URL Inspection — yapğrula whether bir specific URL dır blocked -den tarama ve nasıl Google currently sees o.
- GSC “Indexed, though blocked by robots.txt” (sayfalar rapor) — surfaces URLs Google dizine eklenmiş despite block, bu nedenle -ebilirsiniz decide hangi dır gerçek problems.
- Bing Webmaster araçlar — robots.txt tester / rehberlik — Bing’s eşdeğeri bençin validating sizin file karşı bingbot.
- Ahrefs site denetimi / Screaming Frog SEO Spider — tarama sizin kendi site -e see hangi URLs dır blocked, surface accidentally-disallowed sayfalar, ve test et şu sizin kurallar match URLs siz intend.
- herhangi bir browser — simplest kontrol et of tümü: load
yourdomain.com/robots.txtve okuyun o. Remember everyone else -ebilir yap aynı.
Incident: siz shipped Disallow: / -e production
bu classic staging leftover — bir robots.txt oluşturulmuş -e block bir staging
environment alır deployed -e live site, ve User-agent: * / Disallow: /
blocks whole thing. burada’s ordered recovery.
adım 1 — yapğrula blast radius.
Fetch https://yourdomain.com/robots.txt yapğru now (browser veya curl -I). eğer
siz see bir bare Disallow: / altında User-agent: * ile no narrower Allow:
carving anything back out, her crawler şu respects robots.txt dır currently
blocked -den sizin entire site. Continue -e adım 2.
adım 2 — düzelt file ve yapğrula deploy.
Replace o ile intended kurallar (veya bir minimal User-agent: * / Allow: / eğer
siz’re değil sure ne belongs) ve deploy. Re-fetch live URL — yapmayın trust
sizin deploy dashboard, trust gerçek response. eğer o hâlâ shows eski
Disallow: /, siz sahip bir caching/CDN sorun, değil bir code sorun — purge
cache bençin şu bir path önce moving on.
adım 3 — kontrol et nasıl uzun site idi blocked. Google caches robots.txt bençin up -e ~24 hours, bu nedenle bir düzelt şu sadece went live won’t olmak seçilen up instantly. Open arama Console’s robots.txt rapor -e see ne zaman Google son fetched file ve whether o’s zaten seen corrected sürüm. eğer o hasn’t henüz, istek o olmak re-fetched değildir bir manual option — siz wait, veya kullan URL Inspection on sizin en çok önemli sayfalar ve kullan “Request Indexing” once file dır yapğrulanmış düzeltilmiş.
adım 4 — kontrol et bençin gerçek damage.
- eğer block lasted hours, expect little -e no visible impact — Google yapmaz drop sayfalar -den dizin sadece çünkü bir tarama idi blocked.
- eğer o lasted days -e weeks, kontrol et arama Console’s sayfalar rapor bençin bir jump in “Blocked by robots.txt” ve kontrol et whether previously-dizine eklenmiş sayfalar moved -e şu status. benim kendi experiment blocking two high-sıralama sayfalar found onlar stayed dizine eklenmiş ve mostly kept sıralama, ama lost freshness sinyaller ve featured snippets — damage compounds ile time blocked, değil instantly.
- -erseniz see sıralamalar/gösterimler aslında falling in arama Console’s Performance rapor bençin blocked window, şu’s sizin confirmation incident sahipti gerçek impact, değil sadece bir scare.
adım 5 — verify düzelt took, yapmayın sadece assume o. çalıştır specific paths siz care hakkında aracılığıyla Robots.txt Tester karşı corrected file. eğer herhangi bir come back blocked, siz’re değil done — go back -e adım 2.
Concrete mistakes -e kaçın
Blocking bir sayfa in robots.txt şu siz ayrıca iste noindexed.
neden o’s yanlış: bir noindex yalnızca çalışır eğer crawler -ebilir okuyun sayfa -e see
o. Block sayfa ve Google never tarar o, never sees noindex, ve
sayfa -ebilir linger in dizin eğer anything bağlantılar -e o. yap instead: leave
sayfa crawlable ve put noindex on sayfa itself (meta tag veya
X-Robots-Tag header).
kullanarak robots.txt olarak sizin deindexing araç.
neden o’s yanlış: robots.txt controls tarama, değil dizine ekleme. Google’ın kendi docs
dır explicit şu o “değildir bir mechanism bençin tutma bir web sayfası out of
Google.” bir disallowed URL -ebilir hâlâ göster up in sonuçlar, sadece olmadan bir
description. yap instead: kullan noindex (sayfa değil blocked) -e aslında kaldır bir
sayfa -den dizin.
Blocking render-critical CSS veya JavaScript.
neden o’s yanlış: Google renders sizin sayfalar ile bir gerçek browser -e see them
way bir kullanıcı yapar. Block assets şu oluştur layout veya inject bençerik ve
Google -ebilir see bir broken veya empty sayfa. yap instead: leave /assets/,
/static/, veya wherever sizin CSS/JS lives crawlable — Google’ın kendi sample
robots.txt explicitly re-izin verir bunlar.
Listing sensitive paths in robots.txt -e “hide” them.
neden o’s yanlış: file dır kamuya birçık — anyone -ebilir okuyun o — bu nedenle Disallow: /admin-panel/ sadece söyler world şu folder vardır. RFC 9309 dır blunt şu
protokol “is not a substitute for valid content security measures.” yap
instead: kullan authentication veya bir password wall bençin anything şu aslında
gerektirir -e stay özel.
Trailing-slash confusion in bir Disallow path.
neden o’s yanlış: Disallow: /folder (no trailing slash) blocks /folder,
/folder/, /folder-name/, ve /folder.html — anything şu starts ile
şu string, çünkü matching dır prefix-based, değil directory-based. yap
instead: ekle trailing slash (Disallow: /folder/) -dığınızda yalnızca anlamına gel
directory, ve test et exact prefix behavior karşı sizin gerçek URLs önce
shipping.
Assuming kurallar dır durum-insensitive.
neden o’s yanlış: field names dır durum-insensitive ama path values dır
durum-sensitive — Disallow: /Folder/ yapar nothing -e /folder/. yap instead:
match exact durum sizin URLs aslında kullan, ve yapmayın assume bir kural “should”
çalışır çünkü o reads yapğru biçimde -e bir human.
yaygın sorunlar
”Bu sayfayı engelledim, ama Google’da hâlâ görünüyor”
- Symptom: URL hâlâ görünür in arama sonuçları (genellikle ile no description) hatta gerçben o’s disallowed in robots.txt.
- muhtemel neden ol: URL dır linked -den elsewhere on web (veya sizin kendi site), bu nedenle Google dizine eklenmiş bare URL olmadan ever tarama onun bençerik. Blocking tarama idi never going -e kaldır o — şu’s değil ne robots.txt yapar.
- düzelt: -erseniz iste o gone, ekle
noindex-e sayfa ve emin olun o’s değil blocked in robots.txt (temporarily izin ver tarama eğer o currently dır). yapğrula düzelt ile URL Inspection in arama Console once Google sahiptir re-tarandı o.
”Search Console ‘Indexed, though blocked by robots.txt’ diyor”
- Symptom: sayfalar rapor in GSC flags bu exact status bençin bir veya daha URLs.
- muhtemel neden ol: genellikle harmless — o’s yaygın bençin utility URLs (cart, filtered/faceted varyantlar, session parameters) şu aldı linked somewhere ve dizine eklenmiş olarak bir bare URL despite block.
- düzelt: kontrol et whether flagged URLs dır sayfalar siz aslında wanted dizine eklenmiş. eğer onlar’re junk parameter URLs, bu status dır beklenen ve değil worth chasing. eğer bir sayfa siz care hakkında shows up burada, şu’s “blocked + noindex” trap — go crawlable + noindex instead.
”robots.txt’yi düzenledim, ama değişiklik canlı görünmüyor”
- Symptom: siz deployed bir düzelt, ama bir araç veya Google hâlâ seems -e olmak okuma eski kurallar.
- muhtemel neden ol: Google caches robots.txt bençin up -e ~24 hours, bu nedenle bir change değildir seçilen up instantly. Separately, bir CDN veya reverse proxy in front of sizin site -ebilir olmak sunma bir stale cached kopya of file itself.
- düzelt: ilk yapğrula live file aslında changed — fetch
yourdomain.com/robots.txtyapğrudan (değil aracılığıyla bir cache) veya çalıştır o aracılığıyla Robots.txt Tester. eğer live file dır correct, delay dır Google’s cache ve sadece gerektirir time; kontrol et robots.txt rapor in arama Console -e see ne zaman o son fetched.
”Test aracı bir yola izin verildiğini söylüyor, ama Google hâlâ taramıyor”
- Symptom: robots.txt birçıkçbir permits URL, ama server logs veya arama Console göster no recent tarama activity bençin o.
- muhtemel neden ol: robots.txt allowing bir URL değildir bir tarama guarantee — o’s necessary ama değil sufficient. sayfa -ebilir olmak orphaned (nothing bağlantılar -e o), missing -den sitemap, veya basitçe low priority in Google’s tarama scheduling.
- düzelt: yapğrula sayfa dır discoverable (benç bağlantılar, sitemap inclusion) yerine re-checking robots.txt yeniden — file değildir bottleneck burada.
”Disallow kuralım beklediğim URL’lerle eşleşmiyor”
- Symptom: bir kural şu görünür correct değildir blocking (veya dır blocking de much of) URLs siz intended.
- muhtemel neden ol: durum sensitivity (
/Folder/≠/folder/) veya prefix matching catching -den fazla beklenen (Disallow: /folderayrıca matches/folder-name/). - düzelt: re-kontrol et exact durum of sizin live URLs, ve ekle bir trailing slash -erseniz meant yalnızca directory. test et specific paths in Robots.txt Tester önce trusting kural.
”bingbot bölümü ekledikten sonra Bing varsayılan kurallarımı izlemeyi bıraktı”
- Symptom: kurallar altında
User-agent: *şu kullanılan -e uygula -e Bing seem -e olmak ignored sonra siz eklendi birUser-agent: bingbotgrup. - muhtemel neden ol: Bing (like Google) uygulanır yalnızca en çok specific matching
grup -e bir crawler. bir
bingbot-specific grup yapar Bing ignore*defaults entirely (tarama-delay excepted). - düzelt: repeat her directive siz hâlâ iste enforced bençinde
bingbotgrup — o sahiptir -e olmak self-contained.
Validation testler
çalıştır bunlar sonra siz edit robots.txt, önce siz düşün change done.
test et 1: file itself dır live ve correct
- test et -e çalıştır:
curl -I https://yourdomain.com/robots.txt(veya open URL in bir browser), ve separately çalıştır o aracılığıyla Robots.txt Tester. - beklenen sonuç:
HTTP/1.1 200ve tester shows exact kurallar siz intended -e ship. - başarısızlık interpretation: bir non-200 status anlamına gelir file değildir reachable olarak beklenen (kontrol et deploy/routing); correct-looking kurallar şu yapmayın match ne siz edited genellikle anlamına gel bir cache (CDN veya Google’s ~24h cache) dır sunma bir stale kopya.
- izleme window: immediate bençin status code ve bençerik; izin ver up -e ~24 hours önce assuming Google sahiptir seçilen up change.
- Rollback trigger: file 404s veya 5xxs unexpectedly, veya shows kurallar siz didn’t intend -e ship.
test et 2: specific path siz changed behaves olarak intended
- test et -e çalıştır: paste exact URL siz meant -e izin ver veya block -e Robots.txt Tester ve kontrol et verdict bençin Googlebot (ve Bingbot eğer relevant).
- beklenen sonuç: araç raporlar “allowed” bençin bir path siz meant -e open up, veya “blocked” bençin bir path siz meant -e close off.
- başarısızlık interpretation: opposite verdict genellikle anlamına gelir bir
longer/daha-specific kural elsewhere in file dır overriding bir siz
sadece eklendi — kontrol et bençin bir competing
Allow/Disallowon bir shorter veya overlapping path. - izleme window: immediate — bu bir kurallar-matching kontrol et, değil bir live-tarama kontrol et.
- Rollback trigger: tested path döndürür yanlış verdict sonra siz’ve yapğrulanmış live file matches ne siz edited.
test et 3: bir sayfa siz unblocked aslında alır tarandı
- test et -e çalıştır: arama Console URL Inspection on specific URL, looking at “Crawl allowed?” ve son tarama date.
- beklenen sonuç: “Crawl allowed: Yes,” ve bir tarama date sonra sizin robots.txt change.
- başarısızlık interpretation: “Crawl allowed: No” sonra siz believe siz unblocked o anlamına gelir Google dır hâlâ okuma cached kurallar, veya başka bir kural in file hâlâ matches path. No yeni tarama date henüz yapmaz necessarily anlamına gel başarısızlık — Google -ebilir değil sahip gotten -e o henüz.
- izleme window: 2–4 weeks bençin Google -e aslında re-tarama ve reflect change, longer on büyük veya low-priority siteler.
- Rollback trigger: “Crawl allowed” flips back -e “No” on bir later kontrol et ile no robots.txt change on sizin end — investigate bir CDN/cache sorun.
test et 4: siz didn’t accidentally block something else
- test et -e çalıştır: tarama sizin site ile Ahrefs site denetimi veya Screaming Frog SEO Spider sonra change ve compare “blocked by robots.txt” URL listesi önce vs. sonra.
- beklenen sonuç: yalnızca URLs siz intended -e newly block veya unblock moved arasında listeler — nothing else changed.
- başarısızlık interpretation: bir unexpected sayfa görünme olarak newly blocked genellikle anlamına gelir bir wildcard veya prefix kural matched daha broadly -den intended.
- izleme window: immediate — çalıştır bu tarama yapğru sonra deploying.
- Rollback trigger: herhangi bir sayfa siz rely on bençin organic trafik görünür newly blocked.
Ready—e-kopya prompts
Paste sizin gerçek robots.txt bençerik (ve, bençin ikinci prompt, liste of URLs siz care hakkında) sonra her prompt.
denetim bir robots.txt file bençin conflicts ve risky kurallar
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>kontrol et whether specific URLs dır safely crawlable ve indexable
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> kaynaklar worth sizin time
benim related yazma
- Story of Blocking 2 High-sıralama sayfalar ile Robots.txt — benim kendi experiment: ben deliberately blocked two high-sıralama Ahrefs sayfalar ve tracked ne aslında happened -e sıralamalar ve trafik. proof şu blocking ≠ deindexing.
- Beginner’s rehber -e teknik SEO — nerede robots.txt fits in tarama/dizin foundation.
- kurumsal SEO Strategies — managing robots.txt ölçekte on büyük siteler.
benim speaking
- nasıl arama çalışır (SlideShare) — benim walkthrough of tarama → render → dizin, pipeline robots.txt gates at tarama adım. (Standing disclaimer uygulanır: “This is my understanding of systems… not going to be 100% complete or accurate.”)
-den others
- Robots.txt ve SEO: Everything -meniz gerekir Know — canonical Ahrefs rehber, tarafından Joshua Hardwick (değil me) — bir thorough syntax-ve-recipes reference.
- ne zaman Unindexing sayfalar -den Google arama kullan Noindex, değil Robots.txt — arama motoru Roundtable coverage of John Mueller’s rehberlik: yapmayın block ile robots.txt -dığınızda iste sayfalar out of dizin, kullan noindex instead.
- Google Explains neden URLs Blocked tarafından Robots.txt -ebilir hâlâ olmak dizine eklenmiş — arama motoru Journal coverage of Mueller’s “add-to-cart” örnek: blocked URLs -ebilir hâlâ olmak dizine eklenmiş, ve “Indexed, though blocked by robots.txt” dır çoğu zaman harmless bençin utility sayfalar.
- Robots.txt Tip -den Bing: bençer tümü Relevant Directives -erseniz sahip bir Bingbot Section — arama motoru Land on bingbot-section gotcha: bir Bingbot-specific grup yapar Bing ignore wildcard defaults, bu nedenle siz -meli repeat her directive siz hâlâ iste enforced.
- Overview of OpenAI Crawlers (GPTBot, OAI-SearchBot, ChatGPT-kullanıcı) — OpenAI’s resmî liste of onların crawler kullanıcı-agent tokens, ile robots.txt örnekler bençin blocking training vs. arama vs. kullanıcı-triggered fetches separately.
- r/TechSEO — community bençin tarama/dizin ve “Indexed, though blocked by robots.txt” debugging.
test et yourself: Robots.txt
Five quick questions on ne robots.txt controls (ve ne yaptığı değil). seç bir yanıt her biri bençin, o hâlde kontrol et.
Değişiklik günlüğü
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
30 Tem 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
19 Tem 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
18 Tem 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
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.)