Bot Management
Üç ayrı ürün tek isim altında: Bot Fight Mode, Super Bot Fight Mode ve Bot Management for Enterprise. İlki hiçbir kuralla baypas edilemiyor — Skip, Bypass ve Allow onda çalışmıyor.
- DurumGenel kullanımda
- FiyatPlana dahil; Bot Management for Enterprise ayrı eklenti — fiyat yayımlanmıyor
- Ücretsiz katmanvar
- Doğrulama
Bot Management nedir?
Cloudflare’in kendi seçim rehberi:
“If you need a simple toggle that challenges detected bots across your entire domain, use Bot Fight Mode (Free) or Super Bot Fight Mode… These products are included with your plan but do not allow you to write rules based on bot score or target specific endpoints.”
“If you need granular control — per-request bot scores, custom rules, per-endpoint handling, and detailed analytics — use Bot Management for Enterprise. This is recommended for ecommerce, banking, and security use cases.”
Nasıl çalışır?
Bot skoru
“A bot score is a score from 1 to 99 that indicates how likely that request came from a bot.”
“a score of 1 means Cloudflare is quite certain the request was automated, while a score of 99 means Cloudflare is quite certain the request came from a human.”
| Grup | Aralık |
|---|---|
| Not computed | 0 |
| Automated | 1 |
| Likely automated | 2 – 29 |
| Likely human | 30 – 99 |
| Verified bot | “Non-malicious automated traffic” |
Skoru üreten motorlar:
| Motor | Davranış |
|---|---|
| Heuristics | “gives automated requests a score of 1 for high-confidence, deterministic detections. Occasionally… a score of 29” |
| Machine learning | “Produces most scores between 2 and 99” |
| Anomaly detection | kullanımdan kalkıyor — “Cloudflare is deprecating the Anomaly Detection engine and is not onboarding new customers” |
| Cloudflare service | “a special bot score source for Enterprise Zero Trust to avoid false positives” |
Anomaly Detection için ayrıca bir uyarı var: “Cloudflare does not recommend AD for domains that use Cloudflare for SaaS or expect large amounts of API traffic. The AD engine immediately gives automated requests a score of one.”
__cf_bm çerezi: “Cloudflare uses the __cf_bm cookie to smooth out the bot score and reduce
false positives for actual user sessions.” API ile bm_cookie_enabled alanından kapatılabiliyor.
Alanlar
Aşağıdaki alanların hepsi aynı kapıyı taşıyor: “Requires a Cloudflare Enterprise plan with Bot Management enabled.”
| Alan | Tip | Tanım |
|---|---|---|
cf.bot_management.score | Number | “Represents the likelihood that a request originates from a bot using a score from 1–99.” |
cf.bot_management.verified_bot | Boolean | “Indicates whether the request originated from a known good bot or crawler. Provides the same information as cf.client.bot.” |
cf.bot_management.static_resource | Boolean | “Indicates whether static resources should be included when you create a rule using cf.bot_management.score.” |
cf.bot_management.ja3_hash | String | “Provides an SSL/TLS fingerprint to help you identify potential bot requests.” |
cf.bot_management.ja4 | String | aynı tanım |
cf.bot_management.detection_ids | Array<Number> | “List of IDs that correlate to the Bot Management heuristic detections made on a request.” |
cf.bot_management.corporate_proxy | Boolean | “…identified Enterprise-only cloud-based corporate proxy or secure web gateway.” |
cf.bot_management.signed_agent | Boolean | “…request originated from a known agent that self-identifies with Web Bot Auth.” |
cf.verified_bot_category | String | “allows you to segment your verified bot traffic by its type and purpose” |
Cloudflare’in kendi örnek ifadesi — dört koşulun birlikte kullanımını gösteriyor:
not cf.bot_management.verified_bot
and not cf.bot_management.static_resource
and not cf.bot_management.corporate_proxy
and cf.bot_management.score lt 30
Workers karşılıkları: request.cf.botManagement.score, .verifiedBot, .staticResource,
.ja3Hash, .ja4, .jsDetection.passed, .detectionIds, .signedAgent, ve
request.cf.verifiedBotCategory.
Logpush alanları: BotDetectionIDs, BotScore, BotScoreSrc, BotTags.
Statik kaynak sayılan uzantılar (cf.bot_management.static_resource bunları işaretliyor):
ico jpg png jpeg gif css js tif tiff bmp pict webp svg svgz class jar txt csv doc docx
xls xlsx pdf ps pls ppt pptx ttf otf woff woff2 eot eps ejs swf torrent midi mid m3u8
m4a mp3 ogg ts
Ve: “Additionally, the /.well-known/ URL path and all elements in it are considered a static
resource, regardless of the file extension.”
Verified Bots — 1 Temmuz 2026’da yeniden tanımlandı
“A Verified bot is a bot or agent that Cloudflare has confirmed is transparent about who it is and what it does: it represents itself honestly and does not abuse the access that honesty earns.”
İki koşul:
“1. Honest self-identification — it declares who it is deterministically, through a cryptographic Web Bot Auth signature, a published IP list with a stable user-agent, or reverse DNS. 2. Non-abusive behavior — it obeys
robots.txtand crawl directives, maintains reasonable request rates, and has not been observed evading website owner preferences or attacking sites.”
Yeni davranış taksonomisi: Search · Agent · Training · Transact · Data Collection · Security Testing · SEO · Ads Verification · Social/Link Preview · Feed Fetching · Monitoring & Operations.
Direct ve Intermediary ayrımı — 2026’nın en önemli kavramsal eklemesi:
“Direct: Operated by a single, narrow operator — usually on the operator’s own infrastructure.”
“Intermediary: An agentic service that a wide range of end users can operate. The operator runs the software, but each action is initiated by a different end user.”
“Because an intermediary acts on behalf of many different end users… This introduces transitive trust: you may trust the intermediary operator, but not necessarily every end user driving it.”
Eski kategori değerleri hâlâ kural yazımında kullanılabiliyor ve üçü operasyonel olarak kritik:
| Kategori | Tanım | Örnek |
|---|---|---|
Feed Fetcher | “Retrieves updates from feeds to power readers or other applications.” | “RSS or Podcast feed updaters” |
Monitoring & Analytics | “Tracks a website’s uptime, performance, and user traffic.” | “Uptime Monitors” |
Webhooks | “An automated messenger that sends data from one application to another for specific events.” | “Payment processors, WordPress Integration tools” |
Security | “Scans websites to detect security vulnerabilities and potential threats.” | “Vulnerability Scanners, SSL DCV Check Tools” |
AI botları — 2026’nın ağırlık merkezi
Üç davranış:
| Davranış | Ne yapıyor |
|---|---|
| Search | “Collects or indexes your content so it can answer questions about it later.” |
| Agent | “Automated activity acting in real time on a person’s behalf… chat fetch bots and browser-use agents.” |
| Training | “Crawls your content to train or fine-tune a model, permanently absorbing your data into the model.” |
Tarihçe — doğrulanmış:
| Tarih | Olay |
|---|---|
| 1 Temmuz 2025 | “Content Independence Day: no AI crawl without compensation!” — “changing the default to block AI crawlers unless they pay creators for content” |
| 1 Temmuz 2026 | “Your site, your rules: new AI traffic options for all customers” — Search/Agent/Training ayrımı tüm müşterilere açıldı |
| 15 Eylül 2026 | Yeni alan adları için varsayılanlar değişiyor |
AI Labyrinth — tüm planlarda:
“The AI Labyrinth adds invisible links on your webpage with specific
Nofollowtags to block AI crawlers that do not adhere to the recommended guidelines… AI crawlers that scrape your website content without permission will be stuck in a maze of never-ending links, and their details are recorded and used by all Cloudflare customers who choose to block AI bots.”
“These links do not impact your search engine optimization (SEO) or your website’s appearance, and are only seen by bots. AI bots that respect no-crawl instructions will safely ignore this honeypot.”
Yönetilen robots.txt — tüm planlarda, ve dürüst bir uyarıyla:
“
robots.txtcompliance is voluntary. The file expresses your preferences, but it does not prevent crawlers from accessing your content at a technical level.”
“If you want to enforce crawl blocking rather than request it, use AI Crawl Control. You can also use both features together.”
Mevcut bir robots.txt’in varsa: “Cloudflare will prepend our managed robots.txt before your
existing robots.txt, combining both into a single response.”
Content Signals Policy — makine tarafından okunabilir üç direktif: search, ai-input,
ai-train. Ve önemli bir varsayılan:
“Domains on the Free plan that do not have their own
robots.txtfile and do not use the managedrobots.txtfeature will display the Content Signals Policy when a crawler requests therobots.txtfile for your domain.”
Politika metninin kendisi bir hukuki çekince içeriyor: “ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790…”
2026’da test edilen content-use uzantısı: use=immediate (“Interact, but store and reuse nothing”)
· use=reference (“Index, excerpt, and link back”) · use=full (“Summarize and reproduce”). Yönetilen
robots.txt kullananlara varsayılan olarak use=reference ekleniyor.
pay per crawl — kapalı beta:
“Pay per crawl is currently in closed beta.”
“Each time an AI crawler requests content, they either present payment intent via request headers for successful HTTP 200 access, or receive an HTTP 402 Payment Required response with pricing. Cloudflare acts as the Merchant of Record.”
Minimum fiyat: $0,001 USD per crawl. Ödemeler Stripe üzerinden. Ve bir kısıt:
“Can I set different prices for different AI crawlers? — No. … you can only set a single price that applies to all crawlers configured with the ‘Charge’ option.”
JA3 / JA4
“JA3 and JA4 fingerprints identify TLS clients based on how they initiate connections.”
“JA4 improves on JA3 by sorting ClientHello extensions, which reduces the number of unique fingerprints for modern browsers and makes grouping easier.”
Plan kapısı: “JA3 and JA4 fingerprints are only available to Enterprise customers who have purchased Bot Management.”
Mobil için de açık bir uyarı var: “Often, mobile application traffic will produce the same JA3 fingerprint across devices and users” — ve bu yüzden “Cloudflare does not recommend relying on JA3 rules for mobile applications that may be abused.”
JA4 Signals (Signals Intelligence) on *_1h alanı sunuyor — ama:
“Signals Intelligence fields are available for analysis in Security Analytics and Security Events. They cannot be used as filter fields in WAF custom rule expressions.”
Analitik ve geri bildirim döngüsü
Geri bildirim döngüsü (yalnızca Enterprise BM):
“The Bot Feedback Loop allows you to report requests that Bot Management scored incorrectly. When you submit a false negative or false positive report, Cloudflare analyzes the data and uses it to train the next machine learning model.”
Yanlış pozitif sonrası önerilen düzeltme:
“you can create a WAF custom rule with a Skip the remaining custom rules action… We recommend any skip rule that you create uses the most narrow possible scope, including restricting the request methods and URIs.”
Ve IP için: “Only use an IP address to allow traffic if the IP is a dedicated resource that belongs only to the traffic source you wish to allow.”
Detection ID’leri ile heuristik bazında kural yazabiliyorsun:
any(cf.bot_management.detection_ids[*] eq 33554817)
Keşif yolu: “The BotDetectionIDs field is available as part of the HTTP Requests dataset… This is
the primary method to discover Detection IDs.”
Ne zaman kullanılır, ne zaman kullanılmaz
Kullanılır
- E-ticaret, bankacılık ve stok kapma riski olan siteler. Cloudflare’in kendi önerisi bu üç senaryo.
- AI crawler’larını yönetmek istiyorsan. 2026’da bu, ürünün en güçlü tarafı ve tüm planlarda AI Labyrinth ile robots.txt yönetimi var.
- Kimlik doldurma ve hesap ele geçirme saldırısı alıyorsan. Bot skoru bunun için tasarlanmış.
- Endpoint bazında farklı davranış istiyorsan. Ama bu yalnızca Enterprise BM’de mümkün.
Kullanılmaz
Ücretsiz planda ve API veya webhook trafiğin varsa. Bot Fight Mode’a istisna yazamıyorsun — ne Skip, ne Bypass, ne Allow. Ödeme sağlayıcının webhook’u veya kendi izleme sistemin engellenirse tek çözüm BFM’i kapatmak.
Kendi izleme ve webhook altyapın varsa. Verified Bots dizini yalnızca kayıtlı operatörleri kapsıyor. Kendi yazdığın uptime monitörü veya webhook göndericisi verified değil — diğer botlar gibi skorlanıyor.
Statik kaynak korumasını körlemesine açacaksan. Birebir: “If you enable static resource protection, you may block good bots — like mail clients — that routinely fetch static resources. Make sure you understand your existing infrastructure before enabling this feature.”
Cloudflare Tunnel kullanıyorsan ve SBFM ayarlarına dokunacaksan. “Definitely Automated”ı Allow
dışında bir şey yaparsan tünel bağlantıların websocket: bad handshake ile kırılıyor.
WARP veya kurumsal proxy arkasındaki iç uygulamalarda. Boş User-Agent anında 1 skoru getiriyor;
corporate_proxy alanı yalnızca Enterprise BM’de.
API ağırlıklı bir zone’da Anomaly Detection ile. “Cloudflare does not recommend AD for domains that… expect large amounts of API traffic.” Zaten kullanımdan kalkıyor.
Mobil uygulama kötüye kullanımını JA3 ile durdurmaya çalışacaksan. Cloudflare açıkça önermiyor — aynı uygulama tüm cihazlarda aynı parmak izini üretiyor.
Skor görmek istiyorsan ama Enterprise değilsen. Granüler skor, JA3/JA4, detection ID’leri ve feedback loop’un hepsi Enterprise + Bot Management. Alt planlarda yalnızca gruplar var.
Somut örnekler
Bot skoruna göre kural (Enterprise BM)
RULESET=$(curl -sS ".../zones/$ZONE_ID/rulesets/phases/http_request_firewall_custom/entrypoint" \
-H "Authorization: Bearer $CF_API_TOKEN" | jq -r '.result.id')
curl ".../zones/$ZONE_ID/rulesets/$RULESET/rules" --request POST \
-H "Authorization: Bearer $CF_API_TOKEN" \
--json '{
"description": "Otomatik trafigi giris ucunda engelle",
"expression": "(http.request.uri.path eq \"/giris\" and http.request.method eq \"POST\") and not cf.bot_management.verified_bot and not cf.bot_management.static_resource and not cf.bot_management.corporate_proxy and cf.bot_management.score lt 30",
"action": "managed_challenge"
}'
Dört olumsuz koşulun hepsi Cloudflare’in kendi örneğinden — üçünü atlarsan yanlış pozitif alıyorsun.
Super Bot Fight Mode’a istisna
curl ".../zones/$ZONE_ID/rulesets/$RULESET/rules" --request POST \
-H "Authorization: Bearer $CF_API_TOKEN" \
--json '{
"description": "Odeme webhooku SBFM disi — dar kapsam",
"expression": "(http.request.uri.path eq \"/webhook/odeme\" and http.request.method eq \"POST\" and ip.src in {203.0.113.10 203.0.113.11})",
"action": "skip",
"action_parameters": { "phases": ["http_request_sbfm"] }
}'
Cloudflare’in tavsiyesi: en dar kapsam — yol, metot ve IP birlikte.
Detection ID’lerini keşfetmek
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H 'Content-Type: application/json' \
--data '{"query":"
query($z:String!,$b:Time!,$s:Time!){viewer{zones(filter:{zoneTag:$z}){
httpRequestsAdaptiveGroups(filter:{datetime_geq:$b,datetime_leq:$s},limit:50,
orderBy:[count_DESC]){
count dimensions{ botDetectionIds botScore clientRequestPath } }
}}}",
"variables":{"z":"'"$ZONE_TAG"'",
"b":"2026-08-31T00:00:00Z","s":"2026-09-01T00:00:00Z"}}' | jq
AI bot politikasını okumak
curl -sS https://ornek.com.tr/robots.txt | head -40
Ücretsiz planda kendi robots.txt’in yoksa burada Content Signals Policy metnini göreceksin.
Demo 1: Boş User-Agent’ın anında 1 skoru getirdiğini kanıtlamak
Bu demo, yanlış pozitiflerin bir numaralı sebebini görünür kılıyor — ve WARP kullanan her ekibi doğrudan ilgilendiriyor.
Adım 1 — Normal bir tarayıcı isteğiyle başlangıç
Tarayıcıdan siteni aç, sonra Security Analytics’te bot skoruna bak.
Adım 2 — User-Agent’ı tamamen kaldır
# curl varsayılan UA'sını sil
curl -sS -o /dev/null -H 'User-Agent;' https://ornek.com.tr/
# Karşılaştırma: normal curl UA'sı ile
curl -sS -o /dev/null https://ornek.com.tr/
-H 'User-Agent;' sözdizimi başlığı boş gönderiyor — silmiyor, boşaltıyor.
Adım 3 — WARP üzerinden test et
Aynı isteği WARP açıkken bir kurumsal cihazdan gönder ve skoru karşılaştır.
Adım 4 — corporate_proxy alanını oku (Enterprise BM)
Bir Worker ile alanları doğrudan yazdır:
export default {
async fetch(request) {
return Response.json({
skor: request.cf?.botManagement?.score,
verified: request.cf?.botManagement?.verifiedBot,
statik: request.cf?.botManagement?.staticResource,
kurumsal: request.cf?.botManagement?.corporateProxy,
ja4: request.cf?.botManagement?.ja4,
detection: request.cf?.botManagement?.detectionIds,
ua: request.headers.get("user-agent"),
});
},
};
Adım 5 — Skor 0 durumunu üret
Bir Redirect Rule ekle ve o yola giden isteğin skorunu oku.
Bu, “skor 0 güvenli demek değil” cümlesinin deneysel kanıtı.
Adım 6 — JA4’ün session resumption’da kaybolduğunu göster
# İlk bağlantı — yeni TLS el sıkışması
curl -sS --tls-max 1.3 https://ornek.com.tr/cf-alanlar | jq '.ja4'
# Aynı bağlantıyı yeniden kullan
curl -sS --tls-max 1.3 https://ornek.com.tr/cf-alanlar https://ornek.com.tr/cf-alanlar | jq '.ja4'
Bu demoda ölçülenler:
| Ölçüt | Normal tarayıcı | Boş User-Agent | WARP arkası | Redirect sonrası |
|---|---|---|---|---|
botManagement.score | 30–99 | 1 | ölç | 0 |
corporateProxy | false | false | true olabilir | — |
verifiedBot | false | false | false | — |
ja4 | dolu | dolu | dolu | boş olabilir |
| Değerlendirildi mi | ✅ | ✅ | ✅ | ✘ |
Demo 2: Bot Fight Mode’un baypas edilemediğini göstermek
Bu demo, ücretsiz plandaki ekiplerin en sık takıldığı mimari sınırı kanıtlıyor.
Adım 1 — Bot Fight Mode’u aç
Adım 2 — Bot gibi görünen bir istek gönder
curl -sS -o /dev/null -w '%{http_code}\n' \
-H 'User-Agent: python-requests/2.31.0' \
https://ornek.com.tr/webhook/odeme
Adım 3 — Skip kuralı yaz ve işe yaramadığını göster
curl ".../zones/$ZONE_ID/rulesets/$RULESET/rules" --request POST \
-H "Authorization: Bearer $CF_API_TOKEN" \
--json '{
"description": "BFM baypas denemesi — CALISMAYACAK",
"expression": "(http.request.uri.path eq \"/webhook/odeme\")",
"action": "skip",
"action_parameters": { "ruleset": "current" }
}'
# Aynı isteği tekrarla
curl -sS -o /dev/null -w '%{http_code}\n' \
-H 'User-Agent: python-requests/2.31.0' \
https://ornek.com.tr/webhook/odeme
Adım 4 — IP Access Rule ile tek istisnayı göster
curl ".../zones/$ZONE_ID/firewall/access_rules/rules" --request POST \
-H "Authorization: Bearer $CF_API_TOKEN" \
--json '{"mode":"whitelist","configuration":{"target":"ip","value":"203.0.113.10"},
"notes":"Odeme saglayici webhook IPsi"}'
“it will not trigger if an IP Access rule matches the request first.”
Bu, ücretsiz planda BFM’e istisna yazmanın tek yolu.
Adım 5 — Aynı testi Super Bot Fight Mode ile tekrarla
Pro veya Business planında SBFM’e geç ve Adım 3’teki Skip kuralını http_request_sbfm fazına yaz.
Adım 6 — Tunnel uyarısını göster
SBFM’de “Definitely Automated”ı Block yap ve bir Cloudflare Tunnel bağlantısı kurmayı dene.
Bu demoda ölçülenler:
| Ölçüt | Bot Fight Mode | Super Bot Fight Mode |
|---|---|---|
| Skip kuralı işe yarıyor mu | ✘ hiç | ✅ |
| Kural oluşturulurken hata | yok | yok |
| IP Access Rule istisna | ✅ tek yol | ✅ |
| JavaScript Detections | zorunlu, kapatılamıyor | seçmeli |
| Aksiyon seçimi | yok — sabit challenge | allow / block / challenge |
| Faz | Ruleset Engine dışı | http_request_sbfm |
| Tunnel riski | — | “Definitely Automated” Block ise kırılıyor |
Fiyatlandırma
| Plan | Ürün | Fiyat |
|---|---|---|
| Free | Bot Fight Mode | plana dahil |
| Pro | Super Bot Fight Mode | plana dahil |
| Business | Super Bot Fight Mode (daha güçlü tespit) | plana dahil |
| Enterprise | Super Bot Fight Mode veya Bot Management for Enterprise | eklenti — fiyat yayımlanmıyor |
Plan tablosundaki tanımlar: Free “Basit botlar” · Pro “Kolay tespit edilen botlar” · Business “Gelişmiş botlar + temel bot analytics” · Contract “Tüm botlar, anomali tespiti, özel CAPTCHA, gelişmiş bot analytics”.
AI Crawl Control ayrı bir kapı taşıyor:
| Tüm planlar | Enterprise + Bot Management |
|---|---|
| “AI crawler detection via user agent strings” | “Advanced AI crawler detection via Bot Management detection ID” |
| “Maximum 24-hour analytics window” | “Configurable analytics timeframes” |
| “Allow/block controls” | “…and the ability to charge AI crawlers using pay per crawl” |
Lisanslama ve hukuki çerçeve
Hizmet tescillidir ve Cloudflare Hizmet Şartları’na tabidir.
__cf_bm çerezi ve KVKK. Bu çerez bot skorunu yumuşatmak için kullanılıyor —
“to smooth out the bot score and reduce false positives for actual user sessions”. Teknik olarak
zorunlu bir güvenlik çerezi; çerez politikanda zorunlu çerezler altında listele. API’den
bm_cookie_enabled ile kapatılabiliyor, ama kapatırsan yanlış pozitifler artıyor.
Content Signals ve telif hakkı. Cloudflare’in yayımladığı Content Signals Policy metni doğrudan bir hukuki çekince içeriyor:
“ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790…”
Bu, AB Dijital Tek Pazar Direktifi’nin metin ve veri madenciliği istisnasından çekilme (opt-out) beyanı. Türkiye’de karşılığı olan bir düzenleme yok; 5846 sayılı Fikir ve Sanat Eserleri Kanunu metin ve veri madenciliği için özel bir istisna içermiyor. Yani içeriğinin AI eğitiminde kullanılmasına itirazın, Türkiye hukukunda genel telif hükümlerine dayanıyor — Cloudflare’in sağladığı teknik beyan bu itirazı belgelendiriyor ama yerine geçmiyor.
Bot verisi ve kişisel veri. Bot skoru, JA3/JA4 parmak izi ve detection ID’leri istekle ilişkilendirilmiş teknik veriler. JA4 parmak izi bir cihaz-tarayıcı kombinasyonunu tanımlıyor ve KVKK kapsamında kişisel veri sayılabilecek bir tanımlayıcı olabiliyor — özellikle IP adresiyle birlikte loglandığında. Logpush ile dışa aktarıyorsan saklama politikanı buna göre kur.
Sık yapılan hatalar
Bot Fight Mode’a Skip kuralı yazmak. Çalışmıyor ve hata da vermiyor.
Skor 0’ı “temiz” saymak. Değerlendirilmemiş demek, güvenli demek değil.
Boş User-Agent’ı hesaba katmamak. Anında 1 skoru; WARP ve kurumsal proxy kullanıcılarını bot yapıyor.
Cloudflare Tunnel varken “Definitely Automated”ı Block yapmak. websocket: bad handshake.
Statik kaynak korumasını düşünmeden açmak. Posta istemcileri gibi iyi botları engelleyebiliyor.
Verified bot’ların otomatik geçeceğini varsaymak. 1 Temmuz 2026’dan beri AI bot politikaları verified bot’ları da bloklayabiliyor.
Kendi izleme veya webhook altyapını verified sanmak. Yalnızca kayıtlı operatörler verified.
cf.bot_management.score lt 30 kuralını tek başına yazmak. Cloudflare’in kendi örneği üç olumsuz
koşul daha içeriyor: verified_bot, static_resource, corporate_proxy.
JA4 Signals alanlarını WAF kuralında kullanmaya çalışmak. Yalnızca analiz için.
JA3’e mobil kötüye kullanım için güvenmek. Cloudflare açıkça önermiyor.
TLS session resumption’da parmak izinin kaybolduğunu bilmemek. İlk istekte var, sonrakilerde yok.
pay per crawl’ı Block AI Bots açıkken denemek. Engelleme ücretlendirmeyi eziyor.
Crawler başına farklı fiyat koymaya çalışmak. Tek fiyat, hepsine.
Rulesets API ile SBFM kurallarını güncellemek. “no longer supported and may cause unexpected behavior.”
Bot analitiğindeki örneklemeyi göz ardı etmek. %1–10 örnek; ham sayı değil.
15 Eylül 2026 varsayılan değişikliğini kaçırmak. Yeni alan adları için Training ve Agent botları reklam gösteren sayfalarda bloklanacak; o tarihten önce opt-out mümkün.
Sıkça sorulan sorular
- Üç bot ürünü var, hangisi bende?
- Free → Bot Fight Mode, Pro/Business → Super Bot Fight Mode, Enterprise → eklenti almadıysan Super Bot Fight Mode, aldıysan Bot Management for Enterprise. Ve birebir: “When users purchase Bot Management for Enterprise, Cloudflare automatically replaces and disables other bot products to prevent overlap.” Enterprise BM açıksa panelde Bot Fight Mode veya Super Bot Fight Mode'u hiç görmüyorsun.
- Bot Fight Mode bir kuralla baypas edilebilir mi?
- Hayır — ve sebebi mimari. Birebir: “You cannot bypass or skip Bot Fight Mode using WAF custom rules or Page Rules. This is because Bot Fight Mode does not run on the Ruleset Engine — it operates in a separate evaluation pipeline where Skip, Bypass, and Allow actions have no effect.” Tek istisna: “it will not trigger if an IP Access rule matches the request first.” Ücretsiz planda BFM webhook'unu kırıyorsa tek çözüm BFM'i kapatmak ya da plan yükseltmek.
- Super Bot Fight Mode'a istisna nasıl yazarım?
- WAF custom rule ile — Skip aksiyonu. Birebir: “Custom rules are executed before Super Bot Fight Mode. To configure exceptions to Super Bot Fight Mode, create a custom rule with the Skip action.” SBFM
http_request_sbfmfazında çalışıyor. Ve bir uyarı: “Updating Super Bot Fight Mode rules via the Rulesets API is no longer supported and may cause unexpected behavior.” - Bot skoru 0 gördüm, güvenli mi demek?
- Hayır. Birebir: “A bot score of 0 means Bot Management did not evaluate the request… A score of 0 does not indicate the request is safe or human.” Cloudflare iç servis istekleri, Redirect Rules gibi önce çalışan özelliklerin yönlendirdiği istekler ve
/cdn-cgi/yolları skor almıyor. - WARP kullanıcılarım neden bot sanılıyor?
- Muhtemelen User-Agent başlığı boş veya eksik. Ağustos 2026'da eklenen resmî not birebir: “Requests with a missing or empty
User-Agentheader are immediately assigned a bot score of 1 by the Heuristics engine. This is expected behavior and a common false-positive trigger for traffic from Zero Trust (WARP) or corporate proxy environments that suppress or strip theUser-Agentheader.” Enterprise BM'de çözümcf.bot_management.corporate_proxyalanı. - Cloudflare Tunnel kullanıyorum, dikkat etmem gereken bir şey var mı?
- Evet, kritik. Birebir: “If your organization also uses Cloudflare Tunnel, keep Definitely Automated set to Allow. Otherwise, Super Bot Fight Mode may block tunnel connections, causing failures with a
websocket: bad handshakeerror.” Bu hata mesajını gören ekiplerin çoğu tünelde arıyor, oysa sebep SBFM. - Verified bot olmak artık geçiş kartı mı?
- Artık değil. 1 Temmuz 2026'da taksonomi değişti ve birebir şöyle deniyor: “Historically, Verified bots have been excluded in default bot configurations across all plans. Now, all customers have the option to configure AI bot policies to define their block vs. allow expectations.” AI bot politikalarında: “Each blocking option will block Verified bots classified with that behavior.”
- 15 Eylül 2026'da ne değişiyor?
- Yeni alan adları için varsayılanlar. Birebir: “On September 15, 2026, Cloudflare will set updated defaults for new domains: bots classified as Training or as Agent will be blocked on pages that display ads, and Search will remain allowed. Mixed-purpose crawlers that combine Search and Training will also be blocked… Before September 15, all customers can opt out of these new defaults.” Ayrıca eski “Block AI bots” anahtarı aynı tarihte kullanımdan kalkıyor.
- AI Labyrinth ne yapıyor ve hangi planda?
- Tüm planlarda. Birebir: “The AI Labyrinth adds invisible links on your webpage with specific
Nofollowtags… AI crawlers that scrape your website content without permission will be stuck in a maze of never-ending links, and their details are recorded and used by all Cloudflare customers who choose to block AI bots.” Ve: “These links do not impact your SEO… AI bots that respect no-crawl instructions will safely ignore this honeypot.” - robots.txt yeterli mi?
- Hayır, ve Cloudflare bunu açıkça söylüyor: “
robots.txtcompliance is voluntary. The file expresses your preferences, but it does not prevent crawlers from accessing your content at a technical level.” Önerisi: “If you want to enforce crawl blocking rather than request it, use AI Crawl Control. You can also use both features together.” - pay per crawl kullanılabilir mi?
- Kapalı beta. Birebir: “Pay per crawl is currently in closed beta.” Nasıl çalışıyor: crawler ödeme niyetini başlıkla bildirmezse
HTTP/2 402 Payment Requiredvecrawler-pricebaşlığı dönüyor. Minimum fiyat $0,001. Cloudflare Merchant of Record ve ödemeler Stripe üzerinden. Crawler başına farklı fiyat koyamıyorsun — tek fiyat, hepsine. - pay per crawl'ı açtım ama çalışmıyor.
- Sıralama tuzağı. Birebir: “AI Crawl Control's AI crawler blocking uses WAF custom rules, which take place before Cloudflare bot solutions. AI Crawl Control's pay per crawl takes place after Cloudflare bot solutions.” Sonuç: “you need to first turn off Block AI Bots to ensure pay per crawl works as intended.” Bot ürünleriyle blokladığın bir crawler'ı ücretlendiremiyorsun.
- JA3/JA4 parmak izi neden boş geliyor?
- Dört belgelenmiş sebep var: (1) TLS el sıkışması sırasında hesaplandığı için şifresiz HTTP trafiğinde yok; (2) bir Worker Cloudflare içi veya üçüncü taraf origin'e istek attığında boş olabiliyor; (3) Bot Management o istek için atlanmışsa alan doldurulmuyor; (4) TLS Session Resumption ile sonraki bağlantılarda yeniden hesaplanmıyor. Ayrıca yalnızca Enterprise + Bot Management.
- JA4 Signals alanlarını WAF kuralında kullanabilir miyim?
- Hayır. Birebir: “Signals Intelligence fields are available for analysis in Security Analytics and Security Events. They cannot be used as filter fields in WAF custom rule expressions.” Analiz için var, uygulama için değil.
- Bot analitiğini ne kadar geriye görebilirim?
- İki farklı pencere var, karıştırma: Business ve Bot Management'sız Enterprise — “up to 72 hours of data at a time and can display data up to 30 days old.” Enterprise + Bot Management — “up to one week of data at a time… up to 30 days old.” İkisinde de veri örneklenmiş: “most customers will see a 1-10% sample.” Pro yalnızca 24 saatlik Bot Report görüyor.
- Türk fiyat karşılaştırma botları (Cimri, Akakçe) Verified Bots listesinde mi?
- Doğrulanamadı. Verified Bots dizini yalnızca kimlik doğrulamalı Radar API'si veya panel üzerinden listelenebiliyor —
radar.cloudflare.com/verified-botsotomatik isteklere 403 dönüyor,GET /radar/botsise token istiyor. Bots dokümantasyonunun tamamında Cimri, Akakçe, Trendyol, Hepsiburada, Sahibinden, n11, Getir ve Yemeksepeti için sıfır eşleşme var. Kendi token'ınla sorgula ya da dizini tarayıcıdan aç.
İlgili servisler
- WAFSQL injection, XSS ve bilinen zafiyet istismarlarını request origin’e ulaşmadan engeller.
- TurnstileKullanıcıya bulmaca çözdürmeyen CAPTCHA alternatifi.
- Rate LimitingIP, oturum veya özel anahtara göre request sayısını sınırlar.
- API ShieldAPI uç noktalarını schema validation, mTLS ve anomali tespitiyle korur.
Bu sayfadaki fiyat ve özellik bilgileri 1 Eylül 2026 tarihinde Cloudflare’in resmî kaynaklarından doğrulanmıştır. Cloudflare fiyatlandırmasını önceden haber vermeden değiştirebilir; bağlayıcı bilgi içinresmî sayfaya bakın.