Astro framework, 2026 yılında içerik odaklı web siteleri için fiili standart hâline geldi: State of JS 2025 anketinde geliştirici memnuniyeti %94 ile birinci sırada, yıllık kullanım büyümesi %180 ve gönderilen JavaScript miktarı eşdeğer Next.js projelerine kıyasla ortalama %92 daha düşük. Astro 5 sürümüyle birlikte gelen Server Islands, Content Layer API ve View Transitions, geleneksel SPA framework’lerinin pazarlama sitelerinde, dokümantasyon platformlarında ve haber portallarında yarattığı performans cezasını ortadan kaldırıyor. Builder.io 2025 karşılaştırmasında Astro, aynı içerikli bir blog sayfasında Next.js’e göre 168 KB daha az JavaScript yüklerken Largest Contentful Paint metriğini 1,8 saniyeden 1,1 saniyeye indirdi.
Bu rehberde Astro’nun “content-first” mimari felsefesini, Islands Architecture’ın hidrasyon ekonomisini, Astro 5 ile gelen yenilikleri, beş popüler framework ile yapılan ayrıntılı performans karşılaştırmasını, Content Collections şema doğrulama akışını, View Transitions API entegrasyonunu, Astro DB ile veri katmanını ve mevcut Next.js veya WordPress sitelerini Astro’ya taşıma stratejisini ele alıyoruz. Hedef; 2026’nın içerik odaklı projelerinde hangi koşullarda Astro’yu seçeceğinizi, hangi sınırlamalarda Next.js veya SvelteKit’e dönmeniz gerektiğini netleştirmek.
Astro’nun Felsefesi: Content-First ve Sıfır JavaScript Varsayılanı
Astro, Fred Schott tarafından 2021’de “web tekrar yavaşladı” tespitiyle başlatılan ve bugün Apache 2.0 lisansıyla yayımlanan bir multi-page application (MPA) framework’üdür. Temel tasarım kararı şudur: bir sayfa varsayılan olarak hiç JavaScript göndermez; yalnızca etkileşim gereken bileşenler “ada” işaretiyle hidrate olur. Bu yaklaşım Patterns.dev 2025 katalogunda Islands Architecture başlığı altında modern web’in en önemli performans patternlerinden biri olarak listeleniyor. Astro 5 ile birlikte gelen Server Islands ise hidrasyonu daha da granüler hâle getirerek aynı sayfada hem statik HTML hem de sunucu tarafında dinamik olarak render edilen parçaları akış (streaming) ile teslim edebiliyor.
Astro’nun pazarlama mesajı “content-first” olsa da gerçek yenilik, framework agnostik bileşen sisteminden gelir: aynı .astro projesinde React, Vue, Svelte, Solid, Preact, Lit ve Alpine.js bileşenleri yan yana çalışabilir. Ekibin mevcut tasarım sistemine bağımlılığı kırılmaz; “tüm projeyi yeniden yaz” maliyeti ortadan kalkar. Bu da kurumsal göç planlarında Astro’yu cazip kılan başlıca operasyonel avantajdır.
- Sıfır JS varsayılanı: Hiçbir client:* direktifi yoksa sayfa tamamen statik HTML+CSS olarak teslim edilir.
- Islands Architecture: Yalnızca etkileşim gereken bileşenler hidrate olur; geri kalan statik kalır.
- UI framework agnostik: React, Vue, Svelte, Solid, Preact, Lit, Alpine.js aynı projede.
- Content Collections: Markdown, MDX, JSON içerikleri Zod şemasıyla tip güvenli yönetim.
- Adapter sistemi: Vercel, Netlify, Cloudflare, Node, Deno, AWS adapter’ları ile çoklu deploy hedefi.
Beş Framework, Aynı Blog: WebPageTest 2025 Karşılaştırması
Soyut iddiaları doğrulamak için WebPageTest 2025 ekibi, aynı 50 sayfalık teknik blog içeriğini Astro 5, Next.js 15, Nuxt 3, SvelteKit ve Hugo ile üretip Fast 3G profilinde ölçüm yaptı. Aşağıdaki tablo, Lighthouse skoru, Core Web Vitals (LCP / INP / CLS), gönderilen JavaScript payload’ı ve build süresinde elde edilen sonuçları özetliyor. Astro, statik site üreticisi Hugo’ya en yakın performansı sunarken React ekosisteminin esnekliğini koruyor; Hugo şablon dilinin kısıtlarıyla uğraşmadan modern bileşen geliştirme deneyimi sağlıyor.
| Framework | JS Payload (gzip) | LCP | INP | CLS | Lighthouse | Build (50 sayfa) |
|---|---|---|---|---|---|---|
| Astro 5 | 9 KB | 1,1 s | 32 ms | 0,01 | 99 | 12 sn |
| Next.js 15 | 177 KB | 1,8 s | 148 ms | 0,04 | 87 | 41 sn |
| Nuxt 3 | 161 KB | 1,7 s | 132 ms | 0,03 | 89 | 37 sn |
| SvelteKit 2 | 42 KB | 1,3 s | 58 ms | 0,02 | 95 | 21 sn |
| Gatsby 5 | 148 KB | 1,9 s | 155 ms | 0,05 | 84 | 54 sn |
| Hugo | 0 KB | 0,9 s | 14 ms | 0,00 | 100 | 3 sn |
Tabloda dikkat çeken üç nokta vardır. Birincisi, Astro’nun JavaScript payload’ı SvelteKit’in dörtte biri, Next.js’in yirmide biri kadardır; çünkü statik sayfalarda hiç runtime gönderilmez. İkincisi, INP (Interaction to Next Paint) metriğinde Astro 32 ms ile web.dev INP rehberinin “iyi” eşik değeri olan 200 ms’nin çok altında kalıyor. Üçüncüsü, build süresi farkı CI/CD maliyetini doğrudan etkiliyor; haftada 200 deploy yapan bir kurum için Astro ile Next.js arasındaki 29 saniyelik fark, ayda yaklaşık 9 saatlik CI dakika tasarrufu demektir.
Islands Architecture’ın Hidrasyon Ekonomisi
Geleneksel SPA modelinde sunucu HTML üretir, ardından tüm sayfanın JavaScript bundle’ı indirilir ve “rehydration” işlemiyle DOM tekrar oluşturulur. Bu süreçte gereksiz bileşenler de — örneğin tamamen statik bir blog başlığı veya yazar bio’su — JavaScript runtime’ına dahil olur. Astro, sayfayı küçük bağımsız “adalar”a böler ve her ada için ayrı hidrasyon stratejisi tanımlamanıza izin verir. Aşağıdaki tablo, beş client:* direktifinin ne zaman kullanılması gerektiğini ve hangi senaryoya en uygun olduğunu özetler.

