Siteyi Hostinga Yükleme; Hatasız Pratik Rehber

Linux hostinge site yükleme adım adım: doğru klasör, dosya izinleri, index dosyası ve alan adını bağlamadan önce test. Gerçek komutlar ve yaygın hatalarla.

7 dk Güncellendi 13 Sep 2026

Dosyaları yüklediniz ama site açılmıyor

Şu anda hosting kontrol panelinin başında oturuyorsunuz, dosyaları File Manager veya FTP ile yüklediniz, alan adresini girdiniz ve ya beyaz bir sayfa görüyorsunuz ya da 404 hatası veya klasör listesi. Bu makale tam da o an için; yarın öğreneceğiniz şeyler için değil. Üç şeyi tam olarak anlamalısınız: dosyalar nereye gitmeli, hangi izinlerle ve hangi dosya önce çalıştırılacak.

Doğru klasör: public_html veya htdocs

Servernet Linux hostingde ve neredeyse tüm cPanel paylaşımlı hostinglerde, web kökünüz public_html adlı bir klasördür. Buraya koyduğunuz dosyalar ana alan adresiyle erişilebilir olur. Alan adını hostinge bağlamadıysanız, site alan adı değiştirme rehberinde açıklandığı gibi, önce DNS kayıtlarını ayarlamanız gerekir.

Yaygın hata: Dosyaları hesabın ana klasörüne (public_html ile aynı seviyeye) yüklüyorsunuz. Sonuç? example.com açılmıyor ancak example.com/public_html çalışıyor. Bu tam olarak dosyaların yanlış yerde olduğunun işaretidir.

Sitenizin alt klasörü varsa (örneğin public_html/blog) ve ana alan adının o alt klasörü göstermesini istiyorsanız, iki yolunuz var: kökte bir .htaccess dosyası ile yeniden yazma kuralı veya panelde DocumentRoot'u değiştirmek. İkinci yolu öneriyorum; daha basittir ve sonraki güncellemelerde bozulmaz.

Klasör yapısını önceden oluşturun

Siteniz WordPress ise, klasör yapısını önceden yerel sistemde oluşturun ve sonra tüm klasörü yükleyin. Dosyaları iç içe klasörlere tek tek yüklemek zaman kaybettirir ve dosya atlama olasılığını artırır. FTP ile tüm klasörü tek seferde gönderebilirsiniz:

ftp> put -r wordpress-site

Bu komut standart FTP'de klasörü ve tüm alt klasörleri özyinelemeli olarak yükler. Hosting File Manager'da da tam klasör seçimiyle Upload seçeneği aynı işi yapar.

Dosya izinleri: Neden 777 koymuyoruz

Dosya izinleri (Permission), kimin okuyabileceğini, yazabileceğini veya çalıştırabileceğini belirler. Dosyalar için standart değer 644 ve klasörler için 755'tir. Bu, sahibin yazabildiği, diğerlerinin sadece okuyabildiği anlamına gelir.

İşte burada hata yapıyorlar: WordPress "yazma izni gerekli" hatası verdiğinde, ilk tepki tüm dosyaları 777 yapmak oluyor. Bu, sorunu geçici olarak çözer ancak klasörünüzü aynı sunucudaki her script için açar. Paylaşımlı hostingde siteniz onlarca başka siteyle aynı sunucudadır. 777 izinli bir dosya, o sunucudaki her kullanıcının onu değiştirebileceği anlamına gelir. İşaretini görmüşsünüzdür: site bir gün çalışır ve ertesi gün klasörde bilinmeyen bir PHP dosyası belirmiştir.

Doğru yol: Dosyaların sahipliğini kontrol edin. cPanel'de Change Permissions seçeneğine tıklayın ve sahibin kim olduğunu görün. Dosyalar FTP kullanıcınızla yüklendiyse, sahip o kullanıcıdır ve 644/755 yeterlidir. Yazma hatası PHP tarafından geliyorsa (örneğin WordPress eklenti kurmak istiyor), sadece wp-content klasörlerini geçici olarak 775 yapın, her şeyi değil.

Index dosyası: Hangi dosya önce çalışır

Web sunucusu, alan adresini dosya adı olmadan gördüğünde, belirli bir sırayla index dosyasını arar. Linux hostingde bu sıra genellikle şöyledir:

index.php → index.html → index.htm → default.php

Yani klasörde hem index.html hem de index.php varsa, index.html çalışır. İşte birçok kişinin takıldığı yer burasıdır: geçici bir HTML sayfası oluşturmuşlar, sonra WordPress'i yüklemişler ancak tarayıcı hâlâ eski sayfayı gösteriyor. Hayır, önbellek değil. index.html dosyası hâlâ orada ve önce çalışıyor.

Çözüm: Gereksiz index.html dosyasını silin veya adını değiştirin. Sırayı değiştirmek istiyorsanız, .htaccess dosyasına şunu yazın:

DirectoryIndex index.php index.html

Bu satır web sunucusuna önce index.php'ye bakmasını söyler. Çoğu dinamik site için bu tek satır yeterlidir.

Alan adını bağlamadan önce test

Alan adını hostinge bağlamadınız ve sitenin çalıştığından emin olmak mı istiyorsunuz? Hiçbiri DNS değişikliği gerektirmeyen birkaç yolunuz var.

Yerel hosts dosyası

Kendi sisteminizde, alan adının sunucu IP'nizi göstermesi için hosts dosyasını düzenleyin. Linux ve Mac'te:

sudo nano /etc/hosts

Windows'ta ise C:\Windows\System32\drivers\etc\hosts dosyasını Notepad ile Yönetici olarak açın. Bir satır ekleyin:

185.10.10.10 example.com

