AI crawler'ları JavaScript ile oluşturulan içeriği okuyabilir mi?

Yayınlanma

Kısa cevap

Çoğu zaman hayır. Googlebot JavaScript'i sonraki bir adımda işler, ama çoğu AI crawler'ı bunu yaptığını belgelemiyor ve Google da tüm botların JavaScript çalıştıramadığını belirtiyor. Metniniz yalnızca betikler çalıştıktan sonra görünüyorsa, bir AI crawler'ı boş bir sayfa alabilir. Ana içeriği sunucu tarafı oluşturma veya statik sayfalarla ilk HTML'de sunun.

Tek sayfalı uygulamalar ve istemci tarafı çatılar her yerde ve tarayıcıda gayet iyi görünüyor. Yalnızca sunucunuzun gönderdiği HTML'i okuyan bir crawler ise başka bir şey görür: bir <div id="root"></div>, birkaç script etiketi ve çok az metin ya da hiç metin yok. AI yanıtları için o sayfada alıntılanacak bir şey yoktur.

Bu sayfada
  1. AI crawler'ları JavaScript içeriğini neden kaçırır?
  2. Bir crawler'ın ne aldığını nasıl kontrol ederim?
  3. En çok hangi sayfalar risk altında?
  4. Yalnızca JavaScript'teki içeriği nasıl düzeltirim?
  5. Giriş, onay ve ücret duvarı ekranları da AI crawler'larını engeller mi?
  6. AISeeWhy yalnızca JavaScript'e dayanan sayfaları nasıl tespit eder?

AI crawler'ları JavaScript içeriğini neden kaçırır?

JavaScript çalıştırmak pahalıdır. Bir crawler betikleri indirmeli, bir tarayıcı motorunda yürütmeli ve verilerin yüklenmesini beklemelidir. Google bunu Arama için yapar: sayfaları tarar, oluşturma için kuyruğa alır ve kaynaklar elverdiğinde headless Chromium ile oluşturur. Buna rağmen Google, kullanıcılar ve crawler'lar için daha hızlı olduğu için sunucu tarafı oluşturmayı veya prerendering'i öneriyor ve tüm botların JavaScript çalıştıramadığını belirtiyor.

OpenAI, Anthropic ve Perplexity crawler belgelerinde ajanlarının JavaScript yürüttüğünü belirtmiyor. Apple, Applebot'un sayfaları bir tarayıcıda oluşturabileceğini söylüyor. Açık bir ifade olmadığında AI crawler'ları için güvenli varsayım yalnızca ilk HTML'i okudukları yönündedir.

Bir crawler'ın ne aldığını nasıl kontrol ederim?

Oluşturulmuş sayfaya değil, ham HTML'e bakın. Tarayıcı geliştirici araçları betikler çalıştıktan sonraki DOM'u gösterir; bu, bir crawler'ın aldığı şey değildir. Sayfa kaynağını görüntüleyin ya da ham HTML'i komut satırından kaydedip içinde arayın:

curl -s -o page.html \
  -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
  https://example.com/page

# Is a sentence from your main text in the raw HTML?
grep -c "a sentence from your main content" page.html

0 sonucu, cümlenin sunucunun gönderdiği HTML'de olmadığı anlamına gelir; dolayısıyla betik çalıştırmayan crawler'lar onu bulamaz. Dosyaya hızlıca bakmak gerisini anlatır: sunucuda oluşturulmuş bir makalenin tüm metni orada olur; istemci tarafı bir kabukta boş bir kök öğe ve bir betik listesi bulunur.

En çok hangi sayfalar risk altında?

Yalnızca JavaScript'teki içeriği nasıl düzeltirim?

Çözüm, önemli içeriği ilk yanıtta göndermektir. Yığınınızın izin verdiği en hafif seçeneği seçin:

Bütün bir uygulamayı bir anda dönüştürmeniz gerekmez. Alıntılanmasını istediğiniz sayfalarla başlayın: makaleler, belgeler, ürün ve fiyatlandırma sayfaları. Hesap alanları ve panolar zaten bir girişin arkasında olduğundan istemci tarafında kalabilir.

Crawler'lara user agent'larına göre kullanıcılardan farklı bir sayfa sunmaktan kaçının. Herkese aynı HTML'i oluşturmak bakımı daha kolaydır ve cloaking konusunda her türlü şüpheyi önler.

Giriş, onay ve ücret duvarı ekranları da AI crawler'larını engeller mi?

Evet. Bir crawler giriş yapmaz, çerez bannerına tıklamaz ve doğrulama çözmez. Anthropic botlarının CAPTCHA'ları aşmaya çalışmayacağını belirtiyor. Bir onay yöneticisi HTML'de sayfanın yerine tam ekran bir katman koyuyorsa ya da ilk kez gelen ziyaretçileri bir onay sayfasına yönlendiriyorsa, crawler içeriğiniz yerine onu alır.

Herkese açık sayfaların, banner'ı yerine geçen değil üstüne binen bir katman olarak tutarak, onay durumundan bağımsız olarak içeriklerini HTML'de oluşturduğundan emin olun. Alıntılanmasını istediğiniz sayfaları giriş duvarlarının dışında tutun ve crawler'ın bir oturum açma sayfasına yönlendirilmediğini kontrol edin.

AISeeWhy yalnızca JavaScript'e dayanan sayfaları nasıl tespit eder?

AISeeWhy ilk HTML'i her crawler'ın aldığı biçimde, betik çalıştırmadan okur. Bir sayfada neredeyse hiç görünür metin yok, ama bir çatı kök öğesi ve betikler varsa, içeriğin JavaScript gerektirdiğine dair bir P1 bulgusu raporlar. Ayrıca crawler'ları, bir tarayıcının aldığı sayfadan başka bir yere gönderen yönlendirmeleri de işaretler.

Sık sorulan sorular

Googlebot JavaScript'i işler mi?

Evet. Google HTML'i tarar, sayfaları oluşturma için kuyruğa alır ve kaynaklar elverdiğinde headless Chromium ile oluşturur. Google yine de sunucu tarafı oluşturmayı veya prerendering'i öneriyor.

ChatGPT, Claude ve Perplexity crawler'ları JavaScript çalıştırır mı?

Sağlayıcılarının crawler belgeleri bunu söylemiyor. Bir sağlayıcı aksini belirtene kadar crawler'ın ilk HTML'i okuduğunu varsayın ve içeriğinizin onda olduğundan emin olun.

Botlar için dinamik oluşturma iyi bir fikir mi?

Geçici çözüm olarak işe yarar, ama bakımını yapmanız gereken ikinci bir oluşturma yolu ekler. Sunucu tarafı oluşturma veya statik HTML herkese aynı içeriği sunar ve uzun vadede daha basit düzeltmedir.

JavaScript ile eklenen JSON-LD sayılır mı?

Google onu oluşturmadan sonra okuyabilir, ama betik çalıştırmayan crawler'lar görmez. JSON-LD'yi ilk HTML'e koyun.

Kaynaklar

Diğer makaleler