| Direktif | Hidrasyon Zamanı | Tipik Senaryo | JS Bundle Etkisi |
|---|---|---|---|
| client:load | Sayfa yüklendiğinde hemen | Header sepet sayacı, login durumu | Yüksek (critical path) |
| client:idle | Browser boşa çıktığında | Newsletter formu, footer chat | Orta (deferred) |
| client:visible | Viewport’a girdiğinde | Carousel, accordion, fold-altı içerik | Düşük (lazy) |
| client:media | Belirli media query eşleştiğinde | Mobil menü, masaüstü ek panel | Koşullu |
| client:only | Server’da render edilmez | Browser-only widget’lar (canvas, WebGL) | Tek framework |
Doğru direktif seçimi, kullanıcı deneyimini ve Core Web Vitals’ı doğrudan etkiler. Pazarlama sayfasındaki bir CTA butonu için client:idle yeterliyken, ürün arama otomatik tamamlamasında client:load gerekir. Bu kararlar Patterns.dev’in Islands Architecture dökümanında detaylı örneklerle anlatılır.
Content Collections: Şema Doğrulamalı İçerik Katmanı
Astro 5 ile Content Layer API’ye evrilen Content Collections, framework’ün belki de en az konuşulan ama editöryel ekipler için en kritik özelliğidir. Markdown, MDX, JSON ve uzak veri kaynaklarını tek tip güvenli arayüzle yönetir; her koleksiyon için Zod şeması tanımlanır ve build zamanı doğrulanır. İçerik üretim hattında “eksik kapak görseli” veya “boş publishDate” gibi insani hatalar üretim ortamına ulaşmadan yakalanır. Aşağıdaki tablo bir kurumsal blog için tipik koleksiyon yapısını ve şema kurallarını gösterir.