Gerçek sunucu IP'nizi hosting kontrol panelinden alın. Artık tarayıcınız example.com'u yeni sunucuda görür, ancak dünyanın geri kalanı hâlâ eski DNS'i görür. Bu yöntem, DNS değişikliğinden önce siteyi tamamen test etmek için kusursuzdur. Test bitince satırı silin.

Geçici sunucu adresi

Çoğu hosting, server.servernet.cloud/~username gibi bir geçici adres verir. Bu adres ilk test için iyidir ancak iki sınırlaması vardır: Siteniz mutlak yollar kullanıyorsa (örneğin /wp-content/...), bağlantılar kırılır ve WordPress ise Site URL seçeneğini geçici olarak değiştirmeniz gerekir. "Dosyalar doğru yüklendi mi" hızlı testi için yeterlidir; tam test için hosts dosyası yöntemini tercih edin.

Yükleme sonrası yaygın hatalar

Dosyalar yüklendi, index doğru ama hâlâ sorun var. En çok şu üç hatayı görüyorum:

  • Beyaz sayfa (HTTP 500): Genellikle .htaccess dosyasının izinleri veya dosyanın kendisi bozuktur. Önce .htaccess dosyasını geçici olarak yeniden adlandırın (örneğin .htaccess.bak) ve tekrar test edin. Site açılırsa sorun içindeki kurallardandır. Tam rehber WordPress beyaz sayfa çözümünde mevcuttur.
  • 403 Forbidden hatası: Web sunucusunun erişim izni olmadığı anlamına gelir. Ana klasörün izinlerini kontrol edin; 755 olmalı, 750 veya daha düşük değil.
  • Veritabanı bağlantı hatası: Yapılandırma dosyası (WordPress'te wp-config.php gibi) henüz yeni veritabanı bilgilerini içermiyor. Veritabanı adını, kullanıcıyı ve şifreyi kontrol panelinden alın ve yapılandırma dosyasına girin.

Site yüklemeden sonra düzgün çalışıyor ancak yavaşsa, herhangi bir işlemden önce TTFB'yi ölçün. TTFB yüksekse sorun hosting veya kodunuzdadır, kullanıcının internetinde değil. Sonraki adımlar için paylaşımlı hostingde WordPress optimizasyonu rehberine bakın.

Yükleme aracı seçimi: FTP veya File Manager

KriterFile ManagerFTP (FileZilla gibi)
Çok sayıda dosya için hızYavaş; her dosya ayrı yüklenirHızlı; birden çok eşzamanlı bağlantı
Tam klasör yüklemeTarayıcıyla sınırlıTek komutla tüm yapı
Dosya düzenlemeDahili düzenleyici varİndirip yüklemeniz gerekir
Yaygın hataYanlış klasöre yüklemeBüyük dosyalarda bağlantı kopması

50 dosyadan az bir site için File Manager yeterlidir. Onlarca eklenti ve binlerce dosyaya sahip tam bir WordPress için FTP'yi seçin. Siteniz gerçekten büyükse ve zaman sizin için önemliyse, SSH erişimli özel sunucu daha iyi bir seçenektir; orada rsync ile tüm siteyi birkaç dakikada taşıyabilirsiniz, FTP ile saatler sürecek bir işi.

Son test: Ana alan adını bağlamadan önce

DNS'i değiştirmeden önce bu kontrol listesini tamamlayın:

  1. Ana sayfa geçici adres veya hosts ile açılıyor ve hata vermiyor.
  2. Tüm dahili bağlantılar çalışıyor (sadece ana sayfa değil).
  3. Formlar ve kullanıcı girişleri test edildi.
  4. Görseller ve CSS/JS dosyaları yükleniyor (yüklenmiyorsa mutlak yollarda sorun var).
  5. SSL sertifikasını etkinleştirdiniz ki DNS değişikliğinden sonra HTTPS sürümü çalışsın.

DNS değişikliğinden sonra Propagation bekleme. DNS kontrol aracıyla kayıtların dünyanın farklı sunucularında güncellendiğini kontrol edin. Siteniz WordPress ise ve daha önce başka bir alan adındaysa, mutlaka SEO kaybı olmadan alan adı taşıma rehberini okuyun; veritabanında çalıştırılmazsa dahili bağlantıların eski alan adını göstermesine neden olacak birkaç sorgu var.

Sık sorulan sorular

Siteyi yükledikten sonra neden beyaz sayfa görüyorum?

Beyaz sayfa genellikle görüntülenmeyen bir PHP hatasıdır. Önce .htaccess dosyasını geçici olarak silin. Sorun çözülmezse dosya izinlerini kontrol edin ve hosting hata günlüğüne bakın. cPanel'de günlük yolu genellikle logs/error.log'dur.

Site dosyalarını nereye yüklemeliyim?

Linux hostingde public_html klasörü web köküdür. Buraya koyduğunuz her dosya ana alan adresiyle erişilebilir. Alan adı hostinge bağlı değilse önce DNS'i ayarlayın.

index.html ve index.php arasındaki fark nedir?

Web sunucusu bu ikisi arasında belirli bir sırayla seçim yapar ve genellikle index.html önce çalışır. Dinamik bir siteniz varsa ve eski HTML sayfası hâlâ görüntüleniyorsa, gereksiz HTML dosyasını silin veya Linux hostingde DirectoryIndex satırıyla sırayı değiştirin.

FTP bağlanıyor ancak yükleme yarıda kesiliyor, neden?

Çoğu hostingin her dosya için boyut veya bağlantı süresi sınırı vardır. Büyük dosyaları File Manager ile yükleyin veya SSH erişiminiz varsa, kesilen bağlantıyı kaldığı yerden devam ettiren rsync kullanın.

Bu sayfa yardımcı oldu mu?