İletişim

SSR (Sunucu Taraflı Render) Nedir?

Kısa tanım

SSR (Server-Side Rendering, sunucu taraflı render), bir web sayfasının HTML'inin her istekte sunucuda üretilip tarayıcıya içeriğiyle birlikte hazır gönderilmesidir. Tarayıcı, JavaScript çalışmadan önce metni ve bağlantıları gösterebilir; arama motorları ve diğer tarayıcılar da içeriği doğrudan HTML yanıtında bulur. Modern framework'lerde SSR genellikle sayfayı etkileşimli hâle getiren hydration adımıyla birlikte kullanılır.

Diğer adları: Server-Side Rendering, sunucu tarafında render, sunucu taraflı oluşturma, server rendering

Sunucunun veriyi çekip sayfayı HTML olarak oluşturduğu ve tarayıcıya içeriği dolu yanıt gönderdiği SSR istek akışı

Render stratejileri: CSR, SSR, SSG ve ISR

Burada “render”, veriyi ve şablonları birleştirip tarayıcının göstereceği HTML'i üretme işidir. Bu işin nerede ve ne zaman yapıldığı; sitenin hızını, sunucu maliyetini ve arama motorlarına nasıl göründüğünü belirler.

YaklaşımHTML nerede ve ne zaman üretilir?Uygun olduğu durumlar
CSR (Client-Side Rendering)Tarayıcıda; sunucu çoğunlukla boş bir kabuk ve JavaScript paketi gönderirGiriş gerektiren paneller, aramada görünmesi gerekmeyen uygulama ekranları
SSRSunucuda, her istekteKişiye, konuma veya anlık veriye göre değişen sayfalar
SSG (Static Site Generation)Derleme (build) sırasında bir kezBlog yazıları, kurumsal sayfalar, dokümantasyon
ISR (Incremental Static Regeneration)Derlemede üretilir; belirlenen süre dolunca veya tetiklendiğinde arka planda yenilenirSık güncellenen ama saniyesi saniyesine güncel olması gerekmeyen katalog ve içerik sayfaları

ISR, Next.js'in kullandığı bir terimdir; başka framework'ler benzer davranışı farklı adlarla sunar. Gerçek projelerde bu yaklaşımlar bir arada kullanılır: aynı sitede tanıtım sayfaları statik, hesap ekranları CSR, ürün sayfaları SSR olabilir.

SSR adım adım

  1. Tarayıcı bir URL ister.
  2. Sunucu gerekli veriyi veritabanından veya bir API'den alır ve bileşenleri HTML'e dönüştürür.
  3. İçeriği dolu HTML yanıt olarak gönderilir; tarayıcı bunu hemen çizebilir.
  4. Sayfanın etkileşimli olması gerekiyorsa JavaScript yüklenir ve mevcut HTML'e bağlanır. Bu adıma hydration denir.

Bazı framework'ler HTML'i tek parça hâlinde değil akış (streaming) olarak gönderir: hazır olan kısımlar hemen iletilir, yavaş veri bekleyen bölümler hazır oldukça eklenir.

SEO açısından anlamı

SSR ve statik üretimde ana içerik, başlıklar, iç bağlantılar ve meta etiketler ilk HTML yanıtında yer alır. Google JavaScript çalıştırabilir; ancak sayfayı önce tarar, oluşturmayı ayrı bir adımda yapar. Bu adım gecikebilir ve tek bir betik hatası içeriğin hiç oluşmamasına yol açabilir. Konunun ayrıntıları JavaScript SEO maddesinde. Diğer arama motorları ve birçok yapay zekâ tarayıcısı için JavaScript'in çalıştırılacağını varsaymak daha da risklidir; içerik ham HTML'de yoksa bu sistemler sayfayı boş görebilir.

Google, yalnızca botlara sunucuda oluşturulmuş bir sürüm gösteren dynamic rendering yönteminin uzun vadeli bir çözüm olmadığını, bunun yerine SSR, statik render veya hydration kullanılmasını önerdiğini resmi dokümantasyonunda açıkça belirtir. Öte yandan Google'ın SSR'ı kendi başına bir sıralama avantajı olarak ödüllendirdiğine dair bir açıklaması yoktur; fayda, içeriğin güvenilir biçimde erişilebilir olmasından ve genellikle daha hızlı görüntülenmesinden gelir.

Bedeli ve dikkat edilecekler

  • Sunucu yükü: her istekte render işlem gücü ister. Sık değişmeyen sayfalarda SSG, ISR veya önbellek çoğu zaman daha verimlidir.
  • İlk baytın gecikmesi (TTFB): sunucu yavaş bir veri kaynağını beklerse yanıt geç başlar ve bu, LCP'yi de geciktirir.
  • Görünür ama tepkisiz an: HTML çizildikten sonra hydration bitene kadar butonlar yanıt vermeyebilir; büyük JavaScript paketleri bu aralığı uzatır.
  • Tarayıcıya özgü kod: window veya localStorage sunucuda yoktur. Render sırasında bunlara erişmek hataya ya da sunucu ile istemci çıktısı arasında uyumsuzluğa yol açar.

Nasıl kontrol edilir?

Basit bir test: sayfanın kaynağını görüntüleyin veya curl ile indirin ve ana metnin, H1'in ve iç bağlantıların ham HTML'de olup olmadığına bakın. Search Console'daki URL Denetleme aracı Google'ın oluşturduğu HTML'i gösterir. Doruva'nın SEO Analiz Aracı da ham yanıt ile tarayıcıda oluşturulmuş sayfa arasındaki farkları ayrı bulgular olarak raporlar.

İlgili terimler

← Sözlüğe dön