SEO rehberi5 dk okumaYazar: Sıfırdan SEO ekibi

JavaScript SEO: işleme kuyruğu, taranabilir bağlantılar ve SPA tuzakları

Siteniz tarayıcıda kusursuz görünüyor ama Google’da sayfalarınız geç çıkıyor ya da hiç çıkmıyorsa, sebep JavaScript olabilir. Bu rehber, Google’ın JavaScript’li sayfayı nasıl işlediğini, hangi mimarinin hangi riski taşıdığını ve kendi sayfanızı nasıl test edeceğinizi anlatır.

Google JavaScript’li sayfanızı nasıl işler?

Google JavaScript uygulamalarını üç evrede işler: tarama, işleme ve dizinleme. İşleme, başsız Chromium kullanır; Googlebot işlenmiş HTML’den bağlantıları yeniden çıkarır ve sayfayı o içerikle dizinler. robots.txt ile engellenen sayfalar ya da dosyalar işlenmez.1

200 durum koduyla dönen sayfalar, JavaScript içersin içermesin, işleme kuyruğuna girer. Kuyrukta bekleme “birkaç saniye olabilir ama daha uzun da sürebilir.” 200 dışı yanıtlar (404 gibi) işlemeyi atlayabilir.1 Çıkarım: ilk HTML yanıtında bulunmayan ve JavaScript ile eklenen içerik, dizine gecikmeyle girer. Haber, fiyat, stok gibi zamana duyarlı içerikte bu gecikme maliyetlidir.

Siteniz hangi mimaride? Üç mimari, üç risk

Mimariİlk HTMLSEO riski
İstemci tarafı oluşturma (CSR)Boş kabuk; içerik JS ile gelirEn yüksek: işleme kuyruğuna ve betiğin hatasız çalışmasına bağımlı. JS’i işlemeyen botlar içeriği hiç görmez.
Sunucu tarafı oluşturma (SSR) / statik oluşturma (SSG)İçerik HTML’de hazırDüşük; Google SSR/SSG/hydration önerir.2
Hibrit (ilk görünüm SSR, sonrası CSR)Kritik içerik HTML’deDüşük-orta; kritik içerik ve bağlantıların HTML’de olduğunu doğrulayın.

Google, “tüm botlar JavaScript çalıştıramaz” gerekçesiyle sunucu tarafı ya da ön oluşturmayı önerir.1 Yapay zekâ botlarının JavaScript’i ne ölçüde çalıştırdığına dair resmî bir belge bulamadık; dolayısıyla kritik içeriğin ilk HTML’de bulunması hem Google hem diğer motorlar için güvenli seçenektir.

