# ChatGPT Sitenizi Neden Okumuyor? 7 Sebep ve Kontrol Listesi

> ChatGPT sitenizi okumuyorsa sebep neredeyse her zaman yedi şeyden biridir — sekizincisi ise robots.txt tertemizken bile botu kapıdan çeviren güvenlik katmanı. Bot user-agent tablosu, kopyalanabilir komutlar ve sunucu logundan kesin doğrulama.

- Kanonik URL: https://algoritmaajans.com/tr/blog/chatgpt-sitenizi-neden-okumuyor-kontrol-listesi
- Dil: tr
- Kategori: Yapay Zeka
- Yayın: 2026-08-17
- Güncelleme: 2026-08-29
- Yayıncı: Algoritma Ajans

---

**ChatGPT sitenizi okumuyorsa sebep neredeyse her zaman yedi şeyden biridir: `robots.txt` yapay zeka botunu blokluyor, içerik JavaScript ile geliyor, aynı içerik birden fazla URL'de yayınlanıyor, canonical veya noindex hatası var, keşif katmanı (`llms.txt`) yok, yapılandırılmış veri eksik ya da sunucu çok yavaş.** Aşağıdaki kontrol listesi her birini sırayla eler.

Listenin sonunda bir madde daha var. Başlığı yazdığımızda yedi maddeydi; sahada sekizinciyi bulduk ve o sekizinci, `robots.txt` tertemizken bile botu kapıdan çeviriyor: sunucunun önündeki güvenlik katmanı. Sıralamayı bozmamak için sona koyduk, ama sıklık bakımından ilk üçe girer.

Sıra önemli. Birinci maddeyi düzeltmeden altıncıyla uğraşmak zaman kaybı — bot siteye hiç giremiyorsa schema'nızın mükemmel olması bir şey değiştirmez.

## Önce kim geliyor: yapay zeka botlarının listesi

Kontrol listesine geçmeden önce isimleri bilmek gerekiyor, çünkü `robots.txt` satırlarını da sunucu loglarını da bu isimlerle okuyacaksınız.

| User-agent | Kime ait | Ne yapar | Engellerseniz |
|---|---|---|---|
| `GPTBot` | OpenAI | Siteyi tarar, içeriği dizine ve eğitime alır | ChatGPT sitenizi hiç tanımaz |
| `OAI-SearchBot` | OpenAI | ChatGPT'nin arama dizinini besler | ChatGPT aramasında listelenmezsiniz |
| `ChatGPT-User` | OpenAI | Kullanıcı sorduğu anda **canlı** çeker | Kullanıcı sizi sorsa bile sayfa okunamaz |
| `ClaudeBot` | Anthropic | Tarama ve dizin | Claude cevaplarında kaynak olmazsınız |
| `Claude-User` | Anthropic | Kullanıcı isteği üzerine canlı çekim | Aynı |
| `PerplexityBot` | Perplexity | Dizin taraması | Perplexity kaynak listesinde çıkmazsınız |
| `Perplexity-User` | Perplexity | Kullanıcı isteği üzerine canlı çekim | Aynı |
| `Google-Extended` | Google | **Tarayıcı değil** — Googlebot'un zaten çektiği içeriğin Gemini tarafında kullanımını düzenleyen izin anahtarı | Google aramasındaki sıralamanız etkilenmez; Gemini tarafındaki kullanım kapanır |
| `Applebot-Extended` | Apple | Aynı mantık, Apple tarafı için | Apple'ın üretken özelliklerinde kullanılmazsınız |
| `Bingbot` | Microsoft | Klasik tarama, Copilot'un dayandığı dizin | Copilot ve Bing tarafında görünmezsiniz |
| `CCBot` | Common Crawl | Açık veri seti toplar; birçok model bu setten beslenir | Dolaylı olarak çok sayıda modelin dışında kalırsınız |
| `Meta-ExternalAgent` | Meta | Tarama | Meta AI tarafında görünmezsiniz |
| `Amazonbot` | Amazon | Tarama | Amazon'un asistan ürünlerinde geçmezsiniz |
| `Bytespider` | ByteDance | Tarama | TikTok tarafındaki asistanda geçmezsiniz |

Bu tabloda iki kalıbı ezberleyin, gerisi kendiliğinden çözülür:

**`-User` ile bitenler en kritik olanlar.** Bunlar arka planda dolaşan tarayıcılar değil; bir kullanıcı sizinle ilgili bir soru sorduğu ya da bağlantınızı yapıştırdığı anda gelirler. Yani bunlar bloklu ise, sizi arayan gerçek bir insanın sorusuna verilen cevapta yer alamazsınız. Görünürlük kaybının en pahalı hali budur.

