Hızlı Cevap
JavaScript ile yüklenen içerikler başarıyla taranmış olsa bile; title ve meta etiketler, canonical tag, href içermeyen iç bağlantılar ve JSON-LD structured data, ikinci dalga render’a bağımlı kaldığından render timeout, crawl budget yetersizliği veya AI crawler’ların JavaScript’i okuyamaması nedeniyle tamamen kaybolabilir ya da yanlış indexlenebilir.
Önemli Noktalar
- Googlebot iki aşamada işler; render ikinci dalgada saatler sonra gerçekleşir
- JS ile enjekte edilen canonical çakışınca Google doğru sürümü seçemeyebilir
- href içermeyen JS bağlantıları Googlebot tarafından hiç keşfedilmez
- AI crawler’lar JS render edemez; AI Overview görünürlüğü tehlikededir
- SSR ile içerik initial HTML’de sunulur; tüm sinyaller birinci dalgada güvendedir
Googlebot’un İki Aşamalı Render Modeli: Birinci Dalgada Neler Gözden Kaçar?
Googlebot, JavaScript ile oluşturulan sayfaları tek seferde değil, iki ayrı dalga hâlinde işler. Birinci dalgada yalnızca ham HTML dosyası indirilir; bu aşamada JavaScript kodu henüz çalıştırılmamıştır. İkinci dalgada sayfa, Googlebot’un Chromium tabanlı motoru tarafından render kuyruğuna alınır ve işlenir. Google Search Central’ın resmi belgelerine göre bu iki dalga arasındaki süre saatlerden günlere kadar uzayabilir; yüksek crawl yükü dönemlerinde bazı sayfalar render kuyruğunda haftalar geçirebilir.
Render kuyruğu kapasitesi ve crawl budget kısıtları, ikinci dalganın gerçekleşip gerçekleşmeyeceğini doğrudan etkiler. Render süresi 8 saniyeyi aştığında Googlebot sayfayı zaman aşımına uğratır ve yalnızca birinci dalgada gördüğü sinyallerle yetinir; 2026 yılında da büyük e-ticaret sitelerinde kısmi indexleme sorunlarının devam ettiğine dair raporlar bu riski somutlaştırmaktadır. Google Search Console’un “Discovered — currently not indexed” kuyruğunda biriken URL’ler çoğunlukla render bekleyen sayfaları temsil eder; crawl budget yetersizse bu sayfalar hiç render edilmeyebilir ve sinyaller kalıcı olarak kaybolabilir.
Mart 2026’da Google, resmi JavaScript SEO belgelerinden “no-JS fallback” uyarısını kaldırdı. ALM Corp’un Mart 2026 analizi bu güncellemeyi ayrıntılı biçimde belgelemektedir: Googlebot’un evergreen Chromium motoru artık JavaScript’i daha güvenilir şekilde işlese de render timeout, crawl budget sınırları ve render kuyruğu kapasitesi sorunları pratik bir risk olarak varlığını sürdürmektedir. Teknik SEO terimlerini Türkçe olarak inceleyin ve render süreciyle ilgili kavramları eksiksiz öğrenin.
Meta Etiketler ve Canonical: JS ile Enjekte Edilince Hangi Sinyaller Risk Altında?
Title, meta description ve Open Graph etiketleri JavaScript ile dinamik olarak enjekte edildiğinde bu sinyaller yalnızca ikinci dalga render tamamlandıktan sonra Googlebot tarafından görülebilir. Render gecikmesi veya timeout yaşanırsa söz konusu etiketler birinci dalgada bulunmaz; indexlenme süreci ya gecikir ya da tamamen yanlış sinyallerle ilerler. Bir SPA’nın ürün listeleme sayfasını düşünün: title etiketi JavaScript ile dinamik olarak ayarlanıyorsa ve render başarısız olursa Google bu sayfanın başlığını hiç okuyamayabilir ya da varsayılan boş bir değer alabilir.
Canonical tag çakışması bu kategoride özellikle kritik bir sorundur. Ham HTML’de bir canonical tanımlanmış ve JavaScript render sonrasında farklı bir canonical oluşturuluyorsa Google hangi sürümü tercih edeceği konusunda belirsizliğe düşer. Google Search Central belgelerine göre canonical çelişmelerinde Google kendi kararını verir ve her zaman sitenin istediği sonucu üretmez; bu durum aynı içeriğin yanlış URL altında indexlenmesine ve duplicate content sorununa yol açabilir.
Fragment (#/) routing kullanan SPA’larda meta etiket kayıpları daha da derinleşir. Her “sayfa” aslında aynı URL’nin farklı JavaScript durumlarıdır; Googlebot bu durumları ayrı sayfalar olarak değerlendiremediğinden duplicate content riski ortaya çıkar. Bunun yanı sıra robots.txt ile JavaScript kaynak dosyalarının engellenmesi, JS bağımlı tüm sinyalleri anında geçersiz kılar — bu nedenle hangi JavaScript varlıklarının Googlebot tarafından taranabildığini düzenli aralıklarla doğrulamak kritik önem taşır.
İç Bağlantılar ve Structured Data: JS Render Sonrası Sessiz Kayıplar
Googlebot, standart <a href> bağlantılarını güvenilir şekilde keşfeder; ancak JavaScript event listener’larla veya onClick işleyicileriyle oluşturulan, href attribute’ü içermeyen bağlantılar Googlebot tarafından görülmez. Bu sessiz kayıp iç bağlantı mimarisini doğrudan etkiler: bir kategori sayfasına veya kritik bir ürün detay sayfasına giden önemli bir link, yalnızca JavaScript ile oluşturulduğu için Googlebot’un keşif listesine hiç girmeyebilir ve bağlantılı sayfa indexlenmeyebilir. Backlink sinyallerinin doğru indexlenip indexlenmediğini kontrol edin — aynı prensip iç bağlantı sinyalleri için de geçerlidir.
Lazy loading ve kullanıcı etkileşimi gerektiren içerikler ikinci kritik risk alanını oluşturur. Scroll, click veya hover aksiyonuyla tetiklenen özel lazy loading implementasyonlarında Googlebot herhangi bir kullanıcı etkileşimi gerçekleştirmediğinden bu şekilde yüklenen içerikler, iç bağlantılar ve görseller Googlebot’un görüş alanı dışında kalır. Tarayıcının yerel loading=lazy özelliği Googlebot tarafından doğru şekilde desteklenirken, JavaScript tabanlı özel scroll-triggered implementasyonlar bu güvenceyi sağlamaz ve içeriği etkili biçimde gizler.
Structured data alanında en yüksek risk JSON-LD’nin JavaScript ile enjekte edilmesidir. Rewati Khare’nin 2026 teknik analizine göre render timeout ve crawl budget kısıtları bu riski büyük sitelerde hâlâ aktif kılmaktadır: render hatası veya 8+ saniyelik timeout durumunda JSON-LD tamamen kaybolur ve rich result görünürlüğü yitirilir. Shadow DOM yapıları ve dinamik DOM mutasyonları da Googlebot’un düzgün işleyemediği alanlar olarak belgelenmiştir — bu nedenle structured data’yı her zaman initial HTML’e gömmek teknik SEO’nun değişmeyen temel kurallarından biridir.
GSC Verileriyle Ölçtük: Tarama Başarılı Olsa Bile Kayıp Kalan Sinyaller
JavaScript render sorunlarını soyut tartışmaktan çok, ölçülebilir verilerle somutlaştırmak mümkündür. Google Search Console’da “Discovered — currently not indexed” kategorisindeki URL sayısıyla fiilen render edilen sayfa sayısını karşılaştırmak, sinyal kaybının gerçek boyutunu ortaya koyar. Bir e-ticaret sitesinde bu iki rakam arasındaki fark %30’u geçtiğinde büyük olasılıkla render kuyruğu tıkanıklığı ya da crawl budget yetersizliği yaşandığını anlamak gerekir. 2026 bulguları, 8+ saniyelik render süresi yaşayan e-ticaret sitelerinde kısmi indexleme sorunlarının hâlâ devam ettiğini ortaya koymaktadır.
GSC’nin Rich Results raporu, JavaScript ile eklenen structured data’nın gerçekte görünüp görünmediğini test etmek için kritik bir araçtır. Google Rich Results Test’te “Source HTML” (ham) ile “Fetched URL” (render edilmiş) çıktılarını karşılaştırdığınızda JSON-LD yalnızca render versiyonunda görünüyorsa bu yapısal veri ikinci dalgaya bağımlıdır ve timeout riski taşır. SSR’a geçiş yapan sitelerde bu karşılaştırmanın öncesi ve sonrasına bakıldığında rich result sayısında, iç bağlantı keşfinde ve indexleme hızında belirgin iyileşmeler gözlemlenmektedir.
Crawl log analizi render süreciyle ilgili en kesin kanıtları sunar. Googlebot’un her URL ziyaretini, timestamp’i ve HTTP durum kodunu kayıt altına alan sunucu logları, hangi sayfaların ikinci dalga render’ı tamamladığını ve hangilerinin timeout’a düştüğünü net biçimde ortaya koyar. Bu verilerle crawl budget’ın nerede tükendiğini, hangi sayfaların render kuyruğunda beklediğini ve hangi render sinyallerinin düzenli olarak kaçırıldığını tespit etmek mümkün hâle gelir.
AI Crawler’lar ve 2026’da Değişen Risk Tablosu: Yeni Bir Sinyal Kaybı Kategorisi
2026 yılında JavaScript SEO’nun risk tablosuna yeni ve kritik bir boyut eklendi: AI crawler’lar. ChatGPT, Perplexity ve Gemini gibi yapay zeka destekli arama platformlarının tarama botları JavaScript render edemez. Bu, JavaScript ile yüklenen içeriğin AI Overview yanıtlarında, Perplexity sonuçlarında ve benzeri platformlarda görünmeme riski taşıdığı anlamına gelir. Search Engine Land’in 2026 analizine göre bu crawler’lar için no-JS fallback gerekliliği, Googlebot için resmi dokümantasyondan kaldırılmış olmasına karşın hâlâ kritik önemini korumaktadır.
Googlebot için Mart 2026’da kaldırılan no-JS fallback uyarısı AI crawler’lar için geçerliliğini tam olarak korumaktadır. Bu iki kategori arasındaki pratik fark son derece önemlidir: Googlebot için söz konusu olan render kuyruğu gecikmesi ve timeout sorunu iken, AI crawler’lar için mesele daha temeldir — bu botlar JavaScript’i hiç render etmez ve yalnızca initial HTML’i işler. Dolayısıyla aynı JavaScript ağırlıklı içerik, Googlebot ve AI platformları açısından farklı türde riskler taşır ve her biri için ayrı önlem stratejisi geliştirmek gerekir.
AI görünürlük kaybını izlemek için kullanılabilecek başlıca yöntemler şunlardır: no-JS koşullarında içeriğin nasıl göründüğünü curl ile test etmek, AI platformlarında marka ve içeriğin nasıl temsil edildiğini düzenli kontrol etmek ve server-side render edilmiş içeriğin her iki platform için de erişilebilir olduğunu doğrulamak. AI görünürlüğünüzü izleyin ve ChatGPT’de bahsedilme oranınızı takip edin — bu yeni risk kategorisi için proaktif bir izleme yaklaşımı giderek daha kritik hâle gelmektedir.
| SEO Sinyali | SSR (Next.js) | CSR (CRA) | ISR | Prerendering |
|---|---|---|---|---|
| Meta etiket indexlenme hızı | Birinci dalgada — hızlı | İkinci dalgaya bağımlı | Birinci dalgada — hızlı | Birinci dalgada — hızlı |
| Canonical tag güvenilirliği | Yüksek | Çakışma riski var | Yüksek | Yüksek |
| İç bağlantı keşfi | Tam keşif | Kısmi / kayıp riski | Tam keşif | Tam keşif |
| Structured data (JSON-LD) güvenilirliği | Yüksek | Timeout riski | Yüksek | Yüksek |
| Lazy loading içerik riski | Düşük | Yüksek | Düşük | Düşük |
| AI crawler görünürlüğü | Yüksek | Görünmez | Yüksek | Yüksek |
| Crawl budget etkisi | Düşük yük | Yüksek yük | Düşük yük | Çok düşük yük |
| Render timeout riski | Yok | Yüksek | Yok | Yok |
Kayıp Sinyalleri Azaltmak: SSR, ISR ve Prerendering Arasındaki Fark
Render stratejisi seçimi JavaScript SEO risk düzeyini doğrudan belirler. SSR (Server-Side Rendering) ile içerik initial HTML’de sunulduğundan Googlebot birinci dalgada tüm sinyallere ulaşır; title, canonical, structured data ve iç bağlantılar ikinci dalgaya gerek kalmadan işlenir. CSR (Client-Side Rendering) ile ise tüm içerik JavaScript render sonrası oluştuğundan bu sinyallerin tamamı ikinci dalgaya kalır; render timeout ve crawl budget riski önemli ölçüde artar. Next.js gibi çerçeveler SSR’ı kolayca yapılandırırken, Create React App gibi araçlar varsayılan olarak CSR üretir.
ISR (Incremental Static Regeneration) ve static prerendering, sinyal sağlamlığı açısından SSR’a yakın sonuçlar verir. İçerik derleme zamanında ya da belirli yenileme aralıklarıyla statik olarak üretildiğinden initial HTML zaten zengindir; Googlebot ikinci dalgaya ihtiyaç duymadan tüm sinyallere erişebilir. AI crawler’lar açısından değerlendirildiğinde SSR ve prerendering açık ara en güvenli seçeneklerdir çünkü her iki strateji de JavaScript çalışmadan okunabilir, eksiksiz içerik sunar.
Pratik adımlar arasında şunlar öne çıkmaktadır: JSON-LD structured data’yı initial HTML’e taşıyın; tüm iç bağlantıların standart <a href> yapısını kullandığından emin olun; canonical tag’i ham HTML’e yerleştirin; büyük sitelerde gereksiz JavaScript render yükünü azaltarak crawl budget kullanımını optimize edin. Site sağlığı aracıyla JS kaynaklı sinyal kayıplarını otomatik tespit edin — SEOYEN’in site denetim aracı, bozuk iç bağlantıları, eksik structured data’yı ve canonical çakışmalarını Türkçe arayüzde otomatik raporlar. Ahrefs ve SEMrush bu kontrolleri uluslararası arayüzde sunarken, SEOYEN TL bazlı güncel fiyatlandırması ve yerel Türkçe destek hattıyla Türkiye pazarının teknik SEO ihtiyaçlarına özel, tek platformda tam çözüm sunar.
Adım Adım: JS Render Kaynaklı SEO Sinyal Kayıplarını Tespit Etme
- URL Inspection ile sayfanın render durumunu doğrula: GSC üzerinden URL Inspection aracını açın, Rendered page görünümünü alın ve initial HTML ile karşılaştırın; meta etiketler, canonical ve linkler eşleşiyor mu kontrol edin.
- Ham HTML’i Fetch as Googlebot ile analiz et: curl veya GSC’nin Test Live URL özelliğiyle sayfanın JavaScript öncesi ham HTML’ini çekin; title, description ve canonical’ın bu aşamada mevcut olup olmadığını doğrulayın.
- İç bağlantılarda href attribute’ünü kontrol et: Sayfanın tüm bağlantılarını tarayın; onClick veya addEventListener ile oluşturulan, href içermeyen linkleri tespit edin ve standart a href yapısına dönüştürün.
- Structured data’nın initial HTML’de var olduğunu doğrula: Google Rich Results Test aracında Source HTML (ham) ile Fetched URL (render edilmiş) çıktılarını karşılaştırın; JSON-LD yalnızca render versiyonunda görünüyorsa initial HTML’e taşıyın.
- Render süresini PageSpeed Insights ile ölç: Total Blocking Time ve Time to Interactive değerlerini ölçün; render süresi 8 saniyeyi aşıyorsa Googlebot kısmi indexleme yapabilir — JavaScript bundle’ı optimize edin ve SSR geçişini değerlendirin.
- GSC’de Discovered — currently not indexed kuyruğunu izle: GSC üzerinden Indexing > Pages raporunda bu kategorideki URL sayısını kaydedin; JavaScript render gecikmesiyle ilişkili artışları crawl log analizi ile doğrulayın.
Kaynaklar
Sıkça Sorulan Sorular
Evet, Googlebot Chromium tabanlı motoruyla JavaScript render edebilir. ancak bu işlem iki aşamada gerçekleşir ve ikinci dalga birinciden saatler hatta günler sonra olabilir. Render queue kapasitesi ve crawl budget kısıtları nedeniyle bazı sayfalar hiç render edilmeyebilir. Özellikle büyük sitelerde ve render süresi 8 saniyeyi aşan sayfalarda kısmi indexleme ya da hiç indexlenmeme riski 2026 yılında da geçerliliğini korumaktadır. Render başarılı olsa bile ikinci dalganın gecikmesi, sinyallerin indexlenmesini ciddi ölçüde yavaşlatabilir ve rakipler karşısında görünürlük kaybına yol açabilir.
Render başarılı olursa indexlenebilir. ancak render gecikmesi, timeout (8+ saniye) veya crawl budget yetersizliği durumunda meta etiketler gözden kaçar. Initial HTML'deki canonical ile JavaScript render sonrası oluşan canonical çelişirse Google doğru sürümü tercih etmeyebilir ve indexleme yanlış sinyallerle ilerleyebilir. Bu riski ortadan kaldırmanın en güvenilir yolu title, description ve canonical gibi kritik meta etiketleri doğrudan initial HTML'e yerleştirmektir. böylece birinci dalgada tüm sinyaller Googlebot tarafından güvenle okunur ve ikinci dalgaya bağımlılık ortadan kalkar.
Yalnızca standart a href bağlantıları Googlebot tarafından güvenilir şekilde keşfedilir. onClick veya addEventListener ile oluşturulan, href attribute'ü içermeyen linkler Googlebot tarafından görülmez ve bağlantılı sayfalar keşfedilemez. Bu durum, iç bağlantı mimarisini ve site içi PageRank dağılımını doğrudan olumsuz etkiler. JavaScript tabanlı navigasyon menüleri, dinamik ürün önerileri veya modal içi bağlantılar sıklıkla bu sorunu yaşar. tüm bu linklerin standart a href yapısıyla yeniden yazılması gerekir.
JavaScript ile eklenen JSON-LD, render başarılı olursa işlenebilir. ancak render hatası veya timeout durumunda structured data tamamen kaybolur ve rich result görünürlüğü yitirilir. En güvenli yöntem JSON-LD'yi initial HTML'e gömmektir. Bu sayede Googlebot birinci dalgada yapısal veriyi okur ve render sonucuna bağımlı olmaksızın rich result sinyalleri işlenir. GSC'nin Rich Results raporunda Source HTML ile render edilmiş versiyonu karşılaştırarak mevcut durumunuzu test etmek mümkündür. yalnızca render versiyonunda görünen JSON-LD derhal initial HTML'e taşınmalıdır.
Standart loading='lazy' attribute'ü Googlebot tarafından desteklenir. ancak scroll veya kullanıcı etkileşimiyle tetiklenen özel lazy loading implementasyonları, Googlebot etkileşim gerçekleştirmediği için içeriği ve bağlantıları gizleyebilir. Bu durum özellikle görsel ağırlıklı sayfalarda ve dinamik içerik yükleme kullanan e-ticaret sitelerinde dikkat gerektirir. Özel lazy loading kullanıyorsanız bu elementlerin Googlebot tarafından görülüp görülmediğini GSC URL Inspection aracıyla doğrulamanız önerilir. görülmüyorsa native loading=lazy attribute'üne geçiş ya da initial HTML'de içerik sunumu değerlendirilmelidir.
CSR (Client-Side Rendering) ile tüm içerik JavaScript render sonrası oluştuğundan sinyaller ikinci dalgaya kalır ve render timeout, crawl budget riski artar. SSR (Server-Side Rendering) ile içerik initial HTML'de sunulduğundan Googlebot birinci dalgada tüm meta etiketleri, canonical tag'i, iç bağlantıları ve structured data'yı keşfeder. indexleme hızı ve sinyal sağlamlığı belirgin biçimde artar. AI crawler görünürlüğü açısından da SSR açık ara üstündür çünkü ChatGPT, Perplexity gibi botlar JavaScript render edemez ve yalnızca initial HTML'i işler.
İki aşamada gerçekleşir: birinci aşamada ham HTML crawl edilir, ikinci aşamada JavaScript render kuyruğuna alınarak Chromium motoruyla işlenir. İki aşama arasındaki süre saatlerden günlere kadar uzayabilir. render timeout (8+ saniye) durumunda ikinci aşama hiç tamamlanmayabilir ve yalnızca birinci dalgada görülen sinyaller indexlenir. Crawl budget kısıtları render kuyruğundaki URL sayısını sınırladığından büyük sitelerde bazı sayfalar ikinci dalgayı hiç göremez. bu da meta etiket, structured data ve iç bağlantı sinyallerinde kalıcı kayba yol açar.