Menünüz Google’a görünüyor mu? Bağlantılar ve gezinme

  • Google bağlantıları yalnızca href özniteliğine sahip <a> öğeleri olarak keşfeder.13
  • Tek sayfa uygulamalarda parça tabanlı gezinme (#/urunler) güvenilir değildir; history.pushState ile gerçek URL’ler kullanın.1
  • Her görünüm sunucudan doğrudan istendiğinde de içeriği döndürmeli (derin bağlantı, ilk yükleme).

Olmayan sayfa 200 dönüyorsa: SPA’larda durum kodu ve soft 404

İstemci tarafı yönlendirme genellikle anlamlı durum kodu vermeyi zorlaştırır. Google iki çözüm önerir: hata durumunda sunucudan 404 dönen bir URL’ye (örn. /not-found) JavaScript ile yönlendirmek, ya da hata sayfalarına JavaScript ile noindex robots meta etiketi eklemek. Önemli uyarı: Google noindex gördüğünde işlemeyi atlayabilir; bu yüzden JavaScript’le noindex kaldırmak güvenilir değildir.1

Dinamik oluşturma kullanmalı mıyım? Artık önerilmiyor

Dinamik oluşturma, botlara ön oluşturulmuş HTML, kullanıcılara JS uygulaması sunma yöntemidir. Google belgesi bunu “geçici bir çözümdü ve uzun vadeli değil” diye niteler ve tavsiye etmez; alternatifler SSR, statik oluşturma ve hydration’dır.2 Mevcut dinamik oluşturma altyapınız çalışıyorsa acil değildir; ama yeni bir sistemde kurmayın.

Tembel yükleme: Google kaydırmaz, tıklamaz

Google kullanıcı gibi kaydırmaz, tıklamaz ya da yazmaz; kullanıcı etkileşimiyle yüklenen ana içerik dizine girmeyebilir. Tembel yükleme (lazy loading) yalnız ekran dışı ikincil içerik için kullanılmalı.4

Kendi sayfanızı test edin: içerik işlenmiş HTML’de var mı?

  1. Search Console’da URL Denetimi aracında “Canlı URL’yi test et” ile işlenmiş HTML’i ve ekran görüntüsünü inceleyin; kritik metin ve bağlantılar orada yoksa dizinde de yoktur.
  2. curl ile ham HTML’i çekin; ham HTML ile işlenmiş HTML’i karşılaştırın. Fark ne kadar büyükse JavaScript bağımlılığı o kadar yüksek.
  3. JavaScript kapalı bir tarayıcı profilinde ana içerik ve gezinmenin görünüp görünmediğine bakın.
  4. Kaynak dosyaların (JS/CSS) robots.txt tarafından engellenmediğini doğrulayın; engellenen sayfa işlenmez.1
  5. Core Web Vitals’ı ayrıca izleyin: ağır istemci tarafı oluşturma INP ve LCP’yi bozar (rehber).

Yayından önce kontrol listesi

  • Kritik içerik ve başlık, meta ve canonical ilk HTML’de.
  • Gezinme ve sayfalama href’li bağlantılarla.
  • Durum kodları doğru: bulunamayan sayfa 404, SPA’da yönlendirme ya da noindex ile çözüm.
  • Yapısal veri işlenmiş HTML’de mevcut ve doğrulanmış.
  • robots.txt, kritik JS/CSS’i engellemiyor.

Hangi çerçeveyi kullanırsanız kullanın sorulacak sorular

Modern JavaScript çerçevelerinin çoğu sunucu tarafı oluşturma, statik üretim ya da hibrit seçenekler sunar. Hangisini kullandığınızdan çok, her rota için ilk HTML yanıtında neyin bulunduğunu doğrulayın. Aşağıdaki sorular çerçeveden bağımsız çalışır:

  • Rota doğrudan istendiğinde (yenilemede ya da arama motoru isteğinde) içerik ve doğru durum kodu dönüyor mu?
  • Başlık, meta açıklama, canonical ve yapılandırılmış veri sunucudan mı geliyor, yoksa istemcide mi ekleniyor?
  • Bağlantılar HTML’de gerçek <a href> olarak mı yazılıyor?
  • Kritik içerik bir kullanıcı eylemi ya da kaydırma gerektirmeden yükleniyor mu?4

Hız da SEO’nun parçası

JavaScript miktarı arttıkça INP ve LCP bozulur; bu hem kullanıcıyı hem Core Web Vitals’ı etkiler. Pratik hedefler: yalnız o sayfada gereken kodu yükleyin (kod bölme), üçüncü taraf betikleri sınırlayın, ağır bileşenleri kullanıcı ihtiyaç duyduğunda yükleyin ve ilk görünümü sunucuda üretin.

Sık yapılan hatalar ve çözümleri

HataSonuçÇözüm
Tüm rotalar 200 dönüyor; bulunamayan sayfa “yüklenemedi” metni gösteriyorSoft 404; dizinde değersiz sayfalarSunucudan 404 ya da hata sayfasına noindex1
Menü <button> ile çalışıyorİç sayfalar keşfedilmezGerçek <a href>1
Canonical ve başlık istemcide değişiyorHam HTML ile işlenmiş HTML çelişirSunucuda üretin
JS/CSS dosyaları robots.txt ile engelliSayfa doğru işlenemezEngeli kaldırın1
Sonsuz kaydırma tek erişim yoluDerindeki içerik keşfedilmezSayfalı href bağlantılarla birlikte sunun5

Kaynaklar ve dipnotlar

  1. Google Search Central: JavaScript SEO temelleri developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics · erişim: 24 Ekim 2026
  2. Google Search Central: Dinamik oluşturma (dynamic rendering) geçici çözümü developers.google.com/search/docs/crawling-indexing/javascript/dynamic-rendering · erişim: 24 Ekim 2026
  3. Google Search Central: Taranabilir bağlantı en iyi uygulamaları developers.google.com/search/docs/crawling-indexing/links-crawlable · erişim: 24 Ekim 2026
  4. Google Search Central: Mobil öncelikli dizinleme en iyi uygulamaları developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing · erişim: 24 Ekim 2026
  5. Google Search Central: Sayfalama ve artımlı yükleme developers.google.com/search/docs/specialty/ecommerce/pagination-and-incremental-page-loading · erişim: 24 Ekim 2026

Bu rehberdeki teknik iddialar yukarıdaki resmî belgelerle 24 Ekim 2026 tarihinde karşılaştırıldı. Arama motorlarının belgeleri değişebilir; uygulamadan önce bağlantıdaki güncel sürümü okuyun. Son güncelleme: 24 Ekim 2026.

Sayfalarınız Google’a eksiksiz ulaşıyor mu?

Alan adınızı girin; kayıt istemeden teknik, hız ve yapay zekâ uyumu bulgularını, nasıl düzeltileceğiyle birlikte görün.

WhatsApp'tan yazınÜcretsiz tara