**`-Extended` ile bitenler tarayıcı değil, izin anahtarıdır.** `Google-Extended` diye bir bot sunucunuza hiç gelmez; log dosyanızda aramanız boşuna. `robots.txt` içindeki o satır, Googlebot'un zaten aldığı içeriğin Gemini tarafında kullanılıp kullanılamayacağını söyler. Bu ayrımı bilmeyen çok sayıda site, "Google'ı engellemeyeyim" diye `Google-Extended`'ı açık bırakıp asıl tarayıcıları kapatıyor ya da tam tersini yapıyor.

<!-- GORSEL: chatgpt-okumuyor-inline-1 — Bir kapı önünde sıraya girmiş, yakalarında GPTBot / ClaudeBot / PerplexityBot yazan botlar; kapıda "Disallow: /" tabelası -->

## 1. robots.txt yapay zeka botlarını blokluyor

En sık sebep. Ve genelde kimse bilerek yapmamıştır — bir eklenti, bir tema ya da "güvenlik" tavsiyesi eklemiştir.

**Kontrol:** Tarayıcınızda `sitesiniz.com/robots.txt` adresini açın. Yukarıdaki tablodaki isimlerden herhangi biri `Disallow: /` ile eşleşiyorsa sorunu buldunuz.

Bu tam olarak bu sitede olan şeydi. `robots.txt`, `GPTBot`, `Google-Extended` ve `CCBot`'u topluca engelliyordu. Yapay zeka entegrasyonu satan bir ajansın sitesi, yapay zekaya kapalıydı.

**Düzeltme:** Botları açın, özel alanları kapalı tutun:

```
User-agent: GPTBot
Allow: /
Disallow: /api/
Disallow: /admin/
```

Dosyayı yazarken üç kurala dikkat edin, üçü de sık atlanıyor:

**En özel grup kazanır, gruplar birleşmez.** Bir bot için özel bir `User-agent` bloğu varsa, o bot `User-agent: *` bloğunu hiç okumaz. Yani `*` altına koyduğunuz `Disallow: /admin/` satırı, `GPTBot` bloğunda tekrar edilmediyse `GPTBot` için geçerli değildir. Özel blok açıyorsanız genel kuralları da içine kopyalayın.

**İsim eşleşmesi büyük/küçük harfe duyarsız ama tam ön ek üzerinden çalışır.** `User-agent: Claude` yazmak `ClaudeBot`'u da yakalar; `User-agent: Bot` yazmak neredeyse herkesi yakalar. Adları eksiksiz yazın.

**Staging'den kopyalanan dosyaya dikkat.** Geliştirme ortamında her şeyi kapatmak doğru; o dosyanın üretime taşınması ise sitenizi görünmez yapar. Yayına almadan önce üretim `robots.txt`'ini tarayıcıdan açıp gözünüzle okuyun.

**Karıştırılmaması gereken nokta:** Crawl izni ile eğitim verisi izni farklı şeyler. İçeriğinizin model eğitiminde kullanılmasını istemiyorsanız bunu `ai.txt` ile bildirin. `robots.txt` ile crawl'ı kapatmak sizi eğitim setinden çıkarmaz; sadece cevaplarda kaynak gösterilmekten çıkarır. Yani kaybeden siz olursunuz.

## 2. İçerik JavaScript ile geliyor

Site tek sayfa uygulaması (SPA) olarak kurulduysa, sunucudan gelen HTML büyük olasılıkla şuna benziyor:

```
<div id="root"></div>
```

Tarayıcı JavaScript'i çalıştırıp içeriği dolduruyor. Ama yapay zeka botlarının çoğu JavaScript çalıştırmıyor. Gördükleri şey boş bir kutu.

**Kontrol:** Terminalden ham HTML'i çekin ve içerikte bir cümle arayın:

```bash
curl -s https://sitesiniz.com/blog/bir-yazi | grep -c "yazınızdan bir cümle"
```

Sonuç `0` ise içerik sunucuda render edilmiyor. Tarayıcının "Sayfa kaynağını görüntüle" ekranı da aynı işi görür — ama geliştirici araçlarındaki **Elements** sekmesi görmez, çünkü orada JavaScript çalıştıktan sonraki hali durur. Bu ikisini karıştırmak, sorunun aylarca fark edilmemesinin en yaygın sebebi.