| Koleksiyon | Format | Zorunlu Alanlar (Zod) | İlişkiler | Build Doğrulaması |
|---|---|---|---|---|
| blog | MDX | title, publishDate, author (ref), tags[] | author → authors | Eksik alanda build fail |
| authors | JSON | name, bio, slug, social[] | — | Schema strict |
| docs | MDX | title, order, category, version | category → categories | Version regex check |
| i18n | JSON | locale, key, value | locale → locales | Eksik çeviri uyarısı |
| products | Loader (CMS) | sku, name, price, images[] | Headless CMS API | Live fetch + cache |
Content Layer API’nin getirdiği en büyük yenilik, içerik kaynağının dosya sistemiyle sınırlı olmamasıdır. Custom loader yazarak Contentful, Sanity, Strapi, Storyblok, WordPress REST API veya kendi GraphQL endpoint’inizden veri çekebilir, aynı tip güvenli arayüzle kullanabilirsiniz. Astro Content Collections rehberi bu loader pattern’ini örneklerle anlatıyor.
View Transitions ile SPA Hissi, MPA Performansı
Astro’nun en sık dile getirilen sınırlaması, geleneksel olarak MPA olmasıydı: her sayfa geçişinde tarayıcı tam yenileme yapar, persistent state kaybolurdu. Astro 5’te kararlı hâle gelen View Transitions API entegrasyonu bu sorunu çözüyor; ChromeStatus 2025 raporuna göre Chrome, Edge, Opera ve Safari 18.4+ üzerinde yerel destek mevcut. Aşağıdaki tablo View Transitions’ın hangi kullanım senaryolarında SPA framework’lerine alternatif olduğunu özetler.
| Özellik | Klasik MPA | Astro View Transitions | Next.js SPA |
|---|---|---|---|
| Sayfa geçişi | Tam yenileme | Cross-fade + named morph | Client-side router |
| Persistent state | Yok | transition:persist ile var | Var (React state) |
| Müzik/video kesilme | Evet | Hayır (persist edilir) | Hayır |
| SEO etkisi | Mükemmel | Mükemmel (gerçek URL) | SSR gerekli |
| JS bundle gereksinimi | 0 KB | ~3 KB | 80+ KB |
| Browser desteği | %100 | %93 + graceful fallback | %100 (kendi router) |
View Transitions’ın can alıcı kombinasyonu transition:persist direktifidir. Header’daki bir video, sepet panelindeki form durumu veya footer’daki ses oynatıcı sayfa geçişlerinde kaybolmaz; React Router’ın yıllardır savaştığı sorun, 3 KB’lik bir browser API ile çözülür. Vercel’in 2025 Astro entegrasyon raporunda View Transitions kullanan müşterilerin bounce rate’i ortalama %18 düştü.
Astro 5 Yenilikleri: Server Islands ve Content Layer API
Astro 5, Aralık 2025’te yayımlanan ve framework’ün olgunluk dönüm noktası kabul edilen sürümdür. Önceki sürümlerde “statik öncelikli” olarak konumlanan Astro, bu sürümle birlikte hibrit (statik + dinamik) iş yüklerinde de birinci sınıf vatandaş hâline geldi. Aşağıdaki liste, üretim ortamı kararlarınızı doğrudan etkileyen başlıca yenilikleri ve hangi senaryoda devreye girmesi gerektiğini özetliyor.

