AI ile Yaptığınız Siteyi cPanel’de Yayınlamak
Lovable, v0, Bolt ya da Claude ile yaptığınız siteyi cPanel hostingde yayınlama adımları. Statik ve Node.js (Next.js, TanStack Start) için komutlar.
Lovable, v0, Bolt ya da Claude ile yaptığınız site cPanel hosting paketimizde çalışıyor. Bunu tahmin ederek yazmıyoruz. 20 Ekim 2026’da aynı paketle bir hesap açtık. Bu yapay zekâ araçlarının ürettiği üç proje türünü (statik Vite sitesi, Next.js uygulaması, TanStack Start uygulaması) aynı Node ortamında kurduk; üçü de tarayıcıda açıldı. Aşağıda adımlar, kullandığımız komutlar ve takıldığımız üç yer var. Kopyalayıp uygulayabilirsiniz. Ekran görüntüleri o test hesabından; kurgu değil.

Önce çıktınızın türünü bilin
Bu araçlar iki tür proje üretir. Birincisi statik sitedir: derlenince düz HTML, CSS ve JavaScript dosyaları çıkar, sunucuda hiçbir şey çalışmaz. İkincisi sunucu tarafında çalışan uygulamadır: her isteği bir Node.js süreci karşılar. Hangisine sahip olduğunuz, yapacağınız işin yarısını belirler.
| Araç | Varsayılan çıktı | Sunucuda gereken |
|---|---|---|
| Claude, ChatGPT (tek dosya) | Tek HTML dosyası | Hiçbir şey; dosyayı yüklersiniz |
| Bolt (Vite şablonu) | Vite + React, derlenince dist klasörü | Hiçbir şey; dist içeriğini yüklersiniz |
| v0 | Next.js (sunucu tarafı işleme) | Node.js uygulaması |
| Lovable (Mayıs 2026 sonrası) | TanStack Start (sunucu tarafı işleme) | Node.js uygulaması |
| Lovable (eski projeler) | Vite + React | Hiçbir şey; dist içeriğini yüklersiniz |
Nasıl anlarsınız: package.json içinde "next" ya da "@tanstack/react-start" geçiyorsa sunucu isteyen uygulamadır. Yalnız "vite" ve "react" varsa statiktir.
Statik site: üç adım
- Projeyi bilgisayarınızda derleyin:
npm installvenpm run build. Çıktı dist klasörüne düşer. Claude’un tek dosyalık çıktısında bu adım yok; elinizde zaten index.html var. - cPanel’de Dosya Yöneticisi’ni açın, public_html klasörüne girin ve dist klasörünün içindekileri (klasörün kendisini değil) yükleyin. FTP ile de yapabilirsiniz; hesap bilgileri cPanel’deki FTP Hesapları ekranında.
- Alan adınızı açın. Hepsi bu; sunucuda çalışan bir şey olmadığı için Node.js ya da başka bir ayar gerekmez.

Denemede Vite ile derlenmiş React sitesi bu yolla 30 milisaniyede açıldı. Sayfalar arası geçişi tarayıcıda yapan (client-side routing) bir sitede derin bağlantılar 404 verir; o zaman public_html içine şu dört satırlık .htaccess dosyasını koyarsınız:
RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^ index.html [L]
Bunu da denedik: dosya olmayan bir yol index.html’i döndürdü, gerçek dosyalar (JS, CSS) yine kendileri geldi.
Sunucu isteyen uygulama: Next.js ve TanStack Start
Burada iş biraz uzar ama sırası nettir: kaynak kodu sunucuya alın, cPanel’de Node.js uygulamasını tanımlayın, bağımlılıkları kurup derleyin, başlatın. Her adımı denedik; komutlar olduğu gibi aşağıda.
1. Kaynak kodu sunucuya alın
Lovable ve v0 projeyi GitHub’a gönderir; Bolt ZIP indirtir. En kısa yol ZIP: projeyi bilgisayarınıza indirin, cPanel’de File Manager ile ev dizininize yükleyin ve orada açın. node_modules klasörünü yüklemeyin; onu sunucuda kuracaksınız. Proje public_html dışında, örneğin ev dizininizde uygulama-adi klasöründe dursun. cPanel’de Git Version Control ekranı da var; özel depo için SSH anahtarı ister, bu denemede o yolu kullanmadık.

2. Node.js uygulamasını tanımlayın
cPanel’in Node.js ekranını (ana sayfada Setup Node.js App) açın ve yeni uygulama oluşturun. Node sürümü 22, uygulama modu production, uygulama kökü az önce yüklediğiniz klasör, URL alan adınız ya da alt alan adınız. Başlangıç dosyası (startup file) uygulamaya göre değişir; aşağıda iki örnek var. Kaydedince cPanel, projenizde node_modules için bir bağlantı ve kabukta kullanacağınız bir ortam oluşturur. cPanel bu sunucuda İngilizce; ekran adlarını o yüzden İngilizce yazdık.
3. Bağımlılıkları kurun ve derleyin
cPanel’deki Terminal ekranını açın. Node.js ekranında uygulamanızın yanında yazan source .../activate komutunu kopyalayıp yapıştırın; böylece doğru Node sürümüne geçersiniz. Sonra proje klasörüne girin ve şunu çalıştırın: npm install --include=dev. Ardından npm run build. Denemede derleme Next.js için 25 saniye, TanStack Start için 10 saniye sürdü.

