Rehber
İçerik yalnızca JavaScript ile oluşuyorsa: SSR, statik üretim ve JavaScript SEO
Sunucunun gönderdiği HTML boşsa ve metin ancak JavaScript çalışınca beliriyorsa, arama motorları içeriği geç, eksik ya da hiç göremeyebilir. Sunucu tarafı render seçeneklerini anlatıyoruz.
Modern web uygulamalarının çoğu, sayfayı tarayıcıda JavaScript ile oluşturur. Sunucu yalnızca boş bir iskelet ve bir betik dosyası gönderir; başlıklar, metinler ve bağlantılar betik çalışınca belirir.
Google JavaScript'i çalıştırabilir, ama bu bir bedelle gelir: render ayrı bir aşamadadır, gecikebilir, kaynak sınırlarına takılabilir ve hata olursa içerik hiç görülmez. Diğer arama motorları ve sosyal ağ önizleme botlarının çoğu ise JavaScript'i hiç çalıştırmaz.
KTYAPTECH SEO Analyzer bu sorunu RENDER-CONTENT-REQUIRES-JAVASCRIPT-001 koduyla, “Ana içerik yalnızca JavaScript çalışınca oluşuyor” başlığı altında ve yüksek önem derecesiyle raporlar (Teknik SEO). Bu rehber, bulgunun ne anlama geldiğini, neden önemli olduğunu ve adım adım nasıl düzeltileceğini anlatıyor.
JavaScript'e bağımlı içerik nedir?
Bu bulgu, sayfanın ham HTML'inde anlamlı metin bulunmadığını, ana içeriğin ise yalnızca JavaScript çalıştıktan sonra oluştuğunu gösterir. SEO Analyzer bunu ham HTML ile render edilmiş sayfadaki metin miktarını karşılaştırarak tespit eder.
Bu yaklaşıma istemci tarafı render (CSR) denir. Alternatifleri sunucu tarafı render (SSR), statik site üretimi (SSG) ve bunların karışımlarıdır.
Neden önemli? SEO ve kullanıcı deneyimine etkisi
İçeriğin dizine eklenmesi render aşamasına bağlı hale gelir. Render gecikirse yeni içerik geç görünür; bir betik hatası, zaman aşımı veya engellenmiş bir API isteği içeriğin hiç görülmemesine yol açar.
Kullanıcı tarafında da ilk içeriğin görünme süresi uzar, özellikle yavaş cihazlarda. Bu, Largest Contentful Paint gibi Core Web Vitals metriklerini olumsuz etkiler.
Sorun nasıl tespit edilir?
- SEO Analyzer raporundaki “Ana içerik yalnızca JavaScript çalışınca oluşuyor” bulgusunu inceleyin.
- Tarayıcıda JavaScript'i kapatıp (geliştirici araçları > ayarlar) sayfayı yenileyin; içerik kayboluyorsa sayfa JavaScript'e bağımlıdır.
- curl ile ham HTML'i alın ve ana başlık ile metnin orada olup olmadığına bakın.
- Search Console URL Denetimi'nde render edilmiş HTML ve ekran görüntüsünü kontrol edin.
Adım adım çözüm
- Hangi sayfa türlerinin arama trafiği için önemli olduğunu belirleyin (ürün, kategori, blog, hizmet sayfaları).
- Bu sayfaları sunucu tarafı render (SSR) veya statik üretim (SSG) ile sunun; Next.js, Nuxt, SvelteKit, Angular SSR gibi araçlar bunu destekler.
- Sık değişmeyen içerik için statik üretim ve belirli aralıklarla yenileme (ISR) kullanarak hem hızı hem güncelliği sağlayın.
- Başlık, açıklama, canonical ve iç bağlantıların ham HTML'de olduğundan emin olun.
- Bağlantılar için gerçek <a href> etiketleri kullanın; yalnızca onClick ile çalışan gezinme bağlantıları taranamaz.
- Kısa vadeli bir çözüm olarak dinamik render (botlara önceden render edilmiş HTML sunma) kullanılabilir; Google bunu kalıcı çözüm olarak önermez.
Hangi render yöntemini seçmeli?
İçeriği herkes için aynı olan sayfalar (blog, hizmet, ürün) statik üretime çok uygundur. Kişiye veya anlık veriye göre değişen sayfalar için SSR uygundur. Kullanıcıya özel paneller gibi dizinde olmayacak sayfalar ise istemci tarafı render ile kalabilir.
Hidrasyon hataları
SSR kullanan uygulamalarda sunucunun ürettiği HTML ile istemcinin ürettiği HTML farklıysa hidrasyon hataları oluşur ve içerik yeniden çizilir. Bu hem performansı düşürür hem de içeriğin geçici olarak kaybolmasına yol açabilir; konsoldaki hidrasyon uyarılarını ciddiye alın.
Sık yapılan hatalar
- Google JavaScript'i çalıştırıyor diye sunucu tarafı içeriği gereksiz saymak.
- API isteklerini robots.txt ile engellemek (render sırasında veri gelmez).
- Gezinmeyi yalnızca onClick ile yapmak.
- Kaydırınca yüklenen içeriği yalnızca kullanıcı etkileşimine bağlamak.
Düzeltmeyi nasıl doğrularsınız?
- curl çıktısında ana başlık ve metnin göründüğünü kontrol edin.
- JavaScript kapalıyken sayfanın okunabilir olduğunu görün.
- SEO Analyzer'ı yeniden çalıştırın.
Sık sorulan sorular
Google JavaScript'i çalıştırmıyor mu?
Çalıştırıyor, ancak ayrı bir aşamada ve kaynak sınırlarıyla. İçeriği ham HTML'de sunmak dizine eklemeyi hızlı ve güvenilir hale getirir.
React ile yapılmış sitem SEO uyumlu olamaz mı?
Olabilir. Next.js gibi SSR/SSG destekleyen bir framework ile React siteleri tamamen SEO uyumlu yapılabilir.
Dinamik render hâlâ geçerli bir çözüm mü?
Google onu geçici bir çözüm olarak görür ve SSR, statik üretim veya hidrasyonu önerir.
Özet
Arama trafiği için önemli sayfaların içeriği ham HTML'de hazır gelmelidir. SSR veya statik üretim kullanın, bağlantıları gerçek <a href> etiketleriyle verin ve JavaScript'i içeriği oluşturmak için değil, etkileşimi eklemek için kullanın.
Sitenizde bu ve benzeri sorunların olup olmadığını görmek için KTYAPTECH Ücretsiz SEO Analizi aracını kullanabilirsiniz: rapordaki her bulgunun yanında, sorunu anlatan çözüm rehberine giden bir bağlantı bulunur.
Kategoriler
Etiketler
Kaynaklar
Paylaş
İlgili içerikler
URL'de büyük harf kullanmak SEO'ya zarar verir mi?
Adres yolları büyük-küçük harfe duyarlıdır: /Urunler ve /urunler farklı adreslerdir. Büyük harf kullanımının yarattığı yinelenen adres ve kırık bağlantı riskini anlatıyoruz.
2 dk okuma
Yazıyı okuSonda eğik çizgi (trailing slash): /sayfa ve /sayfa/ ikisi de açılıyorsa
Aynı sayfa hem eğik çizgili hem eğik çizgisiz adreste 200 dönüyorsa Google iki ayrı sayfa görür. Tek bir biçim seçip diğerini yönlendirmeyi anlatıyoruz.
3 dk okuma
Yazıyı okuÇok parametreli adresler: filtre ve sıralama URL'leri taramayı nasıl etkiler?
Renk, beden, fiyat ve sıralama filtreleri birleştikçe binlerce adres üretilir. Google bu adresleri taramaya çalışırken önemli sayfalarınıza sıra gelmeyebilir. Parametre yönetimini anlatıyoruz.
3 dk okuma
Yazıyı oku