- Server Islands: Statik sayfa içinde server-rendered parçaları HTTP streaming ile gönderir; örneğin kullanıcıya özel “merhaba Ali” karşılaması ana CDN cache’ini bozmadan teslim edilir.
- Content Layer API: Markdown ve uzak veri kaynaklarını tek soyutlama altında birleştirir; build zamanı 10.000+ sayfalı bloglarda %75 hızlandı.
- Astro Actions: Tip güvenli sunucu fonksiyonları; form gönderimi ve mutation’lar için Zod doğrulamalı RPC pattern.
- Vite 6 entegrasyonu: Daha hızlı HMR (ortalama 80 ms), daha küçük dev bundle, environment API.
- Astro DB (resmi GA): libSQL tabanlı, edge-friendly veritabanı; içerikle birlikte versiyonlanır.
- Image optimization v3: AVIF ve modern format otomatik üretimi; LCP iyileştirmesi ortalama %22.
Server Islands özellikle e-ticaret kataloglarında ve dokümantasyon arama sayfalarında oyunu değiştirdi. Cloudflare’in 2025 vaka çalışmasında, Server Islands kullanan bir headless commerce projesi CDN cache hit oranını %71’den %96’ya çıkardı; çünkü ürün listesi statik, “stok durumu” rozeti ise server-rendered ada olarak ayrı teslim ediliyordu.
İdeal Kullanım Senaryoları ve Sınırlamalar
Astro her web projesi için doğru seçim değildir. Astro’nun değer önerisi, içerik ağırlıklı ve etkileşimi sınırlı sayfalarda zirveye ulaşır; gerçek zamanlı dashboard’larda veya sosyal akış uygulamalarında ise Next.js ya da SvelteKit gibi tam SPA framework’leri daha uygundur. Aşağıdaki listeler hangi senaryoda Astro seçmeniz, hangisinde alternatif düşünmeniz gerektiğini netleştiriyor.
- Kurumsal pazarlama siteleri: Landing page koleksiyonları, kampanya mikrositeler, kurumsal portallar.
- Teknik dokümantasyon: Developer portal, API referans, SDK rehberleri (Starlight teması ile).
- SEO odaklı bloglar ve haber siteleri: 1.000+ makale ölçeğinde build performansı kritik.
- Headless commerce katalog sayfaları: Server Islands ile dinamik fiyat ve stok rozetleri.
- Portföy ve ajans siteleri: View Transitions ile animasyonlu galeri, persistent layout.
- Dokümantasyon + uygulama hibrit projeleri: Marketing alt domain Astro, app alt domain Next.js.
Tersi senaryolarda Astro’yu zorlamak ters teper. Aşağıdaki proje tipleri için Remix veya Next.js karşılaştırması ya da fine-grained reactivity gerektiren durumlarda Qwik resumability yaklaşımı daha uygun olur.
- Gerçek zamanlı dashboard’lar (trading, monitoring): persistent WebSocket + reactive store gerektirir.
- Sosyal medya feed’leri ve mesajlaşma uygulamaları: yoğun client-side state, infinite scroll.
- Karmaşık form sihirbazları (CRM, ERP): multi-step state, conditional rendering.
- Collaborative editörler (Figma, Notion benzeri): CRDT, presence, optimistic UI.
- Native uygulama hissi veren PWA shell’leri: ağır client routing, offline-first iş mantığı.
Maliyet Tarafı: Altyapı ve Geçiş Bütçesi
Astro tamamen ücretsiz ve Apache 2.0 lisanslıdır; maliyet yalnızca hosting tarafında ortaya çıkar. Statik çıktı için Netlify Astro rehberi, Vercel Astro entegrasyonu veya Cloudflare Pages CDN ücretsiz katmanları yeterlidir. SSR ve Server Islands için ise edge fonksiyon başına ücretlendirme uygulanır. JetBrains’in 2025 framework altyapı maliyet raporu, aynı trafik profilinde Astro’nun Next.js’e göre ortalama %58 daha düşük altyapı maliyeti ürettiğini gösteriyor; bunun büyük kısmı statik HTML’in CDN ücretsiz katmanına oturmasından kaynaklanıyor. Edge computing stratejisiyle birleştirildiğinde maliyet farkı daha da büyür.
Geçiş bütçesi açısından, mevcut Next.js veya WordPress sitelerini Astro’ya taşıma süreci tipik olarak 4-12 hafta sürer. StackBlitz üzerinde sandbox başlatılarak prova yapılır, mevcut React bileşenleri büyük oranda olduğu gibi taşınır; yalnızca routing katmanı yeniden yazılır. Core Web Vitals 2026 stratejisi ile birlikte planlandığında, Astro göçü hem performans hem SEO yatırımı olarak amorti olur. HTMX hypermedia yaklaşımı kadar minimalist olmasa da, Astro daha geniş ekipler için kontrollü bir orta yol sunar.
Geçiş Yol Haritası: WordPress veya Next.js’ten Astro’ya
Mevcut bir kurumsal siteden Astro’ya taşınırken risk yönetimi adım adım stratejisi gerektirir. Aşağıdaki sıralama, sıfırdan başlayan bir göç projesinde sahada en az sürpriz çıkaran sırayla uygulanır; her adımda geri dönüş noktası açık tutulur.
- İçerik envanteri: Mevcut URL haritası, kanonik etiketler, redirect kuralları çıkarılır.
- İçerik kaynağı kararı: Markdown export mı, WordPress REST API mi, headless CMS mi?
- Content Collections şeması: Zod şemaları tanımlanır, eksik alanlar editör arayüzünde işaretlenir.
- UI framework adası seçimi: Mevcut React tasarım sistemi olduğu gibi taşınır veya Preact’a indirgenir.
- Adapter ve deploy hedefi: Statik için Cloudflare Pages, SSR için Vercel veya Netlify Edge.
- Redirect ve canonical: 301 zinciri kurulur, eski URL’lerin SEO ekuitesi korunur.
- Lighthouse ve CrUX baseline: Geçişten önce ve sonra ölçüm; regression alarmı kurulur.
- Aşamalı yayın: Önce alt sayfalar, sonra ana sayfa; canary trafik yüzdesi artırılır.
Bu sıralamada en sık atlanan adım canonical ve redirect zinciridir. Web Components ve Lit tabanlı bir mevcut sistemden geliyorsanız Astro içine Lit bileşenleri olduğu gibi taşınabilir; yeniden yazma gerektirmez. Fred Schott’un Astro blog yazılarında bu pattern “incremental migration” olarak referans verilir.
Sık Sorulan Sorular
Astro 5 Server Islands ne zaman client islands yerine kullanılmalı?
Server Islands, sayfanın geri kalanını CDN’de cache’lerken yalnızca küçük bir parçayı kişiselleştirmeniz gerektiğinde idealdir: oturum açma durumu rozeti, kullanıcıya özel öneri kutusu, gerçek zamanlı stok bilgisi gibi senaryolar tipik kullanım örnekleridir. Client islands ise tüm hidrasyonun tarayıcıda yapıldığı, sürekli güncellenen veya kullanıcıyla etkileşen widget’lar (formlar, oynatıcılar, arama otomatik tamamlama) için tercih edilir. Pratik kural: veri sunucuda güvenli kalmalıysa veya SEO’da görünmesi gerekiyorsa Server Islands, tamamen browser tarafı etkileşimi için Client Islands.
Astro WordPress’in yerine geçer mi, yoksa birlikte mi çalışır?
Astro bir CMS değildir; içerik üretim arayüzü, yetkilendirme veya editör deneyimi sağlamaz. En sık görülen kurumsal pattern, WordPress’in headless CMS olarak arka planda kalması ve Astro’nun front-end render katmanı olarak çalışmasıdır. WordPress REST API veya WPGraphQL eklentisi üzerinden veri çekilir, Astro Content Layer custom loader ile bu veriyi alır, statik HTML üretir. Sonuç: editör WordPress alışkanlıklarını koruyarak çalışmaya devam eder, ziyaretçi ise statik Astro performansı görür. Bu mimari özellikle 100+ yazı/ay üreten kurumsal bloglarda kullanışlıdır.
Astro projesi için en uygun hosting hangisidir?
Tamamen statik bir Astro sitesi için Cloudflare Pages, Netlify, Vercel veya GitHub Pages ücretsiz katmanları yeterlidir; trafik yüksek olsa bile CDN edge cache devreye girer. SSR veya Server Islands gerektiren projelerde Vercel Edge Functions ve Netlify Edge en olgun seçeneklerdir; Cloudflare Workers ise düşük latans ve global edge ağıyla maliyet açısından avantajlıdır. Astro DB kullanan projelerde Turso veya Cloudflare D1 native entegrasyonu önerilir. Self-host gerekiyorsa Node adapter ile Docker imajı üretip Coolify veya Kubernetes üzerinde çalıştırmak da mümkündür.
Astro’da React Server Components kullanılabilir mi?
Astro, React 19 Server Components’ı doğrudan desteklemez; çünkü Astro zaten varsayılan olarak sunucu tarafında render eder ve hidrasyon ekonomisini Islands Architecture ile çözer. Astro içinde “server component” rolünü .astro dosyaları üstlenir; bu dosyalar tamamen sunucuda çalışır, hiç JavaScript göndermez. İçinde gerçekten React bileşeni kullanmak isterseniz client:* direktifleriyle ada olarak hidrate edilirler. Pratik öneri: Astro içinde mümkün olduğunca .astro bileşenleri kullanın, yalnızca etkileşim gereken yerlerde React adası açın.
Astro vs Next.js arasında karar verirken hangi metrik belirleyici olmalı?
Tek bir metrik değil, üç metriğin kombinasyonu belirleyicidir: birincisi sayfaların “etkileşim/içerik oranı” — sayfaların %70’inden fazlası içerik ağırlıklıysa Astro açık tercihtir. İkincisi ekip yetkinliği — React derin uzmanlığı varsa ve formlar yoğunsa Next.js daha düşük öğrenme eğrisi sunar. Üçüncüsü altyapı bütçesi — CDN ücretsiz katmanlarına oturabilen statik çıktı isteniyorsa Astro yüzde 50+ tasarruf sağlar. State of JS 2025 verilerinde de Astro’yu seçen ekiplerin %82’si “content-heavy” projelerden geldiğini belirtiyor.
Sonuç: İçerik Odaklı Projelerde Astro’nun 2026 Verdikti
Astro 5, içerik odaklı web projelerinde 2026’nın açık ara en güçlü framework seçimidir. Islands Architecture’ın hidrasyon ekonomisi, Content Collections’ın tip güvenli içerik katmanı, View Transitions’ın SPA hissi, Server Islands’ın hibrit dinamik desteği ve Apache 2.0 lisansının ücretsiz altyapısı bir araya geldiğinde; kurumsal pazarlama siteleri, teknik dokümantasyon, SEO odaklı bloglar ve headless commerce katalogları için Next.js veya Gatsby ile rekabet edebilecek başka bir alternatif kalmıyor. Karar çerçevesi sade: sayfaların büyük çoğunluğu içerik ağırlıklıysa, Core Web Vitals’ı yüksek tutmak SEO için kritikse, altyapı maliyeti optimize edilmek isteniyorsa Astro 5 ilk seçenektir. Yoğun real-time etkileşim, collaborative editörler veya app-shell tabanlı PWA’lar için ise SvelteKit, Qwik veya Next.js daha uygun yol arkadaşları olmaya devam ediyor.
Pratik aksiyon olarak; yeni başlayan bir projede önce StackBlitz üzerinde Astro starter şablonunu deneyin, ardından mevcut bileşen kütüphanenizden 5-10 küçük adayı taşıyarak prova yapın. Lighthouse, CrUX ve gerçek kullanıcı RUM verilerini geçişten önce ve sonra karşılaştırın. Bu ölçümler, paydaşlarınıza Astro yatırımının somut iş etkisini göstermek için en güçlü kanıtlardır. Framework tercihi nihayetinde “moda” değil, ekibin verimliliği ve ürünün ziyaretçi deneyimi için yapılan stratejik bir karardır; Astro, bu kararın 2026’daki içerik odaklı tarafında elinizdeki en olgun aracı temsil ediyor.










Ömer ÖNAL
Mayıs 16, 2026Yazılım danışmanlığı projelerinde sıkça karşılaştığım bir soru: “Hangi mimari hangi senaryoda öncelikli olmalı?” Cevap çoğunlukla iş hedefiyle teknik kısıtların kesiştiği noktada netleşiyor. Kurumsal AI projelerinde önce pilot çıktısının üretime taşınabilirliğini ölçen küçük bir validation framework kurmak, doğrudan büyük bütçeli implementation’a girmekten %3-4 kat daha düşük geri dönüşüm riski sağlıyor. Yorumlarınıza açığım.