**Düzeltme:** Sunucu tarafı render (SSR) veya statik üretim (SSG). Next.js, Astro, Nuxt gibi framework'ler bunu varsayılan olarak yapar. Mevcut SPA'yı taşımak büyük iş; en azından en çok trafik alan sayfalar için prerender uygulanabilir.

## 3. Aynı içerik birden fazla URL'de yayınlanıyor

Bot aynı metni üç ayrı adreste bulursa hangisini kaynak göstereceğini bilemez. Genelde hiçbirini göstermez.

En yaygın kaynağı çok dilli siteler. Bu sitede her blog yazısı **iki dil altında birden** 200 dönüyordu. Türkçe ve İngilizce yazıların slug'ları farklı olduğu için `/en/blog/turkce-slug` adresi Türkçe içeriği İngilizce locale altında sunuyordu — hem de kendine canonical vererek.

**Kontrol:** Bir yazının URL'sini alın, dil kodunu değiştirip açın. İçerik aynı mı geliyor? Öyleyse sorun var.

Bir de nokta içeren rastgele adresler deneyin: `sitesiniz.com/deneme.xyz`. Ana sayfa 200 ile dönüyorsa ciddi bir sorun var — bu sitede tam olarak bu oluyordu, nokta içeren her yol ana sayfayı kendine canonical vererek 200 döndürüyordu. Sonsuz duplicate URL demek.

**Düzeltme:** Her içerik tek bir kanonik URL'de yayınlanmalı. Dil filtresi sorguya eklenmeli, geçersiz dil kodları 404 dönmeli.

## 4. Canonical veya noindex hatası

Sessiz katil. Sayfa açılıyor, güzel görünüyor, ama başlıkta ya da meta etiketinde noindex var.

**Kontrol:**

```bash
curl -sI https://sitesiniz.com/sayfa | grep -i "x-robots-tag"
curl -s  https://sitesiniz.com/sayfa | grep -o '<meta name="robots"[^>]*>'
curl -s  https://sitesiniz.com/sayfa | grep -o '<link rel="canonical"[^>]*>'
```

Aranan üç hata: `noindex` beklenmeyen bir sayfada duruyor; canonical başka bir sayfayı gösteriyor; canonical hiç yok.

İlk satırı atlamayın. `X-Robots-Tag` bir HTTP başlığıdır; sayfa kaynağında görünmez, sadece yanıt başlıklarında durur. Üstelik uygulamanız değil, önündeki CDN ya da nginx yapılandırması koymuş olabilir — yani kodunuzda aradığınızda bulamazsınız. Aynı sayfa için hem meta etiketi hem başlık varsa, kısıtlayıcı olan geçerli olur.

**Düzeltme:** Canonical her sayfada kendini göstermeli (kendine referanslı canonical), staging ortamından kopyalanmış noindex etiketleri temizlenmeli. Sitemap ile canonical'ın çelişmemesi de şart; bu ikisinin nasıl birbirini iptal ettiğini [sitemap lastmod yazısında](/tr/blog/sitemap-lastmod-nedir-nasil-kullanilir) ayrı ele aldık.

## 5. Keşif katmanı yok

`sitemap.xml` klasik arama motorları için. Yapay zeka botları için ek iki dosya var: `llms.txt` ve `ai.txt`.

`llms.txt`, sitenizin ne olduğunu tek paragrafta anlatan ve en önemli sayfaları başlıklar altında listeleyen markdown dosyasıdır. Başlık gruplaması öncelik sinyali taşır.

**Kontrol:** `sitesiniz.com/llms.txt` — 404 mü dönüyor?

**Düzeltme:** Oluşturun. Statik bir dosya bile işe yarar, ama içerikten dinamik üretmek daha iyi — böylece yeni yazılar otomatik girer. Dosyanın anatomisi, sektörel iskeletler ve dinamik üretim kodu için [llms.txt rehberine](/tr/blog/llms-txt-nedir-nasil-hazirlanir) bakın; yarım saatlik bir iş.

## 6. Yapılandırılmış veri eksik veya bozuk

Yapay zeka motorları entity ilişkilerinden anlam çıkarır. `Article` schema'sı var ama yazarı yoksa, o içerik "kimin söylediği belirsiz metin" olarak kalır.

Bozuk schema da eksik schema kadar kötü, hatta daha sinsi — çünkü var gibi görünür.

