Yükleniyor...

Netlify Nedir? Kapsamlı Başlangıç Rehberi [2026]

Yazar: Burak Balkı | Kategori: Cloud Computing | Okuma Süresi: 10 dk

Netlify nedir, nasıl kullanılır? CI/CD, deploy, serverless functions ve form yönetimi. Adım adım kurulum rehberi.

## Netlify Nedir ve Modern Web Mimarisindeki Rolü **Netlify**, modern web geliştirme süreçlerini hızlandırmak ve kolaylaştırmak amacıyla tasarlanmış, bulut tabanlı bir otomasyon ve barındırma platformudur. Özellikle **Jamstack** (JavaScript, API ve Markup) mimarisinin öncülerinden biri olan Netlify, geliştiricilere statik site oluşturucuları (SSG) ve modern JavaScript framework'leri (React, Vue, Next.js, Nuxt vb.) ile oluşturulan projeleri saniyeler içinde yayına alma imkanı tanır. Geleneksel sunucu yönetiminin karmaşıklığını ortadan kaldıran Netlify; CI/CD (Sürekli Entegrasyon ve Sürekli Dağıtım) süreçlerini, sunucusuz (serverless) fonksiyonları ve kenar ağ (edge network) özelliklerini tek bir çatı altında birleştirir. Bu sayede geliştiriciler, altyapı yönetimiyle uğraşmak yerine sadece kod yazmaya odaklanabilirler. ## Netlify Temel Özellikleri ve Avantajları Netlify'ı rakiplerinden ayıran en temel özellik, geliştirici deneyimini (Developer Experience - DX) merkeze almasıdır. İşte Netlify'ın sunduğu temel avantajlar: - **Git Tabanlı İş Akışı:** GitHub, GitLab veya Bitbucket depolarınıza bağlandığınızda, her `push` işlemi otomatik bir dağıtımı tetikler. - **Global Edge Network:** İçeriğiniz dünya genelindeki CDN noktalarına dağıtılarak en düşük gecikme süresiyle sunulur. - **Atomic Deploys:** Her dağıtım tam ve bağımsızdır; bu da hatalı bir sürümde anında geri dönüş (rollback) yapmanızı sağlar. - **Split Testing:** Trafiği farklı branch'ler arasında paylaştırarak A/B testleri yapmanıza olanak tanır. - **Netlify Forms & Identity:** Backend kodu yazmadan form yönetimi ve kullanıcı kimlik doğrulama işlemleri yapmanızı sağlar. | Özellik | Açıklama | Avantaj | | :--- | :--- | :--- | | **CI/CD** | Otomatik derleme ve dağıtım | Hızlı iterasyon | | **Preview Deploys** | Her Pull Request için özel önizleme URL'i | Kolay kod inceleme | | **Serverless Functions** | AWS Lambda tabanlı API uç noktaları | Backend bağımsızlığı | | **Edge Functions** | Kenar ağda çalışan kodlar | Ultra düşük gecikme | ## Netlify ile İlk Proje: Adım Adım Kurulum Rehberi Netlify üzerinde bir projeyi yayına almak oldukça basittir. Genellikle bir Git deposu üzerinden ilerlemek en sağlıklı yöntemdir. ### 1. Adım: Projeyi Hazırlama Öncelikle yerel makinenizde bir proje oluşturun (Örneğin bir React uygulaması): ```bash npx create-react-app netlify-projem cd netlify-projem git init git add . git commit -m "İlk commit" ``` ### 2. Adım: Git Deposuna Yükleme Kodunuzu GitHub veya benzeri bir platforma gönderin. Netlify bu depoyu izleyerek değişiklikleri takip edecektir. ### 3. Adım: Netlify Bağlantısı Netlify paneline giriş yapın, "Add new site" > "Import an existing project" seçeneğini tıklayın. Git sağlayıcınızı seçin ve ilgili depoyu yetkilendirin. ### 4. Adım: Build Ayarları Netlify genellikle framework'ü otomatik tanır. Örneğin React için: - **Build Command:** `npm run build` - **Publish Directory:** `build` veya `dist` ## Netlify CLI Kullanımı ve Otomasyon Süreçleri Profesyonel iş akışlarında terminal üzerinden yönetim sağlamak büyük bir hız kazandırır. **Netlify CLI**, yerel geliştirme ortamınızı Netlify bulut özellikleriyle senkronize etmenizi sağlar. ### CLI Kurulumu ve Giriş ```bash npm install netlify-cli -g netlify login ``` ### Yerel Geliştirme Ortamı (Netlify Dev) Netlify Dev, bulut üzerindeki ortam değişkenlerini ve redirect kurallarını yerelinizde simüle eder: ```bash # Proje dizininde çalıştırın netlify dev ``` ### Manuel Dağıtım (Manual Deploy) Sadece belirli bir klasörü hızla yayına almak isterseniz: ```bash netlify deploy --prod --dir=dist ``` ## Netlify .toml Yapılandırması: Altyapıyı Kodla Yönetmek `netlify.toml` dosyası, projenizin kök dizininde bulunan ve dağıtım ayarlarını, yönlendirmeleri (redirects) ve başlıkları (headers) yönetmenizi sağlayan bir yapılandırma dosyasıdır. ```toml [build] command = "npm run build" publish = "dist" [build.environment] NODE_VERSION = "18" API_KEY = "gizli_anahtar" [[redirects]] from = "/*" to = "/index.html" status = 200 [[headers]] for = "/*" [headers.values] X-Frame-Options = "DENY" X-XSS-Protection = "1; mode=block" ``` ## Netlify Edge Functions ve Serverless Mimarisi Netlify, backend ihtiyacını karşılamak için iki ana çözüm sunar: **Functions** (AWS Lambda tabanlı) ve **Edge Functions** (Deno tabanlı). ### Örnek: Basit bir Serverless Function `netlify/functions/hello.js` dosyası oluşturun: ```javascript exports.handler = async (event, context) => { return { statusCode: 200, body: JSON.stringify({ message: "Netlify Serverless çalışıyor!" }), }; }; ``` ### Örnek: Netlify Edge Function (Deno) Edge functions, kullanıcıya en yakın lokasyonda çalışır ve HTTP isteklerini manipüle etmek için idealdir. ```typescript // netlify/edge-functions/hello.ts export default async (request: Request) => { return new Response("Merhaba, bu bir Edge Function cevabıdır!", { headers: { "content-type": "text/html" }, }); }; ``` ## Netlify Forms ve Identity: Dinamik Özellikler Eklemek Statik sitelerde form yönetimi zordur. Netlify, HTML formlarınıza sadece bir öznitelik ekleyerek verileri toplamanızı sağlar. ### Netlify Forms Kullanımı ```html
``` ### Netlify Identity (Auth) Kullanıcı kaydı ve giriş işlemleri için Netlify Identity widget'ını eklemek yeterlidir: ```html
Giriş Yap
``` ## Netlify Build ve Deployment Pipeline Yapılandırması Netlify, her commit sonrası karmaşık build süreçlerini yönetebilir. Ancak build sürelerini optimize etmek maliyet ve hız açısından kritiktir. ### Build Hook Kullanımı Dış bir veri kaynağı (örneğin Headless CMS) güncellendiğinde Netlify'ı tetiklemek için Build Hook'lar kullanılır: ```bash # Örnek bir POST isteği ile build tetikleme curl -X POST -d {} https://api.netlify.com/build_hooks/60a123... ``` ## Netlify DNS ve Özel Domain Yönetimi Netlify, alan adlarınızı yönetmek için kendi DNS hizmetini sunar. Bu, SSL sertifikalarının (Let's Encrypt) otomatik olarak yenilenmesini ve en iyi performans ayarlarının yapılmasını sağlar. - **Apex Domain:** `ornek.com` adresini Netlify'a yönlendirmek için ALIAS veya ANAME kayıtları önerilir. - **Subdomain:** `app.ornek.com` gibi alt alan adları kolayca yönetilebilir. ## Best Practices: Güvenlik ve Performans Optimizasyonu Netlify projelerinizde en yüksek verimi almak için şu stratejileri uygulayın: 1. **Asset Optimization:** Netlify panelinden resim, JS ve CSS dosyalarının otomatik sıkıştırılmasını (minification) aktif edin. 2. **Environment Variables:** Hassas verileri asla koda gömmeyin, Netlify UI üzerinden tanımlayın. 3. **Branch Deploys:** `staging` veya `develop` branch'leri için ayrı önizleme ortamları kurun. 4. **Cache Control:** `netlify.toml` üzerinden özel cache başlıkları tanımlayarak tarayıcı performansını artırın. ```toml [[headers]] for = "/static/*" [headers.values] Cache-Control = "public, max-age=31536000, immutable" ``` ## Yaygın Hatalar ve Çözüm Yolları - **404 Not Found (SPA):** React/Vue gibi Single Page Application'larda sayfayı yenileyince 404 hatası alıyorsanız, yönlendirme kuralını (`_redirects` veya `netlify.toml`) eksik yapmışsınızdır. - **Build Timeouts:** Eğer build süreniz 15 dakikayı aşıyorsa, Netlify build işlemini durdurur. Bu durumda cache pluginleri kullanmalı veya build sürecini optimize etmelisiniz. - **Mixed Content:** HTTPS üzerinden HTTP isteği yapmaya çalışmak güvenliği bozar. Tüm API isteklerinizin HTTPS olduğundan emin olun. ## Sık Sorulan Sorular (FAQ) **1. Netlify tamamen ücretsiz mi?** Netlify'ın oldukça cömert bir ücretsiz planı (Starter) vardır. Bireysel projeler ve küçük ölçekli işler için yeterlidir. Ancak ekip yönetimi ve yüksek bant genişliği için ücretli planlara geçmek gerekir. **2. Netlify üzerinde veritabanı barındırabilir miyim?** Hayır, Netlify doğrudan bir veritabanı (SQL/NoSQL) hizmeti sunmaz. Bunun yerine MongoDB Atlas, Supabase veya PlanetScale gibi harici servisleri Netlify Functions ile bağlamanız gerekir. **3. SSL sertifikası için ödeme yapmam gerekiyor mu?** Hayır, Netlify tüm siteler için ücretsiz Let's Encrypt SSL sertifikası sağlar ve bunu otomatik olarak yeniler. **4. Netlify ile WordPress barındırılabilir mi?** Netlify doğrudan PHP/MySQL çalıştırmaz. Ancak WordPress'i "Headless" olarak kullanıp, verileri WP-API üzerinden çekerek statik bir site (Gatsby/Next.js) oluşturup Netlify'da barındırabilirsiniz. **5. Deployment hızı nasıl artırılır?** `netlify-plugin-cache` gibi eklentiler kullanarak bağımlılıkların (node_modules) her seferinde tekrar indirilmesini engelleyebilir ve build süresini kısaltabilirsiniz. ## Özet ve Sonuç Netlify, modern web geliştiricileri için sadece bir barındırma platformu değil, aynı zamanda kapsamlı bir operasyon merkezidir. Git tabanlı iş akışları, serverless fonksiyonlar ve kenar ağ mimarisi ile projelerinizi dünya standartlarında bir altyapıya kavuşturur. İster basit bir portfolyo sitesi ister karmaşık bir kurumsal uygulama geliştirin, Netlify size hız, güvenlik ve ölçeklenebilirlik sunar. Bu rehberdeki adımları takip ederek, siz de modern web ekosisteminin avantajlarından tam anlamıyla yararlanabilirsiniz.