Astro vs Next.js: SEO ve Performans Karşılaştırması
Astro mu Next.js mi? İki framework'ün mimari farkı, Core Web Vitals ölçümleri, hydration maliyeti ve SEO/GEO çıktıları üzerinden 2026 karşılaştırması.
İçindekiler
“Astro mu Next.js mi?” sorusu 2026’da bize en çok gelen teknik sorulardan biri. İkisi de modern, ikisi de hızlı site üretebiliyor, ikisinin de arkasında güçlü topluluk var. Peki neden biri blog ve kurumsal sitelerde, diğeri SaaS ürünlerinde standart haline geldi?
Cevap mimaride saklı. Astro ve Next.js aynı işi yapan iki rakip değil; farklı problemler için tasarlanmış iki farklı araç. Yanlış aracı seçtiğinizde ya gereksiz JavaScript yükü taşırsınız ya da uygulamanızı Astro’nun sınırlarına sıkıştırmaya çalışırsınız.
Hızlı özet: Astro içerik odaklı siteler için sıfıra yakın JavaScript gönderir ve Core Web Vitals’ta pratikte Next.js’in önündedir. Next.js ise oturum, dashboard ve yoğun etkileşim gerektiren uygulamalarda üstündür. Doğru soru “hangisi daha iyi” değil, “projeniz içerik sitesi mi, uygulama mı” sorusudur.
Mimari Fark: Islands Architecture vs React Uygulaması
Temel fark tek cümlede özetlenir: Astro varsayılan olarak HTML gönderir, Next.js varsayılan olarak bir React uygulaması gönderir.
Astro “islands architecture” (adacık mimarisi) kullanır. Sayfanın tamamı build anında statik HTML’e dönüşür. Etkileşim gereken parçalar (bir arama kutusu, bir slider, bir fiyat hesaplayıcı) birer “island” olarak işaretlenir ve sadece o parçaların JavaScript’i tarayıcıya gider. Sayfanın geri kalanı için tarayıcıya tek satır JS inmez. Üstelik island’lar framework-bağımsızdır: aynı sayfada React, Vue veya Svelte bileşeni yan yana çalışabilir.
Next.js ise React’in tam teşekküllü uygulama framework’üdür. App Router ve Server Components ile sunucu tarafı çok gelişti; artık her bileşen tarayıcıya JS göndermek zorunda değil. Ama zihinsel model hâlâ “uygulama”: React runtime sayfada bulunur, client component’ler hydrate edilir, router client tarafında da yaşar. Bu, buton başına düşünülmüş bir mimari değil; oturum, state, gerçek zamanlı veri gibi uygulama ihtiyaçları için düşünülmüş bir mimaridir.
Peki bu soyut fark pratikte neye dönüşüyor? Kiloya. Boş bir Astro sayfası ~0 KB JavaScript ile gelir. Boş bir Next.js sayfası ise React + runtime nedeniyle tipik olarak 80-100 KB civarı sıkıştırılmış JS taşır, gerçek projelerde bu rakam kolayca büyür. Her kilobayt, mobil cihazda parse ve execute maliyeti demektir.
Hangi Proje Tipinde Hangisi? Kısa Cevap
Kural basit: İçerik gösteriyorsanız Astro, uygulama çalıştırıyorsanız Next.js. 90+ projede gördüğümüz kadarıyla bu ayrımı baştan doğru yapan projeler, hem bütçede hem performansta öndeler.
Astro’nun doğal alanı:
- Blog ve yayın siteleri
- Kurumsal tanıtım ve hizmet siteleri (doktor, avukat, ajans, üretici)
- Landing page ve kampanya sayfaları
- Dokümantasyon siteleri
- Vitrin ağırlıklı katalog siteleri
Next.js’in doğal alanı:
- SaaS ürünleri ve dashboard’lar
- Üyelik, oturum ve rol yönetimi olan platformlar
- Gerçek e-ticaret uygulamaları (canlı stok, sepet, checkout, hesap)
- Rezervasyon, ilan, sosyal etkileşim içeren siteler
- Sık güncellenen, kişiselleştirilmiş içerik gösteren yüzeyler
Gri bölge de var elbette. “Kurumsal site + küçük bir müşteri paneli” gibi projelerde iki yol çalışır: ya Astro + panel için ayrı bir Next.js uygulaması, ya da tamamı Next.js. Panel küçükse ayırmak, büyükse tek Next.js çatısı bizim tercihimiz. Next.js ile proje yaptırmayı düşünüyorsanız süreci ve maliyeti Next.js ile web sitesi yaptırma rehberimizde ayrıntılı anlattık.
Core Web Vitals ve Hydration Maliyeti Karşılaştırması
Core Web Vitals tarafında fark en çok INP ve TBT’de görülür; LCP’de iki framework de iyi kurulursa yakın sonuç verir. Neden? Çünkü LCP büyük ölçüde sunucu hızı + görsel optimizasyonu işidir, INP ise ana thread’i meşgul eden JavaScript işidir. Astro’nun ana thread’i meşgul edecek JavaScript’i çoğu sayfada yoktur.
Hydration maliyeti şurada devreye giriyor: Next.js sayfası HTML olarak gelse bile, React o HTML’i “canlandırmak” için bileşen ağacını tarayıcıda yeniden kurar. Bu işlem CPU harcar, ana thread’i bloklar ve kullanıcının ilk tıklamasına geç yanıt verilmesine (kötü INP) yol açabilir. Orta segment bir Android telefonda bu maliyet, masaüstünde ölçtüğünüzün 3-5 katına çıkar.
2026 itibarıyla tipik tablo şöyle:
| Kriter | Astro (içerik sitesi) | Next.js (App Router) |
|---|---|---|
| Varsayılan JS yükü | ~0 KB (island’lar hariç) | ~80-100 KB+ (React runtime dahil) |
| Hydration | Yok; sadece island’lar, client:visible ile geciktirilebilir | Client component’ler hydrate edilir |
| LCP | Kolayca <1.5s | İyi kurulumla <2s, mümkün |
| INP | Doğal olarak <200ms | JS bütçesi disiplini ister |
| TBT (lab) | Genelde ~0ms | Bundle büyüklüğüne göre artar |
| Lighthouse (mobil) | 95-100 rutin | 80-95 arası, emek ister |
| Render modeli | SSG öncelikli, SSR opsiyonel | SSR/SSG/ISR/PPR, tam esneklik |
| Veri esnekliği | Build-time öncelikli | Gerçek zamanlı veri doğal |
Burada dürüst olalım: Next.js ile de mobilde Lighthouse 95+ almak mümkün. Ama bunun için sürekli bundle diyeti, dynamic import, dikkatli client component sınırları gerekir. Astro’da aynı sonuç varsayılan davranıştır. Fark “yapılabilir mi” değil, “kaç saatlik mühendislik ister” farkıdır. INP’nin 2026’daki sıralama etkisini Core Web Vitals ve INP rehberimizde ölçüm yöntemleriyle birlikte yazdık.
SEO ve GEO Açısından Çıktı Farkı Ne?
İki framework de tam HTML üretebilir; SEO farkı çıktının varsayılan kalitesinde ortaya çıkar. Astro’da build sonucu her sayfa, içeriği eksiksiz taşıyan saf HTML dosyasıdır. Googlebot, GPTBot, PerplexityBot ne isterse ilk istekte alır; render kuyruğu, JavaScript çalıştırma, timeout riski yoktur. AI tarayıcıları timeout’a klasik botlardan daha duyarlı olduğu için bu, GEO tarafında somut avantajdır.
Next.js’te sonuç kuruluma bağlıdır. Server Components + SSG/ISR ile çalışan bir proje aynı kalitede HTML üretir; sorun yok. Ama sahada sık gördüğümüz anti-pattern şu: ekip her şeyi "use client" yapar, veriyi useEffect ile tarayıcıda çeker ve bot’a yarı boş bir iskelet HTML gider. Google bunu geç de olsa render eder; çoğu AI tarayıcısı ise JavaScript çalıştırmaz ve o içeriği hiç görmez. Yani ChatGPT veya Perplexity’de kaynak olarak görünmek istiyorsanız, hangi framework’ü seçerseniz seçin, içerik ilk HTML yanıtında var olmalı.
Pratik SEO/GEO karşılaştırması:
- Meta/canonical/sitemap: İkisinde de birinci sınıf destek var; berabere.
- JSON-LD schema: İkisinde de elle veya entegrasyonla eklenir; berabere.
- İlk yanıtta tam içerik: Astro’da garanti, Next.js’te disiplin işi.
- llms.txt ve statik dosyalar: İkisinde de kolay; Astro’da build çıktısına doğal olarak oturur.
- Crawl hızı/maliyeti: Statik Astro sayfaları CDN’den milisaniyelerle döner; bot bütçesi verimli kullanılır.
Bir nüans daha: sık değişen içerikte (fiyat, stok, skor) Next.js’in ISR modeli avantajlıdır çünkü sayfayı build almadan tazeler. Astro 5 de server islands ve on-demand rendering ile bu alana girdi ama olgunluk hâlâ Next.js tarafında.
Birinci Elden Deneyim: abdullahustun.com Neden Astro?
Bu yazıyı okuduğunuz site Astro 5 ile çalışıyor ve bu teorik bir tercih değildi; ölçerek verdiğimiz bir karardı. abdullahustun.com daha önce WordPress’teydi. Siteyi Astro 5’e taşırken şunu net gördük: içerik sitesi olan bir yapıda React runtime taşımanın bize kazandıracağı tek bir özellik yoktu, kaybettireceği ise her sayfada onlarca KB JavaScript’ti.
Taşıma sonrası tablo: mobil Lighthouse performansı 95+ bandına oturdu, LCP 1.5 saniyenin altına indi, blog sayfaları CDN’den statik HTML olarak dönüyor. GEO tarafında da etkisini görüyoruz; AI tarayıcıları siteyi sorunsuz çekiyor çünkü çekecekleri şey düz HTML. Aynı siteyi Next.js ile de kurabilirdik ve iyi de olurdu; ama aynı sonuca daha fazla konfigürasyon ve sürekli bakım maliyetiyle ulaşırdık.
Madalyonun öbür yüzü de bizde mevcut: müşterilerimiz için kurduğumuz SaaS ve platform projelerinde Astro’yu değil Next.js’i kullanıyoruz. Oturum yönetimi, form yoğun paneller, gerçek zamanlı veri olan hiçbir projede “Astro’ya sıkıştıralım” demeyiz. Araç projeye uyar, proje araca değil.
WordPress’ten çıkmayı düşünüyorsanız, alternatiflerin tamamını WordPress yerine ne kullanmalı yazısında tek tek değerlendirdik.
Karar Ağacı: 5 Soruda Doğru Framework
Kararsızsanız şu beş soruyu sırayla cevaplayın; çoğu proje ikinci soruda netleşir.
1. Kullanıcı giriş yapıyor mu?
Oturum, profil, rol, kişiye özel içerik varsa → Next.js. Yoksa devam edin.
2. Sayfaların ana işi içerik göstermek mi?
Blog, hizmet tanıtımı, portfolyo, dokümantasyon → Astro. İçerik ikincil, etkileşim birincilse → Next.js.
3. Veri ne sıklıkla değişiyor?
Günde birkaç kez veya daha seyrek değişiyorsa Astro’nun build/deploy döngüsü yeterlidir. Dakikalar içinde değişen veri (stok, fiyat, canlı skor) ISR veya SSR ister → Next.js ya da Astro’nun on-demand rendering’i.
4. Ekipte kim var?
Ekibiniz React’te derinse ve ileride uygulama özellikleri planlıyorsa Next.js’in öğrenme maliyeti sıfıra yakındır. Ekip küçükse veya frontend çeşitliyse Astro’nun sade modeli bakım yükünü düşürür.
5. Mobil performans ne kadar kritik?
Trafiğinizin çoğu mobilden geliyorsa ve dönüşüm hıza duyarlıysa (yerel hizmet, sağlık, hukuk, lead formu) Astro’nun sıfır-JS varsayılanı size hazır bir Core Web Vitals avantajı verir.
Kısa formül: 2’de “içerik” dediyseniz Astro, 1’de “evet” dediyseniz Next.js. Geri kalan sorular sadece istisnaları yakalar.
Sık Yapılan 3 Seçim Hatası
Bu karşılaştırmayı kapatmadan, sahada tekrar tekrar gördüğümüz üç hatayı not edelim:
- “Next.js daha popüler, onu seçelim.” Popülerlik doğru araç kriteri değildir. 8 sayfalık bir kurumsal siteye React runtime taşımak, motosiklet işine kamyon kiralamaktır.
- “Astro daha hızlı, SaaS’ı Astro’yla yazalım.” Etkileşim yoğunlaştıkça her parçayı island yapmaya başlarsınız ve sonunda kötü organize edilmiş bir React uygulamasına dönüşür. Hız avantajı da kaybolur.
- “Framework’ü seçtik, SEO kendiliğinden gelir.” Gelmez. İki tarafta da başlık hiyerarşisi, schema, iç linkleme, içerik kalitesi sizin işinizdir. Framework sadece zemini verir.
Doğru Framework’le Başlayalım
Astro vs Next.js kararı, projenizin önümüzdeki 3-5 yılını belirleyen bir altyapı kararı. Biz her projede önce iş modelinize bakıyor, sonra framework öneriyoruz; tersini değil. İçerik siteniz için Astro, ürününüz için Next.js kuruyoruz ve ikisinde de Core Web Vitals + GEO hedeflerini baştan tasarıma gömüyoruz.
Nasıl çalıştığımızı web tasarım hizmet sayfamızda görebilirsiniz. Projeniz hangi tarafa düşüyor emin değilseniz, iletişim sayfasından ücretsiz 30 dakikalık görüşme planlayın; sitenize bakıp net bir öneriyle dönelim.
SSS