Bu sitede yakaladığımız örnek: SSS verileri veritabanında `{q, a}` alanlarıyla saklanıyordu, ama schema üreten kod `{question, answer}` okuyordu. Sekiz yazıda `FAQPage` çıktısı `undefined` değerlerle yayınlanıyordu.

**Kontrol:** Google Rich Results Test'e sayfa URL'sini verin. Hata ve uyarı sayısı sıfır olmalı. Ayrıca ham çıktıya bakın:

```bash
curl -s https://sitesiniz.com/sayfa | grep -c "undefined"
```

**Düzeltme:** Tek bir `@graph` içinde bağlı entity'ler kurun: `Article` → `author` → `publisher` → `image` → `breadcrumb`. Aynı türden iki şemanın nasıl birbirini iptal ettiğini ve doğru graph yapısını [yapısal veri yazısında](/tr/blog/yapisal-veri-hatasi-ayni-sayfada-iki-sema) örnekle anlattık.

## 7. Sunucu çok yavaş

Botun sabrı sonsuz değil. Sayfanız yanıt vermeye on saniye sonra başlıyorsa bot vazgeçer.

Bu sitede ölçtüğümüz somut örnek: blog listesi sayfası sunucu tarafında **9–15 saniye** sürüyordu. Sebep, dokuz adet 1024×1024 boyutunda ve yaklaşık 1 MB'lık PNG'nin aynı anda AVIF formatına dönüştürülmesiydi. AVIF kodlaması WebP'nin on ila yirmi katı işlem gücü istiyor.

AVIF'i kapatıp WebP'de bırakınca aynı sayfa **1,1–2 saniyeye** indi. Yaklaşık on kat.

**Kontrol:**

```bash
curl -s -o /dev/null -w "%{time_total}s\n" https://sitesiniz.com/blog
```

İki saniyenin üstü sorgulanmalı, beş saniyenin üstü acil.

**Düzeltme:** Görselleri kaynağında küçültün (1600px genişlik çoğu düzen için fazlasıyla yeterli), pahalı görsel formatlarını gözden geçirin, veritabanı sorgularını sadeleştirin. Görsel tarafındaki üç adımlık düzeltmeyi ve ölçümleri [görsel boyutu yazısında](/tr/blog/web-icin-gorsel-boyutu-nasil-kucultulur) topladık.

Bu arada aynı denetimde şunu da bulduk: liste sayfası, kartlarda hiç kullanılmayan tam markdown gövdelerini istemciye gönderiyordu — dokuz yazı için yaklaşık 55 KB gereksiz veri. Sadece gereken alanları seçince yük 22 KB'a indi.

Yavaşlığın bir de sunucu kaynaklı olanı var: paylaşımlı hosting'de süreç ve bellek sınırlarına takılıyorsanız kod tarafında yapabileceğiniz şey biter. Hangi noktada VPS'e geçmek gerektiğini [paylaşımlı hosting yazısında](/tr/blog/paylasimli-hostinge-nextjs-kurulur-mu) rakamlarla anlattık.

## 8. Güvenlik duvarı botu kapıdan çeviriyor

Şimdi listedeki sekizinci ve en sinsi madde. Belirtisi şudur: `robots.txt` tertemiz, sayfa tarayıcıda saniyeler içinde açılıyor, schema kusursuz — ama bot yine de içeri giremiyor.

Sebep genelde sitenizin önündeki güvenlik katmanıdır. Dört yerden gelebilir:

**CDN'in bot yönetimi.** Cloudflare, Fastly ve benzeri sağlayıcılarda "Bot Fight Mode", "Super Bot Fight Mode" ya da yapay zeka tarayıcılarını engelleyen ayrı bir anahtar bulunur. Bunlar iyi niyetli varsayılanlardır: içerik kazımayı engellemek için tasarlanmışlardır ve yapay zeka botlarını da kazıyıcı sayarlar. Cloudflare kullanıyorsanız panelde bu anahtarların durumunu **gözünüzle** doğrulayın; yeni açılan alan adlarında varsayılan olarak açık gelebiliyor.

**Sunucudaki WAF kuralları.** Paylaşımlı hosting'lerin çoğunda ModSecurity ve OWASP kural seti varsayılan olarak açıktır. Bu kuralların bir kısmı "bilinmeyen otomatik istemci" davranışını engeller.

**`.htaccess` ya da nginx içine kopyalanmış user-agent kara listesi.** "Sitenizi kötü botlardan koruyun" başlıklı yazılardan kopyalanan bu listeler yıllar önce yazılmıştır ve genelde `bot` kelimesini içeren her şeyi engeller. `GPTBot` da o listeye takılır.

