JavaScript SEO
İçeriği tarayıcıda JavaScript ile üretilen sitelerin arama motorları ve yapay zekâ tarayıcıları tarafından görülebilir olmasını sağlama pratiğidir.
Sunucudan boş bir kabuk gönderip içeriği tarayıcıda üretirsen, o içeriği görebilmek için ziyaretçinin JavaScript çalıştırması gerekir.
Google bunu (gecikmeli de olsa) yapar. Ama sosyal önizleme botları, bazı içerik toplayıcılar ve birçok yapay zekâ tarayıcısı için bu garanti değildir.
Üç render stratejisi:
| Strateji | İçerik nerede üretilir | Tarayıcı ne görür |
|---|---|---|
| İstemci (CSR) | Ziyaretçinin tarayıcısında | Boş kabuk + JS |
| Sunucu (SSR) | İstek anında sunucuda | Tam HTML |
| Statik üretim (SSG) | Build sırasında | Tam HTML |
Kritik metin HTML'de olmalıdır. Başlıklar, gövde metni, tablolar ve iç bağlantılar sunucudan gelen HTML'de bulunmalı; JavaScript yalnızca zenginleştirmeli.
Yönlendirme: Sayfalar arası gezinme History API ile kurulur. URL fragment'ı (#/sayfa) ile yönlendirme yapılırsa fragment sunucuya gitmez ve arama motoru sayfaları ayrı belge olarak göremez.
Bağlantılar: Gezinme gerçek <a href> ile yapılmalı; onclick ile yönlendiren öğeler taranamaz.
Yapay zekâ tarayıcıları: Sağlayıcıların JavaScript işleyip işlemediğine dair açık ve kapsamlı bir taahhüt yoktur. GEO iddiası olan bir sitede kritik metnin HTML'de olmaması ölçülemeyen bir risktir.
GEO katmanının teknik ön koşuludur: alıntılanabilir yazmak, alıntılayacak tarafın metni görebilmesine bağlıdır. Bu skill'in kendi dokümantasyon sitesi de tam bu hatayı yaptı ve düzeltildi — 41 terim tek bir URL'in arkasında, sunulan HTML'de 548 karakter metinle duruyordu.
Belirti: curl -s https://site.com/sayfa | wc -c büyük bir sayı veriyor ama grep -c '<h1' sıfır dönüyorsa, içerik JavaScript'te demektir. Aynı kontrolü curl -A "Slackbot" ile tekrarlamak, sosyal önizlemenin ne göreceğini de gösterir.
"Google JavaScript'i çalıştırıyor, sorun yok." Google çalıştırır ama gecikmeli ve garantisiz; diğer tarayıcılar için taahhüt yok. "SSR sadece performans içindir." Görülebilirlik de doğrudan buna bağlıdır.