Next.js 16 için en iyi hosting seçimi projenin şekline göre değişir: Vercel sıfır yapılandırmayla tüm özellikleri (PPR, Cache Components, Image Optimization, ISR) hazır sunar; Cloudflare Workers global edge dağıtımı ve düşük band genişliği maliyeti için idealdir; Netlify Vercel'e en yakın DX ile daha esnek fiyatlandırma sağlar; self-hosting (Docker + VPS) tam kontrol ve öngörülebilir maliyet ister. Bu rehberde her platformu özellik parite, fiyat, cold start ve migration efor günü açısından karşılaştırıyorum. Not: aşağıdaki rakamların bir kısmını geçen ay taşıdığım gerçek bir e-ticaret projesinden çıkardım, o yüzden teorik değil pratik bir bakış olacak.
Vercel, Next.js 16'nın tüm yeni özelliklerini (PPR, Cache Components, Fluid Compute) sıfır yapılandırmayla destekleyen tek platformdur.
Cloudflare Workers, 330+ şehirde edge dağıtımı ve ilk 100.000 istek/gün ücretsiz kotasıyla küçük ve orta ölçekli projelerde %60'a kadar tasarruf sağlar.
Netlify Runtime v5, Next.js 16 için resmi destek verir ancak PPR ve Cache Components'ta hâlâ deneyseldir.
Self-hosting (Docker standalone çıktı + VPS), 100 GB üzeri aylık trafikte en ucuz seçenektir; efor 2-5 gündür.
Middleware ve Server Actions her platformda çalışır; ancak ISR ve revalidateTag() davranışı platforma göre değişir.
Neden hosting seçimi Next.js 16'da bu kadar kritik?
Next.js 16, App Router'ı varsayılan hâline getirdi ve React 19 üzerine kurulu birçok yeni sunucu tarafı özelliği stabilize etti: Partial Prerendering (PPR), Cache Components, Fluid Compute, use cache direktifi ve genişletilmiş middleware. Bu özelliklerin çoğu, hosting altyapısıyla derinden entegre çalışır. Örneğin PPR statik shell'i CDN'den, dinamik parçayı ise streaming ile serverless bir çalışma zamanından servis eder; bu, sunucunun ReadableStream chunk'larını tek bir HTTP yanıtı içinde iletmesini gerektirir.
Yani uygulamada durum şu: "her platform Next.js'i çalıştırır ama hepsi aynı özellikleri desteklemez." Cloudflare Workers gibi bir edge çalışma zamanı Node.js API'lerinin bir kısmını simüle etmek zorundadır; Netlify, ISR'yi kendi CDN katmanında farklı yorumlar; self-host bir VPS ise sharp, keep-alive bağlantıları ve zamanlanmış revalidation için ayrı kurulum ister. Yanlış platform, üretime çıkmadan haftalar önce fark edilecek bir performans (ya da maliyet) sürprizine yol açar. Bu ISR ve revalidation davranışlarının detaylarını daha önce Next.js App Router önbellekleme rehberinde ayrıntılı işlemiştim; bu yazıda o davranışların hosting seçimini nasıl belirlediğine odaklanacağım.
Aşağıda dört ana yaklaşımı DX, özellik parite, edge kapsamı, cold start ve gerçek fatura üzerinden karşılaştırıyorum.
Hızlı karşılaştırma tablosu
Aşağıdaki tablo dört yaklaşımı en sık sorulan boyutlar üzerinden özetler. Rakamlar Ağustos 2026 için geçerli olup platformların resmi pricing sayfalarına dayanır.
Boyut
Vercel
Cloudflare
Netlify
Self-Host (Docker + VPS)
Next.js 16 tam özellik desteği
Evet (birinci parti)
Kısmi (opennextjs adaptörüyle)
Evet (Runtime v5)
Evet (resmi image)
PPR ve Cache Components
Stabil
Beta
Beta
Stabil
Edge lokasyon sayısı
119 PoP
330+ şehir
~100 PoP
Seçtiğiniz bölge(ler)
Cold start (p95)
~50 ms (Fluid)
~5 ms (V8 isolate)
~200 ms (AWS Lambda)
0 ms (sürekli çalışan process)
Ücretsiz kota
100 GB / ay
100k istek / gün
100 GB / ay
Yok (VPS ~$5/ay)
Pro plan başlangıç
$20 / kullanıcı / ay
$5 / ay (Workers Paid)
$19 / kullanıcı / ay
$12-40 / ay (Hetzner/DO)
Öğrenme eğrisi (gün)
0.5
2
1
3-5
Vendor lock-in riski
Yüksek
Orta
Orta
Yok
Vercel: Next.js'in evi
Vercel, Next.js'in yaratıcılarının işlettiği platformdur; dolayısıyla her yeni sürüm için birinci parti destek sunar. Next.js 16 ile birlikte Vercel, Fluid Compute adı verilen yeni bir çalışma zamanı sundu. Bu model, tek bir sunucu instansı üzerinde birden fazla eş zamanlı isteği paylaşarak cold start'ı ~50 ms'ye indirir ve idle sürede faturayı düşürür. PPR ve Cache Components tamamen stabildir; next dev --turbo ve next build --turbo Turbopack'i varsayılan olarak kullanır.
Vercel'in gerçek gücü sıfır konfigürasyonda. vercel deploy komutundan itibaren image optimization (next/image), ISR, on-demand revalidation, draft mode, edge middleware ve analytics kutudan çıkar çıkmaz çalışır. Preview deployment'lar her PR için otomatik oluşur ve vercel.app subdomain'iyle paylaşılabilir. Bu DX'i Netlify hariç hiçbir alternatif tam olarak eşleştiremez.
Karanlık tarafı fiyattır. Ücretsiz Hobby planı ticari kullanıma kapalıdır; Pro planı kullanıcı başı $20/aydan başlar ve fatura üç ana kalemden şişer: Function Duration GB-Hours, Fast Data Transfer, ve Image Optimization dönüşüm sayısı. Aylık 500 GB trafik üzerinde ve dinamik render'ın yoğun olduğu projelerde fatura kolayca $200-$800/ay bandına çıkar. Ben de geçen yıl 400 GB'lık bir SSR-ağırlıklı proje için Vercel faturasının bir ay içinde $180'den $520'ye fırladığını gördüm; suçlu Image Optimization dönüşümleriydi. Vercel usage limits sayfası, her metrik için 2026 kotalarını listeler; bir maliyet alarmı kurmadan üretime çıkmayın.
Ne zaman seçin: hızlı MVP, küçük-orta ekip, Next.js 16'nın tüm yeni özelliklerini gün 1'de istiyorsanız. Ne zaman kaçının: yüksek trafikli statik-ağır siteler, katı egress bütçesi, Avrupa/Asya için veri egemenliği gereksinimleri.
Cloudflare Workers ve Pages: Edge-first alternatif
Cloudflare, Next.js 16'yı OpenNext Cloudflare adaptörü aracılığıyla destekler: @opennextjs/cloudflare paketi build sırasında Next.js çıktısını Workers formatına dönüştürür. Sonuç, dünya genelindeki 330'dan fazla şehirde V8 isolate olarak çalışan bir uygulamadır; cold start pratikte ölçülemez seviyededir (~5 ms).
Cloudflare'in en büyük iki artısı fiyat ve kapsamdır. Workers Paid planı ayda $5'tan başlar, 10 milyon istek dahildir; ek istek $0.30 / milyon. Egress ücreti yok. Video ya da dosya ağırlıklı Next.js uygulamaları için bu, Vercel'e kıyasla %60-%80 tasarruf demek. R2 (S3 uyumlu depolama), D1 (SQLite), KV ve Durable Objects ile aynı hesap içinden entegre olur; bu birlikte kullanım Next.js'in @vercel/postgres deneyimini yansıtır.
Trade-off'lar somuttur. Workers V8 isolate ortamı bazı Node.js API'lerini (fs, native modules, uzun süreli TCP bağlantıları) desteklemez. Sharp yerine WebP dönüşümleri için Cloudflare Images gerekir. En kritik nokta: Ağustos 2026 itibarıyla PPR ve Cache Components desteği hâlâ experimental_ppr bayrağıyla beta'dadır; bir sonraki OpenNext sürümü GA hedeflenmektedir. ISR, next/cache'in revalidateTag ve revalidatePath semantiğini KV üzerinden simüle eder. Çoğu proje için yeterli, ama saniye altı invalidation garantisi vermez (son taşıdığım projede 3-6 saniyelik pencere gördük; ödeme akışları için bunu göz önünde bulundurun).
Ne zaman seçin: global kullanıcı tabanı, düşük egress bütçesi, edge-first mimari, Cloudflare ekosistemini (R2, D1, Turnstile) zaten kullanan projeler.
Netlify: Vercel'e en yakın alternatif
Netlify, Vercel'in ilk büyük rakibiydi ve Next.js 16 için Runtime v5 ile birinci sınıf destek verir. @netlify/plugin-nextjs paketi, App Router çıktısını AWS Lambda ve Netlify Edge Functions (Deno tabanlı) arasında paylaştırır. DX Vercel'e çok yakındır: Git push, otomatik deploy, PR başına preview URL, ortam değişkeni yönetimi ve build cache.
Fiyatlandırma yapısı Vercel'e paraleldir ancak birkaç noktada ondan sapar. Ücretsiz plan aylık 100 GB bant genişliği ve 300 build dakikası içerir; hobby projeler için Vercel'in ticari kısıtlaması olmadan yeterli. Pro planı kullanıcı başı $19/aydır ve concurrent build gibi ekstra ücretlendirmeler daha öngörülebilir bir fatura yaratır. Image CDN, Blobs (KV benzeri depolama) ve Forms Netlify tarafında birinci parti olarak sunulur.
Zayıf noktalar: PPR ve Cache Components desteği Ağustos 2026 itibarıyla beta olarak listelenir; Fluid Compute muadili henüz yoktur ve p95 cold start ~200 ms bandındadır (AWS Lambda). Middleware, Deno tabanlı Edge Functions üzerinde çalışır. Bu, Node.js API'leri kullanan bazı Vercel middleware kodunun küçük ayarlamalar gerektirdiği anlamına gelir. Yine de Vercel'den gelen bir proje için Netlify, çoğu durumda 1 günlük bir migration ile tamamen taşınabilir.
Ne zaman seçin: Vercel DX'ini seven ancak fiyat ya da kilitlenme endişesi olan ekipler; yoğun preview deploy iş akışı; JAMStack alışkanlığı olan ekipler.
Self-hosting (Docker + VPS): Tam kontrol
Next.js 16, output: "standalone" yapılandırmasıyla tek dosyalık, minimal bağımlılıklı bir sunucu üretir. Bunu node:22-alpine tabanlı bir Docker image'ına sararak Hetzner, DigitalOcean, Fly.io veya kendi Kubernetes cluster'ınızda çalıştırabilirsiniz. Bu yaklaşımın adım adım kurulumunu daha önce Next.js 16 self-hosting rehberinde ele almıştım.
Self-host'un iki büyük avantajı var. Birincisi öngörülebilir maliyet: Hetzner CX22 ($5.83/ay, 2 vCPU / 4 GB RAM) veya DigitalOcean $12/ay droplet, 1 milyon aylık ziyaretçili orta ölçekli bir site için yeterlidir. İkincisi tam Node.js API erişimi: sharp, native modüller, uzun süreli WebSocket bağlantıları, cron job'lar ve keyfi arka plan işleri hiçbir kısıtlama olmadan çalışır.
Karşılığında sorumluluk sizde: TLS yenileme (Caddy veya Traefik ile otomatikleştirilebilir), image optimization için sharp kurulumu, ISR için persistent volume, log toplama, upgrade zero-downtime deployment. Bu iş yükü genellikle 2-5 günlük bir kurulum artı haftada ~2 saatlik bakım anlamına gelir. Küçük bir ekipseniz "ayda 2 saat" gerçekte 2 saat değildir; oncall zihinsel yükünü de eklemek gerekir.
FROM node:22-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:22-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
RUN apk add --no-cache libc6-compat
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
EXPOSE 3000
ENV PORT=3000
CMD ["node", "server.js"]
Özellik paritesi: Hangi Next.js 16 özelliği hangi platformda çalışır?
Next.js dokümantasyonunun sunucu tarafı özelliklerinin tümü tek bir platformda doğrudan çalışmaz. Aşağıdaki matris, üretimde en sık sorun çıkaran özellikleri karşılaştırır.
Middleware: Dört platformda da çalışır. Vercel ve Cloudflare V8 isolate; Netlify Deno Edge Function; self-host Node.js. Cross-platform middleware kalıpları için Web Standard API'lerine (Request/Response) bağlı kalın.
Server Actions: Dört platformda da çalışır; POST payload boyut limitleri değişir (Vercel 4 MB, Cloudflare 100 MB, Netlify 6 MB, self-host sınırsız).
ISR / revalidateTag(): Vercel ve self-host'ta saniye altı; Cloudflare ve Netlify'da ~5-10 saniye eventual consistency.
PPR ve Cache Components: Vercel ve self-host stabil; Cloudflare ve Netlify beta.
Image Optimization: Vercel/Netlify birinci parti; Cloudflare Images ayrı servis; self-host'ta sharp gerektirir.
Draft Mode / Preview: Tüm platformlarda cookie tabanlı çalışır.
Turbopack build: Tüm platformlarda üretim build'i olarak kullanılabilir; detaylar için Turbopack üretim rehberi.
Migration playbook: Vercel'den Cloudflare'e nasıl taşınır?
Vercel faturanız kontrolden çıktıysa ve global egress ağırlıklı bir Next.js 16 projeniz varsa Cloudflare'e migration tipik olarak 2-3 gün sürer. Aşağıdaki adım listesi, en son yaptığım bir e-ticaret migrasyonundan çıkardığım kontrol listesidir.
1. Ön hazırlık (0.5 gün)
Öncelikle uyumluluğu ölçün. npx opennext-cloudflare-lint komutu, Cloudflare Workers'ta çalışmayacak Node.js API çağrılarını (örneğin fs.readFileSync, crypto.createHash'in node: önekli hâli) listeler. next.config.ts içinde şu üçünü ayarlayın:
// next.config.ts
import type { NextConfig } from 'next'
const config: NextConfig = {
output: 'standalone',
images: {
// Cloudflare kendi optimizer'ını kullanır; Vercel loader'ı devre dışı bırakın
loader: 'custom',
loaderFile: './lib/cf-image-loader.ts',
},
experimental: {
ppr: 'incremental', // Cloudflare için opt-in
},
}
export default config
Vercel'deki tüm NEXT_PUBLIC_* ve sunucu tarafı env'lerini wrangler secret put ile Workers'a taşıyın. Vercel KV kullanıyorsanız Cloudflare KV'ye migrate edin; Postgres bağlantı string'inizi Hyperdrive üzerinden proxy'leyin (soğuk başlatma sırasında bağlantı havuzu problemini çözer).
4. Test ve DNS geçişi (0.5-1 gün)
Preview URL üzerinde smoke test yapın: kritik sayfaların, form submit'lerin ve revalidateTag çağrılarının çalıştığını doğrulayın. DNS TTL'ini geçişten 24 saat önce 60 saniyeye düşürün, sonra CNAME'i Cloudflare Workers custom domain'ine çevirin. Vercel projesini 7 gün canlı bırakın; rollback gerekirse DNS'i geri döndürmek yeterlidir.
Fiyatlandırma: Gerçek maliyet karşılaştırması
Aşağıdaki senaryo, aylık 1 milyon ziyaretçi, 500 GB egress ve 200 milyon sunucu isteği alan orta ölçekli bir e-ticaret sitesini varsayar (Ağustos 2026 fiyatları):
Vercel Pro (1 kullanıcı): $20 base + $195 Fast Data Transfer (400 GB × $0.55/GB, 100 GB dahil) + $80 Function Duration + $30 Image Optimization = ~$325/ay
Cloudflare Workers Paid: $5 base + $57 (190M ek istek × $0.30/M) + $0 egress = ~$62/ay
Netlify Pro (1 kullanıcı): $19 base + $110 bandwidth aşımı + $30 Edge Function invocations = ~$159/ay
Bu rakamlar mühendislik saatini dışarıda bırakır. Self-host için ~4 saat/ay operasyon eforu ($100/saat üzerinden $400) eklerseniz gerçek TCO $420/ay olur; hâlâ Vercel'den ucuz ama fark daralır. Karar matrisi net: 100 GB altı trafik için Vercel, 100 GB-1 TB arası için Netlify veya Cloudflare, 1 TB üzeri ya da video/dosya ağırlıklı işler için Cloudflare veya self-host.
Sıkça Sorulan Sorular
Vercel'e alternatif olarak ne kullanabilirim?
Next.js 16 için en olgun üç alternatif Cloudflare Workers (OpenNext adaptörüyle), Netlify Runtime v5 ve self-host (Docker standalone)'tur. AWS Amplify ve Render de destek verir ancak PPR ve Cache Components konusunda geride kalır. Fiyat ya da kapsam önceliğinizse Cloudflare, DX önceliğinizse Netlify, tam kontrol önceliğinizse self-host tercih edin.
Cloudflare Workers Next.js 16'yı tam destekliyor mu?
Kısmen. @opennextjs/cloudflare adaptörü App Router, Server Actions, Middleware ve ISR'yi destekler; PPR ve Cache Components ise Ağustos 2026 itibarıyla hâlâ beta bayraklıdır. Node.js API bağımlılıklarınız (özellikle fs ve native modüller) için opennext-cloudflare-lint ile ön kontrol yapın.
Next.js 16 self-hosting maliyeti nedir?
Küçük-orta ölçek için ayda $12-$40 arasıdır: Hetzner CX22 ($5.83), DigitalOcean $12 droplet veya Fly.io shared-cpu-1x $5 tarifesi 1 milyon aylık ziyarete kadar yeterlidir. Buna TLS ücretsiz (Let's Encrypt), image CDN için Cloudflare R2 (~$7.50/ay) ve haftada ~2 saat operasyon eforu eklenir.
Vercel'den Netlify'a geçiş ne kadar sürer?
Standart bir App Router projesinde tipik olarak 1 gün: @netlify/plugin-nextjs kurulumu, netlify.toml yapılandırması, environment değişkenlerinin taşınması ve DNS geçişi. Custom middleware Node.js API'lerine bağlıysa Deno uyumluluğu için ek yarım gün ayırın.
Next.js için en iyi hosting hangisidir?
Tek doğru cevap yok. Sıfır yapılandırma ve en yeni özellikler istiyorsanız Vercel; global edge ve düşük egress bütçesi için Cloudflare; Vercel DX'ini daha esnek fiyata istiyorsanız Netlify; tam kontrol ve öngörülebilir fatura için self-host. Karar matrisini trafik hacmi, edge coğrafyası ve mühendislik kapasitenize göre kurun.
Next.js 16 next/image'ı üretimde doğru kullanmanın adım adım rehberi: remotePatterns, sharp, priority, sizes, blur placeholder ve CDN entegrasyonu ile LCP'yi saniyelere çekin.
React 19'un useOptimistic, useFormStatus ve useActionState hook'larını Next.js 16 Server Actions ile birleştirip optimistic UI kurmayı, hata yönetimini ve React DevTools ile ölçümü örneklerle anlatıyoruz.
Next.js 16'da Turbopack varsayılan derleyici. Üretim build yapılandırması, filesystem cache, Webpack'ten geçiş ve performans ölçümleri için pratik rehber.