**Hız sınırı ve fail2ban.** Bir bot sitenizi tararken kısa sürede yüzlerce istek atar. Saldırı gibi görünür, engellenir. Kendi sunucumuzu kurarken fail2ban ve firewalld'ı [ilk saat rehberinde](/tr/blog/yeni-sunucu-nasil-guvenli-hale-getirilir) anlattığımız gibi sıkılaştırdık; o kuralları yazarken meşru tarayıcıları dışarıda bırakmak ayrı bir dikkat gerektiriyor.

**Kontrol:** Aynı adresi farklı user-agent'larla çekip dönen kodları karşılaştırın. Tek komutla:

```bash
SITE="https://sitesiniz.com"
for UA in \
  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)" \
  "Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot)" \
  "Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)" \
  "Mozilla/5.0 (compatible; ChatGPT-User/1.0; +https://openai.com/bot)" \
  "Mozilla/5.0 (compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" \
  "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" \
  "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
do
  kod=$(curl -s -A "$UA" -o /dev/null -w '%{http_code}' "$SITE")
  boyut=$(curl -s -A "$UA" "$SITE" | wc -c | tr -d ' ')
  printf "%-6s %8s  %s\n" "$kod" "$boyut" "${UA:0:52}"
done
```

Beklenen çıktı: bütün satırlarda aynı kod ve birbirine yakın boyut. Sonuçların anlamı:

| Ne görürsünüz | Ne demek |
|---|---|
| Tarayıcı 200, bot 403 | WAF ya da user-agent kara listesi engelliyor |
| Tarayıcı 200, bot 429 | Hız sınırına takılıyor |
| Tarayıcı 200, bot 503 | "Under attack" kipi ya da JavaScript doğrulaması |
| Hepsi 200 ama bot yanıtı çok küçük | Bota doğrulama sayfası dönüyor, içerik değil |
| Hepsi 200 ve boyutlar yakın | Bu madde temiz, listeye devam edin |

Dördüncü satır en tehlikelisi: HTTP kodu 200 olduğu için otomatik izleme araçları "sayfa çalışıyor" der, ama botun eline geçen şey içerik yerine "Tarayıcınız kontrol ediliyor" metnidir.

**Düzeltme:** Meşru yapay zeka botlarını güvenlik katmanında açıkça beyaz listeye alın, hız sınırını makul bir seviyeye çekin, kopyalanmış user-agent kara listelerini silin. Kaynağı doğrulamak isterseniz OpenAI GPTBot'un IP aralıklarını `openai.com/gptbot.json` adresinde yayınlıyor; diğer sağlayıcıların da benzer listeleri var. Böylece "GPTBot" adını taklit eden gerçek kazıyıcıları engellerken, gerçek olanı içeri alabilirsiniz.

## Kesin cevap: sunucu logunda bot var mı

Buraya kadar olan her kontrol dışarıdan bakıyor. Log dosyası ise içeriden bakar ve tartışmayı bitirir: bot geldi mi, hangi sayfaları aldı, ne cevap verdiniz.

Son ziyaretleri görün:

```bash
sudo grep -iE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|PerplexityBot|Applebot|CCBot" \
  /var/log/nginx/access.log | tail -20
```

Hangi bot kaç kez gelmiş:

```bash
sudo zgrep -hioE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-User|PerplexityBot|Bingbot|CCBot" \
  /var/log/nginx/access.log* | sort | uniq -c | sort -rn
```

`zgrep` kullanmamızın sebebi var: loglar günlük olarak sıkıştırılıp `access.log.2.gz` gibi dosyalara döner. Sadece `access.log` okursanız yalnızca bugüne bakmış olursunuz ve "hiç bot gelmemiş" sonucuna yanlışlıkla varırsınız.

Botun aldığı **cevabı** görün — bu, sekizinci maddenin kesin testidir:

```bash
sudo awk '/GPTBot/ {print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn
```

Çıktıda `200` bekleriz. `403` görüyorsanız güvenlik katmanı engelliyor, `429` görüyorsanız hız sınırı var, `404` görüyorsanız bot olmayan adresleri deniyor demektir.

Hangi sayfaları çekmiş:

```bash
sudo awk '/GPTBot/ {print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
```

Bu listenin başında en değerli sayfalarınız duruyor olmalı. Bot yalnızca ana sayfayı ve `robots.txt`'i çekip gidiyorsa keşif katmanınız zayıf demektir — beşinci maddeye dönün.

