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 HTML | SEO riski |
|---|---|---|
| İstemci tarafı oluşturma (CSR) | Boş kabuk; içerik JS ile gelir | En 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ır | Düşük; Google SSR/SSG/hydration önerir.2 |
| Hibrit (ilk görünüm SSR, sonrası CSR) | Kritik içerik HTML’de | Düşü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.pushStateile 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ı?
- 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.
curlile 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.- JavaScript kapalı bir tarayıcı profilinde ana içerik ve gezinmenin görünüp görünmediğine bakın.
- Kaynak dosyaların (JS/CSS) robots.txt tarafından engellenmediğini doğrulayın; engellenen sayfa işlenmez.1
- 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
noindexile çö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
| Hata | Sonuç | Çözüm |
|---|---|---|
| Tüm rotalar 200 dönüyor; bulunamayan sayfa “yüklenemedi” metni gösteriyor | Soft 404; dizinde değersiz sayfalar | Sunucudan 404 ya da hata sayfasına noindex1 |
Menü <button> ile çalışıyor | İç sayfalar keşfedilmez | Gerçek <a href>1 |
| Canonical ve başlık istemcide değişiyor | Ham HTML ile işlenmiş HTML çelişir | Sunucuda üretin |
| JS/CSS dosyaları robots.txt ile engelli | Sayfa doğru işlenemez | Engeli kaldırın1 |
| Sonsuz kaydırma tek erişim yolu | Derindeki içerik keşfedilmez | Sayfalı href bağlantılarla birlikte sunun5 |
Kaynaklar ve dipnotlar
- Google Search Central: JavaScript SEO temelleri developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics · erişim: 24 Ekim 2026
- 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
- Google Search Central: Taranabilir bağlantı en iyi uygulamaları developers.google.com/search/docs/crawling-indexing/links-crawlable · erişim: 24 Ekim 2026
- 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
- 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.