AI Botları JavaScript Siteleri Okuyabilir mi? Render Rehberi
AI crawler’ların JavaScript siteleri ne zaman okuyabildiğini ve SSR, render edilen HTML, bağlantılar, meta etiketler ile API erişimini nasıl test edeceğinizi öğrenin.
Öne Çıkanlar: JavaScript ve AI Botları
5- Bazı crawler’lar JavaScript render eder, bazıları etmez. Temel anlamı tek bir sağlayıcının render yeteneğine bağlamamak gerekir.
- Tarayıcıda eksiksiz görünen bir sayfa, otomatik fetcher’a neredeyse boş uygulama kabuğu, eksik bağlantı veya yanlış meta etiket döndürebilir.
- Statik üretim ve sunucu tarafında render en güvenilir tabanı sağlar; hydration ana içeriği gizlemeden etkileşim ekleyebilir.
- Ham HTML, render edilen DOM, yanıt kodu, engelli kaynaklar ve taranabilir bağlantılar ayrı ayrı test edilmelidir.
- Dinamik render, değiştirebildiğiniz bir site için tercih edilen kalıcı mimari değil, geçici bir çözümdür.
AI botları bazı JavaScript siteleri okuyabilir; fakat her AI sisteminin her sayfayı Chrome gibi render edeceğini varsaymamalısınız. Bir crawler yalnızca sunucu yanıtını alabilir, scriptleri sınırlı çalıştırabilir, kullanıcının isteği üzerine tek URL’ye erişebilir veya API, çerez onayı ya da bot doğrulaması başarısız olduğunda işlemi bırakabilir.
En güvenli teknik standart basittir: sayfanın ana anlamı, temel bağlantıları, canonical URL’si ve indekslenebilirlik sinyalleri sunucu yanıtında bulunmalıdır. JavaScript deneyimi geliştirebilir; cevabın bulunduğu tek yer olmamalıdır.
Sayfa İyi Görünürken Neden Okunamayabilir?
İstemci tarafında render edilen bir siteyi tarayıcıda açtığınızda bir saniye sonra her şey normal görünebilir. İlk sunucu yanıtında ise yalnızca şuna benzer bir yapı bulunabilir:
<div id="app"></div>
<script src="/assets/app.js"></script>
Ürün açıklaması, makale, iç bağlantılar, fiyat ve yapılandırılmış veri; script indirildikten ve API yanıt verdikten sonra gelir. Otomatik sistem bu zinciri tamamlamazsa sayfayı değil yalnızca boş kabuğu görür.
Render süreci ayrıca engelli script, zaman aşımı, bölgesel API kuralı, zorunlu çerez, süresi dolmuş token ve sadece kaydırma ya da tıklamayla yüklenen içerik gibi yeni hata noktaları yaratır.
Render Modelleri Crawler Erişimini Nasıl Etkiler?
| Render modeli | İlk yanıtta ne bulunur? | Keşif güvenilirliği | Ana risk |
|---|---|---|---|
| Statik üretim (SSG) | Build sırasında oluşturulmuş eksiksiz HTML | Sabit içerikte yüksek | Build tetiklenmezse eski içerik kalması |
| Sunucu tarafında render (SSR) | Her istekte veya cache üzerinden oluşturulan eksiksiz HTML | Sunucu sağlıklıysa yüksek | Yoğunlukta yavaş veya tutarsız yanıt |
| Hydration | Faydalı HTML hazır gelir, JavaScript etkileşim ekler | İyi uygulandığında yüksek | Hydration hatası kontrolleri bozabilir, ama içerik kalır |
| İstemci tarafında render (CSR) | Minimal kabuk; sayfayı JavaScript kurar | Değişken | Önemli metin ve bağlantılar başarılı çalışmaya bağlıdır |
| Dinamik render | Botlar render edilmiş, kullanıcılar CSR sürümünü görür | Geçici çözüm | İki çıktı zamanla ayrışır ve bakım yükü yaratır |
Google’ın JavaScript SEO temelleri, tarama, render ve indekslemeyi ayrı aşamalar olarak anlatır. Ayrıca kullanıcılar ve crawler’lar için daha hızlı olduğu, her bot JavaScript çalıştırmadığı için sunucu tarafında veya önceden render yöntemlerini önerir. Google artık dinamik render’ı kalıcı çözüm değil geçici yöntem olarak tanımlıyor.
Bu dokümanlar özellikle Google’ı anlatır. Daha geniş mühendislik dersi yine de geçerlidir: temel erişimi her yanıt motorunun belgelenmemiş render davranışına bağlamayın.
Beş Aşamalı JavaScript Okunabilirlik Testi
Her şablondan örnek URL seçip beş katmanı ayrı ayrı test edin.
1. HTTP yanıtı
Durum kodunu, yönlendirme yolunu, yanıt başlıklarını ve son URL’yi kaydedin. Sayfa tarayıcıda hata gösterirken 200 dönebilir veya yalnızca belirli ülke ve ağlardan gelen isteklere 403 verebilir.
2. Ham HTML
Kaynağı görüntüleyerek veya bir HTTP istemcisiyle sunucu yanıtını inceleyin. Sayfa başlığını, H1’i, ilk paragrafı, canonical’ı, robots direktifini, ana ürün ya da makale verisini ve iç bağlantıları arayın.
Bunların hiçbiri JavaScript çalışmadan görünmüyorsa sayfayı render bağımlı olarak kaydedin.
3. Render edilen DOM
Sayfayı bir render testinde yükleyip son DOM’u ham yanıtla karşılaştırın. Google’a özgü sorun giderme için URL Denetleme ve Zengin Sonuçlar Testi; render edilen HTML’yi, kaynak hatalarını ve konsol sorunlarını gösterebilir. Google’ın JavaScript sorun giderme rehberi bu akışı açıklar.
4. Kaynaklar ve API’ler
Script, stil, font, görsel ve veri API’lerinin kullanıcı oturumu olmadan istenebildiğini kontrol edin. robots.txt engellerini, CORS hatalarını, WAF doğrulamasını, 401, 403, 429 ve yavaş API yanıtlarını inceleyin.
5. Bağlantılar ve etkileşimler
Önemli keşif yolları gerçek href değerli bağlantılar kullanmalıdır. Yalnızca onclick ile rota değiştiren kart ziyaretçide çalışsa bile crawler’a hedef göstermeyebilir. Hover, sekme tıklaması veya sonsuz kaydırma sonrasında gelen temel içerik için de erişilebilir URL ya da sunucu çıktısı gerekir.
En Sık Görülen JavaScript SEO ve AI Hazırlık Sorunları
Boş uygulama kabuğu
Sayfanın anlamlı içeriği yalnızca istemci paketinde bulunur. Açık içerik için SSR veya SSG kullanıp etkileşimli parçaları sonradan hydrate edin.
Yalnızca istemcide oluşan title, canonical ve robots direktifi
Meta etiketler sayfa açıldıktan sonra eklenir veya değiştirilir. Son canonical ve indeksleme talimatını mümkünse ilk HTML’ye koyun. Bir canonical gönderip hydration sonrasında başkasıyla değiştirmeyin.
Yanlış 200 yanıtları
Olmayan ürün veya makale hata mesajı gösterir, fakat sunucu 200 döner. Eksik kaynakta gerçek 404, geçici sunucu sorununda uygun 5xx yanıtı verin.
Buton olarak kurulan bağlantılar
Navigasyon kartları ve sayfalama click handler’a bağlıdır. Gezinme için semantik bağlantı, mevcut sayfadaki işlem için buton kullanın.
Etkileşim bekleyen lazy loading
İlk ekran gelir, ancak karşılaştırma tablosu veya yazının devamı tıklama ya da kaydırma olmadan DOM’a hiç eklenmez. Ana içeriğin HTML’de olduğundan veya kullanıcı hareketi olmadan yüklendiğinden emin olun.
Sayfayla çelişen yapılandırılmış veri
JSON-LD sunucudan, görünen stok veya fiyat daha güncel bir istemci API’sinden gelir. İki çıktının aynı veri kaynağına ve güncelleme politikasına bağlanması gerekir.
İçeriği de geciktiren çerez onayı
Onay yöneticisi analitiği bilinçli olarak bekletirken normal sayfa içeriğini ve bağlantıları da yanlışlıkla gizler. Seçim yapılmamış ve reddedilmiş durumlar dâhil her onay durumunu test edin.
İlk HTML’de Mutlaka Neler Bulunmalı?
Açık editoryal ve ticari sayfalarda şu alanları ilk yanıta koymayı hedefleyin:
- özgün title ve meta description,
- canonical ve dil alternatifleri,
- ana başlık ve doğrudan yanıt,
- ürün, hizmet veya yazıyı tanımlayan temel bilgi,
- ana navigasyon ve bağlamsal iç bağlantılar,
- gerektiğinde görünür yazar, kurum ve tarih bilgisi,
- görünür sayfayla eşleşen yapılandırılmış veri.
Etkileşimli hesaplayıcı veya canlı stok seçici istemci tarafında kalabilir. Çevresindeki açıklama, mevcut seçenekler ve hedef bağlantılar JavaScript kapanınca kaybolmamalıdır.
ChatGPT, Claude ve Perplexity İçin Durum Ne?
Sağlayıcı botlarının amaçları farklıdır. Arama crawler’larını, eğitim crawler’larını ve kullanıcı isteğiyle çalışan fetcher’ları tek render motoru gibi değerlendirmemek gerekir. Açık dokümanlar genellikle bot kimliği ve erişim kontrolünü, kalıcı JavaScript çalıştırma özelliklerinden daha net açıklar.
Bu nedenle mimari, tahmin edilen bir yeteneği hedeflemek yerine kontrollü şekilde geriye uyum sağlamalıdır. OpenAI, ChatGPT arama uygunluğu için OAI-SearchBota izin verilmesini önerir ve sunucu ya da CDN engelinin erişimi yine kesebileceğini belirtir. Bot politikalarının ayrıntısı AI bot trafiği ve crawl log analizi rehberinde yer alıyor.
İstemci Tarafında Render Edilen Site İçin Geçiş Listesi
Tüm ürünü bir kerede yeniden yazmanız gerekmez. Keşif ve karar sürecini destekleyen açık şablonlardan başlayın.
- Rotaları çıkarın ve şablona göre gruplayın.
- Her gruptan bir URL’nin ham ve render edilmiş HTML’sini kaydedin.
- Title, canonical, ana metin, temel veri ve iç bağlantıları sunucu ya da statik çıktıya taşıyın.
- Filtre, kişiselleştirme, hesaplayıcı ve hesap işlemlerinde JavaScript kullanmaya devam edin.
- Doğru durum kodlarını sunucudan verin.
- API ve asset erişimini bölgeler ve doğrulanmış crawler’lar arasında tutarlı hâle getirin.
- Yayından sonra görünür içerikle yapılandırılmış veriyi karşılaştırın.
- Log, indeksleme, AI kaynak gösterimi ve gerçek yönlendirme oturumlarını izleyin.
Diğer teknik ve editoryal katmanları AI Site Denetimi Kontrol Listesi ile inceleyebilirsiniz. Brantial Site Auditor tekrar eden sorunları etkilenen her URL’yi ayrı görev yapmadan şablon bazında gruplamaya yardımcı olur.
Sık Sorulan Sorular
AI görünürlüğü için SSR zorunlu mu?
Her durumda değil; ancak temel açık içeriği bilinmeyen bir render motoruna bağlamadan iletmenin en güvenilir yollarından biridir. İstek bazlı çıktı gerektirmeyen içerikte statik üretim de uygundur.
Hydration güvenli mi?
Anlamlı HTML önce geliyor ve hydration yalnızca etkileşim ekliyorsa evet. Hydration hatalarını test edin; navigasyon ile formların erişilebilir kaldığından emin olun.
Uygulamayı yeniden yazmadan prerender kullanılabilir mi?
Geçiş adımı olabilir. Bota özel dinamik render’ı geçici tutun ve bot ile kullanıcı sürümlerini eşdeğer bırakın. Zaman içinde tek ve bakımı kolay render yolunu tercih edin.
Tarayıcıda başarılı test crawler’ın sayfayı okuduğunu kanıtlar mı?
Hayır. Tarayıcı testi yalnızca o ortamdaki kullanıcı yolunun çalıştığını gösterir. Ham yanıtı, render edilen DOM’u, kaynakları, durum kodlarını, bağlantıları ve logları ayrı ayrı inceleyin.