Client-side render edilen bir SPA'nın SEO sorunları nelerdir? Nasıl çözülür?
Cevap
CSR bir SPA'da sunucu neredeyse boş bir HTML (<div id="root"></div>) döner; içerik JavaScript çalışınca oluşur. Google JavaScript'i render edebilir ama bunu gecikmeli bir ikinci dalgada yapar, diğer arama motorları ve sosyal medya botları (Open Graph önizlemeleri) ise çoğu zaman JS çalıştırmaz.
Sorunlar
- İçerik ve
<title>/<meta>etiketleri ilk HTML'de yok; paylaşım önizlemeleri boş çıkar. - Render bütçesi: büyük bundle, API hataları veya uzun yüklemeler içeriğin hiç indekslenmemesine yol açabilir.
onClickile yapılan navigasyon: bot linkleri takip edemez. Gerçek<a href>gerekir.- Hash tabanlı routing (
/#/urun/5): fragment'lar ayrı sayfa sayılmaz. - Yavaş LCP ve kötü Core Web Vitals sıralamayı etkiler.
- 404 sayfaları 200 status ile döner (soft 404).
Çözümler
| Yöntem | Ne zaman |
|---|---|
| SSR (Next.js, Remix/React Router, Nuxt) | Dinamik, kişiselleştirilmiş sayfalar |
| SSG / prerender | Blog, dokümantasyon, pazarlama sayfaları |
| ISR / cache'li SSR | Çok sayıda ürün sayfası |
| Dinamik meta (react-helmet vb.) | Sadece CSR mecburiyse, kısmi çözüm |
Kontrol listesi
- Her route için benzersiz
title,description,canonical; History API ile temiz URL'ler. sitemap.xml,robots.txt, yapılandırılmış veri (JSON-LD).- Gerçek HTTP status kodları (404, 301).
- Google Search Console "URL Denetimi" ile Google'ın gördüğü render'ı kontrol edin.
- Login arkasındaki dashboard gibi sayfalar zaten indekslenmemeli; SEO gerekmiyorsa CSR gayet uygundur.
İlgili HTML & CSS soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.