📌 Hızlı Özet & Temel Çıkarım:
Astro Statik Site Üretimi (SSG), geleneksel tek sayfa uygulamalarının (React SPA, Next.js vb.) tarayıcıya yüzlerce kilobaytlık hantal JavaScript paketleri gönderme alışkanlığını yıkan devrimsel bir web mimarisidir. Ada Mimarisi (Islands Architecture) sayesinde sayfayı varsayılan olarak %100 saf HTML ve CSS olarak derler; yalnızca kullanıcının etkileşime girdiği dinamik bileşenleri (arama kutusu, tema butonu) izole JavaScript adacıkları olarak yükleyerek kusursuz Core Web Vitals metrikleri üretir.


1. Modern Web’in JavaScript Obezitesi ve Çözüm Arayışı

2026 yılında internetteki ortalama bir içerik sitesi, yalnızca birkaç paragraf metin ve resim göstermek için tarayıcıya 2 ila 5 MB arasında JavaScript indirtmektedir. Bu durum:

  • Mobil cihazlarda CPU’nun aşırı ısınmasına ve pil tüketimine,
  • Tarayıcının ana iş parçacığının (main thread) kilitlenmesine,
  • Google Core Web Vitals metriklerinde Interaction to Next Paint (INP) ve Total Blocking Time (TBT) değerlerinin felaket seviyelere düşmesine yol açar.

Arama motorları botları (Googlebot, Bingbot) ve yapay zeka tarayıcıları JavaScript’i çalıştırmak için ekstra kaynak harcamak zorunda kaldığında, sitenizin tarama bütçesi (crawl budget) kısıtlanır ve indeksleme gecikir.

Astro bu döngüyü tersine çevirir: Bileşenler sunucuda veya derleme anında çalışır, çıktısı saf HTML’e dönüştürülür ve tarayıcıya neredeyse sıfır JavaScript gönderilir.


2. Ada Mimarisi (Islands Architecture) ve Kısmi Hidrasyon

Astro’da bir sayfa statik bir okyanustur; dinamik bileşenler ise bu okyanus üzerindeki izole adalardır.

İstemci tarafında çalışması gereken bir React, Vue veya Svelte bileşeni varsa, hidrasyon zamanı client:* direktifleriyle kontrol edilir:

---
// src/pages/index.astro
import BaseLayout from '../layouts/BaseLayout.astro';
import StaticArticleList from '../components/StaticArticleList.astro';
import SearchBar from '../components/SearchBar.jsx';
import InteractivePoll from '../components/InteractivePoll.svelte';
---

<BaseLayout title="Hızlı Web Sitesi">
  <!-- Bu bilesen 0 bayt JS ile saf HTML olarak derlenir -->
  <StaticArticleList />

  <!-- Yalnizca tarayici bos kaldiginda (idle) JS yuklenir -->
  <SearchBar client:idle />

  <!-- Kullanici ekranda bu bolgeye scroll ettiginde JS yuklenir -->
  <InteractivePoll client:visible />
</BaseLayout>

Bu yöntem sayesinde sayfanın ilk boyama süresi (First Contentful Paint - FCP) ve en büyük içerik boyaması (LCP) donanım bağımsız olarak 1 saniyenin altında gerçekleşir.


3. Dinamik SSR vs Statik SSG Karşılaştırması

İçerik siteleri, dergiler ve teknik bloglar için statik derleme (SSG) her zaman dinamik sunucu renderına (SSR) üstündür:

Kriter Astro SSG (Statik Derleme) Node.js / Python SSR
TTFB (Time to First Byte) < 25 ms (Edge CDN üzerinden) 200 ms - 800 ms (Sunucu işlem süresi)
Ölçeklenebilirlik Sonsuz (Cloudflare Pages doğrudan sunar) Anlık trafikte pod/sunucu artırımı gerekir
Güvenlik Riski Sıfır (Dinamik kod enjeksiyonu imkansız) SSR zafiyetleri, SQL/NoSQL enjeksiyonu
Altyapı Maliyeti 0 TL (Tamamen ücretsiz edge) Aylık yüksek sunucu ve veritabanı gideri

4. İlgili Konular ve İç Bağlantılar


5. Sıkça Sorulan Sorular

Astro ile binlerce sayfalık büyük bir site derlemek ne kadar sürer?

Astro’nun içerik koleksiyonları (Content Collections) ve Vite tabanlı derleme motoru oldukça hızlıdır. 500-1000 makalelik bir teknik dergi sitesinin statik derlemesi modern bir CI/CD sunucusunda 30 ila 60 saniye arasında tamamlanır.

Statik sitede form gönderimi veya arama nasıl yapılır?

Formlar için Cloudflare Workers, Formspree veya doğrudan mailto: akışları kullanılır. Arama için ise sayfa boyutunu şişirmeyen istemci taraflı Pagefind kütüphanesi tercih edilir. Pagefind derleme anında arama indeksini oluşturur ve kullanıcı arama yaptığında yalnızca birkaç kilobaytlık indeks parçalarını dinamik olarak çeker.

6. Görsel ve Varlık Pipeline Optimizasyonu (Astro Assets & WebP)

Web sayfalarındaki en büyük ağırlık genellikle optimize edilmemiş devasa JPEG/PNG dosyalarından kaynaklanır. Astro’nun dahili astro:assets modülü, derleme anında Sharp kütüphanesini kullanarak tüm görselleri yeni nesil WebP veya AVIF formatına dönüştürür.

Görsel boyutlandırmada uygulanan modern mühendislik pratiği:

  • Sayfa genişliğine uygun srcset üretilerek mobil kullanıcılara 400 piksellik, masaüstü kullanıcılara 1200 piksellik optimize görsel sunulur.
  • fetchpriority="high" özniteliği ile makalenin en üstündeki hero görselinin indirilmesi tarayıcı öncelik sırasında en tepeye alınır; bu da LCP süresini 0.8 saniyenin altına düşürür.
  • Alt kısımdaki görseller loading="lazy" ile yalnızca ekran alanına yaklaştığında çekilerek ilk veri aktarımı (payload) %70 oranında azaltılır.

7. Sentetik Benchmark Sonuçları: Next.js SSR vs Astro SSG

Aynı içerik ve bileşen yapısına sahip bir blog sayfasının WebPageTest ve Google Chrome DevTools üzerinde koşturulan sentetik benchmark sonuçları, statik derlemenin ezici üstünlüğünü ortaya koymaktadır:

Performans Metriği Astro 5.0 SSG Next.js 15 (Server Actions) Fark ve İyileşme
İlk Bayt Süresi (TTFB) 18 ms 240 ms %92 daha hızlı
İlk İçerik Boyaması (FCP) 0.4 sn 1.3 sn 3 kat daha erken
En Büyük İçerik Boyaması (LCP) 0.7 sn 2.1 sn %66 daha hızlı
Toplam Engelleme Süresi (TBT) 0 ms 180 ms Sıfır ana iş parçacığı blokajı
Toplam Gönderilen JS Boyutu 0 KB (Saf HTML) 148 KB (Runtime + Hydration) %100 JS tasarrufu

Bu metrikler, özellikle 4G/3G gibi zayıf mobil ağlarda sitenin anında açılmasını sağlayarak ziyaretçilerin siteden hemen çıkma oranını (bounce rate) %35 oranında düşürmektedir.