Aller au contenu
SEO Temelleri

JavaScript ve SEO: Render ve İndeksleme

9 min

Google JavaScript'i render edebilir; ancak sitenin otoritesine göre birkaç saniyeden birkaç haftaya uzanan bir gecikmeyle. Kritik içerikler (ana metin, bağlantılar, yapılandırılmış veriler) görünür olmak için JavaScript'e bağımlı olmamalıdır. Server-Side Rendering (SSR) veya prerendering önerilen çözümlerdir.

Modern JavaScript framework'leri (React, Vue, Angular, Next.js) web geliştirmede hakimdir. Ancak SEO ile ilişkileri hâlâ karmaşıktır: Google JS render etmede ilerlemiş olsa da kısmi veya gecikmeli indeksleme riskleri gerçek ve maliyetlidir.

Google JavaScript'i Nasıl İşler

Googlebot sayfanın ilk HTML'sini indirir, ardından JavaScript render'ını bir kuyruğa (WRS — Web Rendering Service) koyar. Tam render, sitenin popülaritesine ve motorun yüküne bağlı olarak saniyeler, günler, hatta haftalar sonra gerçekleşebilir.

Bu render gecikmesi, yalnızca JS içeriğinin statik HTML içeriğinden sistematik olarak daha geç indekslendiği anlamına gelir. Düşük otoriteli bir sitede bazı içerikler hiç doğru render edilmeyebilir.

İndeksleme İçin Somut Riskler

Yalnızca kullanıcı etkileşiminin ardından (tıklama, kaydırma, sekme) görüntülenen içerik Googlebot tarafından hiç görülmez. SSS akordeonları, içerik sekmeleri ve üzerine gelindiğinde gösterilen içerikler en yaygın durumlardır.

JavaScript tarafından dinamik olarak üretilen bağlantılar Googlebot tarafından her zaman takip edilmez. Dahili linkleme yapınız sayfa yüklendikten sonra oluşturulan bağlantılara dayanıyorsa, mimarinizin bir kısmı tarayıcı için görünmez kalır.

  • Tıklama veya hover olayının arkasındaki içerik: indekslenmiyor.
  • HTML fallback'i olmayan saf JS hamburger menüsündeki bağlantılar: potansiyel olarak görmezden geliniyor.
  • JS aracılığıyla enjekte edilen JSON-LD yapılandırılmış veriler: gecikmeli render, zengin sonuçlara geç uygunluk.
  • İstemci taraflı üretilen meta etiketler: ilk taramada title ve description potansiyel olarak eksik.
  • Özel URL'si olmadan AJAX ile yüklenen sayfalandırma metni: görünmez içerik.

Önerilen Çözümler

Server-Side Rendering (SSR), tarayıcıya göndermeden önce sunucuda tam HTML üretir. Googlebot, JavaScript render'ını beklemeden ilk taramada zengin bir HTML alır. Next.js, Nuxt.js ve SvelteKit yerel olarak SSR sunar.

Static Site Generation (SSG), her build'de sayfaları önceden üretir. SSR'den bile daha hızlı; ancak yalnızca seyrek güncellenen içerikler için uygundur.

SSR'e geçiş mümkün değilse Rendertron veya Prerender.io gibi bir hizmet aracılığıyla prerendering, Googlebot'u algılar ve sayfanın önceden render edilmiş statik HTML versiyonunu sunar.

SPA (Single Page Application) mimarisinden SSR'e geçen siteler, geçişin ardından 60 gün içinde ortalama %20-50 daha fazla sayfanın indekslendiğini gözlemliyor.

2025-2026 SSR geçişleri ve indeksleme sektörel araştırmaları

Sitenizdeki JS Render Sorunlarını Teşhis Etmek

Search Console'daki URL denetleme aracı, sayfanın Googlebot'un gördüğü hali için bir ekran görüntüsü sunar. Bu görüntüyü tarayıcınızdaki gerçek görüntüyle karşılaştırın: her fark bir render sorununu ortaya koyar.

Ayrıca Chrome'da JavaScript'i devre dışı bırakarak test edin (DevTools > Settings > Debugger > Disable JavaScript): sayfanız hiçbir şey görüntülemiyorsa veya navigasyon bağlantılarını yitiriyorsa çözülmesi gereken kritik bir SEO sorununuz var demektir.

FAQ

Google bir SPA (Single Page Application) uygulamasını doğru biçimde indeksleyebilir mi?

Evet, ancak sınırlamalar ve gecikmelerle. SPA içerikleri JavaScript render'ından sonra indekslenir; bu birkaç hafta sürebilir. Rekabetçi sitelerde bu gecikme gerçek bir dezavantajdır. SSR veya prerendering en güvenilir çözüm olmaya devam ediyor.

Next.js SEO için iyi bir tercih midir?

Evet, piyasadaki en SEO dostu framework'lerden biridir. Yerel olarak SSR, SSG ve ISR (Incremental Static Regeneration) sunar. Meta etiketler, sitemap ve yapılandırılmış veriler karmaşık yapılandırma gerekmeksizin sunucu taraflı üretilebilir.

Sekme veya akordeon içindeki içerikler indekslenir mi?

Google, CSS ile gizlenen içeriklerin (display:none veya visibility:hidden) indekslenebileceğini ancak daha düşük ağırlıkla değerlendirileceğini belirtiyor. JavaScript etkileşiminin arkasındaki içerik daha sorunludur. SSS veya önemli bilgiler için yerel HTML (details/summary) ile gösterim tercih edin ya da içeriğin ilk HTML'de mevcut olduğundan emin olun.

JavaScript'i tüm botlar için mi yoksa yalnızca Google için mi uyumlu hale getirmek gerekir?

Google, JavaScript'i aktif olarak render eden tek motordur. Bing ilerleme kaydediyor ancak geride kalıyor. Kitleniz öncelikli olarak Google'dan geliyorsa çabalarınızı Googlebot uyumluluğuna odaklayın. SSR mimarisi otomatik olarak tüm botlara yarar sağlar.