3a. v0 ve Next.js için iki küçük dosya
Next.js kendi sunucusunu next start ile açar; cPanel ise bir dosya ister. Proje köküne server.js adıyla şu içeriği koyun ve başlangıç dosyası olarak onu seçin: const next = require('next'); const http = require('http'); const app = next({ dev: false }); const handle = app.getRequestHandler(); app.prepare().then(() => { http.createServer((req, res) => handle(req, res)).listen(process.env.PORT || 3000); });
İkinci dosya next.config.ts; iki ayar ister. Birincisi: Next.js 16’nın derleyicisi (Turbopack) cPanel’in node_modules bağlantısını proje dışında sayıp “Could not find the Next.js package” diyor; ayar dosyasına kök dizini yazarsınız: turbopack: { root: "/home/KULLANICI_ADINIZ" }. Kullanıcı adınız cPanel’in sağ üstünde yazar. İkincisi: paylaşımlı hesabın aynı anda 150 süreç sınırı var; projede bir API ucu (app/api altında route.ts) varsa derleyici o sınırı aşıp “OS can’t spawn worker thread” diye çöker. Derleyicinin iplik sayısını kısarsınız: experimental: { cpus: 1, workerThreads: false }. Bu ayarla aynı projeyi API ucuyla birlikte derledik, geçti. İki ayar aynı nesnede yan yana durur.
3b. Lovable ve TanStack Start için tek köprü dosyası
TanStack Start derlenince sunucu .output/server/index.mjs dosyasına çıkar; cPanel ise eski tip (CommonJS) bir başlangıç dosyası bekler. Proje köküne app.cjs adıyla tek satırlık bir köprü koyun: import("./.output/server/index.mjs"); Başlangıç dosyası olarak app.cjs’yi seçin. Uygulama, sunucunun verdiği PORT değerini kendisi okur; başka ayar gerekmez.
4. Başlatın ve bakın
Node.js ekranından uygulamayı yeniden başlatın ve alan adınızı açın. İlk istek iki üç saniye sürer; sunucu uygulamayı o anda ayağa kaldırır. Sonrakiler denemede 60 milisaniyeydi. Aşağıda nerede sınır çizdiğimizi yazdık.


Alan adı ve SSL
Alan adınızın A kaydını sunucu IP’sine yöneltirsiniz; IP, cPanel ana sayfasındaki General Information kutusunda yazar. Kayıt yayıldıktan sonra cPanel’in AutoSSL’i Let’s Encrypt sertifikasını kendisi kurar; denetim günde sekiz kez döner. Bu denemede alan adını DNS’e girmedik; sertifika adımını bu sefer görmedik.
Nerede sınır var
- Veritabanı ve kimlik doğrulama bu araçlarda genellikle Supabase, Lovable Cloud ya da Bolt’un kendi veritabanında durur. Siteyi bize taşımak onları taşımaz; bağlantı anahtarlarını Node.js ekranındaki ortam değişkenleri alanına girersiniz, veri olduğu yerde kalır. Bunu da denedik: alana yazdığımız değer uygulamadan aynen geri geldi.
- Pakette bir MariaDB veritabanı var. Uygulamanız Postgres istiyorsa sunucuda yok; dış servis kullanırsınız.
- İlk kurulum yaklaşık bir gigabayt yer tutar; Next.js ve TanStack Start bağımlılıkları ağırdır. 20 GB’lık pakette yer sorunu çıkmaz; yalnız hesaba katın.
- Sürekli yük, uzun süren arka plan işleri ya da yüksek bellek isteyen bir uygulama için paylaşımlı sunucu doğru yer değil. O ölçekte ayrı sunucu gerekir; bize yazın, birlikte bakalım. Bunu baştan söylemek sonradan taşınmaktan iyidir.
Takılırsanız
Derleme hatasını olduğu gibi yapıştırıp destek talebi açın; üç projeyi biz de aynı sunucuda, aynı Node ortamında kurduğumuz için hatanın hangi adımdan geldiğini çoğu zaman ilk bakışta görürüz. Paketin tam dökümü ve fiyatı hosting sayfasında; hangi aracın çıktısının nerede çalıştığını özetleyen tablo yapay zekâ ile yapılan siteler sayfasında.
İlgili yazılar
Mail Hosting Nedir? E-mail Hosting Rehberi
Mail hosting (e-mail hosting) nedir, paylaşımlı mailden farkı ne? Veri lokasyonu, güvenlik, depolama, destek ve SLA: seçim kriterleri + kurulum rehberi.
Kurumsal e-posta rehberi
Kurumsal e-posta sağlayıcısı nasıl seçilir? Veri konumu, güvenlik, uyum, destek ve yenileme fiyatı üzerinden kıyas; sağlayıcı değiştirme adımları.