Apache kullanıyorsanız yollar `/var/log/httpd/access_log` ya da `/var/log/apache2/access.log` olur; alan numaraları aynıdır. CDN arkasındaysanız origin logunda gerçek istemci yerine CDN IP'lerini görürsünüz; bu durumda bot trafiğini CDN panelinden ya da `X-Forwarded-For` başlığını log biçimine ekleyerek izleyin.

Logda **hiçbir kayıt yoksa** üç ihtimal var, sırayla eleyin: bot gerçekten hiç gelmemiştir (keşif sorunu), istek log dosyasına ulaşmadan CDN katmanında kesilmiştir (sekizinci madde) ya da log biçiminiz user-agent alanını hiç yazmıyordur — `combined` yerine `common` biçimi kullanılıyorsa böyle olur.

<!-- GORSEL: chatgpt-okumuyor-inline-2 — Terminal penceresinde bot adlarına göre gruplanmış erişim logu; bir satırda 200, diğerinde kırmızı 403 -->

## Kopyalanabilir kontrol listesi

Sırayla uygulayın, ilk başarısız maddede durup düzeltin:

```bash
SITE="https://sitesiniz.com"

# 1 — AI botları bloklu mu?
curl -s $SITE/robots.txt | grep -A2 -iE "gptbot|google-extended|claudebot|perplexity|ccbot"

# 2 — İçerik sunucuda render ediliyor mu? (0 dönerse hayır)
curl -s $SITE/blog | grep -c "<article"

# 3 — Geçersiz yol 404 dönüyor mu? (200 dönerse sorun)
curl -s -o /dev/null -w "%{http_code}\n" $SITE/deneme.xyz

# 4 — noindex / canonical
curl -sI $SITE | grep -i x-robots-tag
curl -s  $SITE | grep -o '<link rel="canonical"[^>]*>'

# 5 — Keşif katmanı
for f in /sitemap.xml /robots.txt /llms.txt /ai.txt; do
  echo "$(curl -s -o /dev/null -w '%{http_code}' $SITE$f)  $f"
done

# 6 — Schema bozuk mu?
curl -s $SITE/blog/bir-yazi | grep -c '"@type"'
curl -s $SITE/blog/bir-yazi | grep -c 'undefined'

# 7 — Yanıt süresi
curl -s -o /dev/null -w "%{time_total}s\n" $SITE/blog

# 8 — Güvenlik katmanı botu çeviriyor mu?
curl -s -A "Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot)" \
     -o /dev/null -w "%{http_code}\n" $SITE
```

Sekizinci satırın çıktısı dördüncü satırdakiyle aynı değilse, oradan devam edin.

## Öncelik sırası

Hepsini aynı gün yapamıyorsanız sıra şu:

1. **robots.txt** — on dakika, en büyük etki
2. **Güvenlik katmanı** — tek komutla test edilir, tek anahtarla düzelir
3. **Yanıt süresi** — bot vazgeçiyorsa gerisi anlamsız
4. **Duplicate URL** — hangi sayfanın kaynak olduğu netleşmeli
5. **llms.txt** — yarım saat, kalıcı fayda
6. **Schema graph** — orta vadeli, citation kalitesini artırır
7. **Markdown ikiz** — ileri seviye, en çok trafik alan sayfalarla başlayın

İlk dört madde çoğu sitede bir günlük iş ve farkı en çok bunlar yaratıyor.

## Düzelttikten sonra ne kadar sürer

Sabırlı olun. `robots.txt` değişikliği botun bir sonraki ziyaretinde geçerli olur; bu birkaç saat de sürebilir, birkaç hafta da. Ölçmenin doğru yolu ChatGPT'ye sürekli aynı soruyu sormak değil, log dosyasına bakmaktır: engel kalktıktan sonra ilk `200` kaydı geldiğinde teknik iş bitmiş demektir.

Ondan sonrası içerik meselesine döner — modelin sizi kaynak göstermesi için sizde onda olmayan bir bilgi olması gerekir. Hangi içerik türlerinin alıntılandığını ve bunu nasıl ölçeceğinizi [GEO rehberinde](/tr/blog/yapay-zeka-aramalarinda-gorunurluk-geo-rehberi-2026) topladık.

Bu sekiz maddeyi kendi sitenizde bizim denetlememizi isterseniz kapsam [hizmetler sayfasında](/tr/hizmetler) yazılı; benzer altyapının kurulu geldiği hazır çözümler için [ürünler sayfasına](/tr/urunler) bakabilirsiniz.
