Bu makalede7 bölüm
- Teknoloji
- React, Next.js App Router
- Konu
- Rendering stratejisi ve SEO
- Seviye
- Orta
React ile geliştirilen bir web sitesinin arama motorlarında iyi görünmesi, büyük ölçüde sayfanın HTML’inin nerede ve ne zaman üretildiğine bağlıdır. Bu rehber; istemci tarafı render (CSR), sunucu tarafı render (SSR), statik üretim (SSG) ve artımlı yeniden üretim (ISR) yaklaşımlarını, Google’ın JavaScript’i nasıl işlediğini ve Next.js App Router’da doğru stratejinin nasıl seçileceğini anlatır.
Google JavaScript’i nasıl işler?
Google’ın dokümantasyonuna göre Googlebot JavaScript içeren sayfaları üç aşamada işler: tarama, render ve indeksleme. Sayfa önce taranır; JavaScript ile oluşan içerik için sayfa render kuyruğuna alınır ve kaynaklar uygun olduğunda tarayıcı motoruyla çalıştırılır. Bu nedenle yalnızca istemcide oluşan içerik indekslenebilir; ancak gecikme, hata ve kaynak sınırları riski taşır. Bağlantıların gerçek <a href> öğeleri olması, meta etiketlerin ve canonical’ın ilk HTML’de bulunması önerilir.
Dört rendering yaklaşımı
| Yaklaşım | HTML ne zaman üretilir? | Güçlü yanı | Dikkat |
|---|---|---|---|
| CSR | Tarayıcıda, JavaScript çalıştıktan sonra | Zengin etkileşim, basit barındırma | İlk açılış ve SEO zayıf; boş HTML |
| SSR | Her istekte sunucuda | Kişiye/isteğe özel güncel içerik | Sunucu maliyeti, TTFB |
| SSG | Derleme (build) anında | En hızlı sunum, CDN uyumu | İçerik değişince yeniden üretim |
| ISR | Önceden, sonra arka planda yenilenerek | Statik hız + güncellik | Yeniden üretim tetikleyicileri tasarlanmalı |
Next.js App Router’da karar nasıl verilir?
App Router’da bileşenler varsayılan olarak Server Component’tir: veri sunucuda çekilir, HTML sunucuda üretilir ve tarayıcıya yalnızca etkileşim için gereken JavaScript gönderilir. Etkileşim gerektiren parçalar "use client" ile istemci bileşeni olarak işaretlenir. Sayfanın statik mi dinamik mi olacağı, kullanılan veri kaynakları ve önbellek ayarlarıyla belirlenir. Güncel Next.js sürümlerinde önbelleğe alma kararları "use cache" yönergesi ve önbellek etiketleriyle daha ayrıntılı yönetilebilir; içerik güncellendiğinde ilgili etiket geçersiz kılınarak sayfa yenilenir.
Sayfa türüne göre öneri
- Kurumsal ve hizmet sayfaları: statik üretim; CMS’te değişiklik olduğunda ilgili sayfanın yeniden doğrulanması (on-demand revalidation).
- Ürün ve katalog sayfaları: statik üretim + etiket bazlı yenileme; stok gibi hızlı değişen veriler ayrı, küçük bir dinamik bileşende.
- Arama ve filtre sonuçları: indekslenmesi istenen kombinasyonlar sunucuda; sonsuz filtre kombinasyonları için canonical ve noindex kuralları.
- Kullanıcı paneli: SSR veya istemci; indekslenmez, robots ile korunur.
Teknik SEO kontrol listesi (React/Next.js)
- Sayfa kaynağında (JavaScript kapalıyken) başlık, ana içerik ve iç bağlantılar görünüyor mu?
- Her sayfanın benzersiz
title,descriptionve canonical değeri sunucuda üretiliyor mu (Metadata API)? - Bağlantılar gerçek
hrefiçeriyor mu; yönlendirme yalnızca onClick ile mi yapılıyor? - 404 sayfaları gerçekten 404 durum kodu döndürüyor mu (soft-404 riski)?
- Sitemap ve robots dinamik içerikle güncel mi?
- Yapılandırılmış veri (JSON-LD) sunucu HTML’inde mi?
- İstemciye gönderilen JavaScript boyutu ve INP değeri ölçülüyor mu?
Sık yapılan hatalar
En yaygın hata, bütün sayfayı bir istemci bileşeni yapıp veriyi tarayıcıda çekmektir; sayfa hızlı görünse de ilk HTML boş kalır. İkinci hata, her sayfayı SSR yapmaktır: içerik nadiren değişirken her istekte sunucu çalışır ve TTFB yükselir. Üçüncüsü, yeniden doğrulama tetikleyicilerinin kurulmamasıdır; editör içeriği değiştirir ama site eski içeriği göstermeye devam eder.
Sık sorulan sorular
Google JavaScript ile üretilen içeriği indeksler mi?
Evet; Googlebot JavaScript’i render eder. Ancak render ayrı bir aşamada ve kaynak sınırları içinde yapılır; içerik, bağlantılar ve meta verilerin sunucu HTML’inde bulunması en güvenilir yöntemdir. Diğer arama motorları ve sosyal medya önizlemeleri JavaScript’i her zaman çalıştırmaz.
ISR ile SSR arasındaki fark nedir?
SSR her istekte sayfayı sunucuda üretir. ISR sayfayı önceden üretip önbellekte tutar ve belirli süre veya bir olay sonrasında arka planda yeniler; böylece statik hız ile güncel içerik birleşir.
Client Component kullanmak SEO’yu bozar mı?
Client Component’ler de ilk yüklemede sunucuda HTML olarak render edilir; sorun, içeriğin yalnızca tarayıcıda veri çekildikten sonra oluşmasıdır. İçerik veri çekme işlemleri sunucu tarafında yapılmalıdır.
Performans boyutu için LCP, INP ve CLS rehberine, platform kararı için WordPress mi Next.js mi rehberine bakabilirsiniz. Projenizin rendering ve SEO mimarisini birlikte tasarlamak için React ve Next.js web uygulamaları hizmetimizi inceleyin.
- Teknoloji
- React, Next.js App Router
- Konu
- Rendering stratejisi ve SEO
- Seviye
- Orta
Modern Web Uygulamaları
- React ve Next.js Web UygulamalarıNext.js App Router, React Server Components, TypeScript ve doğru rendering stratejisi (SSR, SSG, ISR) ile hızlı, SEO dostu…
- Teknik SEO ve Site MimarisiTarama, indeksleme, canonical, sitemap, robots, 301/404, hreflang, yapılandırılmış veri ve JavaScript SEO; arama niyetine göre sayfa mimarisi ve…
- Web Performansı ve Core Web VitalsLCP, INP ve CLS için ölçülebilir iyileştirme: saha (CrUX) ve laboratuvar verisi, kök neden analizi, görsel, font, JavaScript,…