Bir WordPress sitesinde kolayca otuz bin dosya bulunur. Bunları FTP ile tek tek yüklemeye kalkarsanız aktarım saatler sürer, üstelik bağlantı bir kez koparsa hangi dosyanın gittiğini hangisinin gitmediğini bilemezsiniz. Bu yüzden herkesin aradığı çözüm aynıdır: siteyi tek bir ZIP dosyası hâline getirip yüklemek ve sunucuda açmak. cPanel Dosya Yöneticisi bunun her iki yönünü de yapar; klasörleri arşive dönüştürür ve yüklediğiniz arşivi sunucuda çıkarır.
Bu yazıda cPanel'de ZIP açmayı ve dosya sıkıştırmayı adım adım anlatacağım; ama asıl değerli kısım sonrası. Sıkıştırma işleminin kaynak limitine takılıp yarıda kalması, "Extract" sonrası dosyaların bir klasör içeride kalması, arşivde .htaccess gibi gizli dosyaların atlanması ve dosya boyutunun yükleme sınırını aşması gibi gerçekten yaşadığınız sorunları da tek tek ele alacağım. Bu adımların hepsini yıllarca site taşıma taleplerinde uyguladım; aşağıdaki sıra, en az sürprizle sonuçlanan sıradır.
cPanel Dosya Yöneticisinde ZIP Nasıl Açılır#
Sunucudaki bir arşivi açmak için Dosya Yöneticisi'ndeki Extract komutu kullanılır. Adımlar şunlardır:
- cPanel ana ekranında Dosyalar → Dosya Yöneticisi'ni açın.
- Arşivin bulunduğu klasöre gidin. Site dosyaları için bu genellikle
public_htmldir. - Arşiv dosyasına tek tıklayarak seçin (çift tıklamak indirmeye çalışır).
- Üst menüden Extract düğmesine basın.
- Açılan pencerede hedef yolu kontrol edin. Buraya varsayılan olarak arşivin bulunduğu klasör gelir; farklı bir yere açacaksanız yolu elle yazın.
- Extract File(s) düğmesine basın ve işlemin bitmesini bekleyin.
İşlem bittiğinde bir özet penceresi çıkar. Bu pencereyi kapatmadan önce okumakta fayda var: atlanan dosya varsa burada listelenir. Ardından listeyi yenileyin, çünkü Dosya Yöneticisi çıkan dosyaları her zaman kendiliğinden göstermez.
cPanel Extract işlemi .zip, .tar, .tar.gz, .tgz ve .bz2 biçimlerini açar. .rar biçimini açmaz; bu, en sık karşılaşılan hayal kırıklıklarından biridir. Elinizdeki arşiv RAR ise bilgisayarınızda açıp ZIP olarak yeniden sıkıştırmanız gerekir. Arayüzün genel kullanımına hâkim değilseniz cPanel dosya yöneticisi yazısı üst menüdeki düğmeleri tek tek anlatıyor.
Klasör Sıkıştırma: cPanel'de Arşiv Oluşturma#
Ters yönde, yani sunucudaki dosyaları arşive dönüştürmek için Compress komutu kullanılır:
- Sıkıştırmak istediğiniz klasörü ya da dosyaları seçin. Birden fazla öğe için Ctrl tuşuyla çoklu seçim yapabilirsiniz.
- Üst menüden Compress düğmesine tıklayın.
- Arşiv biçimini seçin: Zip Archive, Tar Archive, Gziped Tar Archive ya da Bzip2ed Tar Archive.
- Arşiv adını ve oluşturulacağı yolu yazın. Adı tarihli vermek ileride işinizi kolaylaştırır:
site-yedek-2026-08-11.zipgibi. - Compress File(s) düğmesine basın.
Burada kritik bir ayrıntı var ve pek çok taşımanın kaynağında bu duruyor: klasörün kendisini mi yoksa içindekileri mi sıkıştırdığınız.
public_html klasörünü seçip sıkıştırırsanız arşivin içinde bir public_html kök klasörü oluşur. Bu arşivi hedef sunucuda public_html içinde açtığınızda public_html/public_html/index.php gibi bir yapı çıkar ve siteniz açılmaz. Doğru yöntem, public_html klasörünün içine girip oradaki tüm öğeleri seçmek ve öyle sıkıştırmaktır. O zaman arşiv doğrudan index.php, wp-content ve .htaccess ile başlar, hedefte nereye açarsanız açın yapı doğru oturur. Klasör yapısının mantığını tazelemek isterseniz public_html nedir yazısı web kökünün ne olduğunu ayrıntılandırıyor.
Hangi Arşiv Biçimini Seçmelisiniz#
Dört seçenek arasındaki fark yalnızca dosya uzantısı değildir; sıkıştırma oranı, işlemci yükü ve dosya izinlerinin korunup korunmadığı da değişir.
| Biçim | Sıkıştırma oranı | İşlemci yükü | Linux izinleri korunur mu | Ne zaman kullanılır |
|---|---|---|---|---|
| Zip | Orta | Düşük | Kısmen | Windows'a indirilecek arşivler, genel amaçlı |
| Tar | Yok | Çok düşük | Evet | Yalnızca paketleme, yer kazancı gerekmiyorsa |
| Tar.gz | İyi | Orta | Evet | Sunucudan sunucuya taşıma, yedekleme |
| Tar.bz2 | En iyi | Yüksek | Evet | Arşivlik saklama, süre önemli değilse |
Pratik kural şudur: arşivi bilgisayarınıza indirip Windows'ta açacaksanız Zip seçin, çünkü ek program gerektirmez. Sunucudan sunucuya taşıyacaksanız Tar.gz seçin; hem daha küçük dosya üretir hem de dosya izinlerini ve sembolik bağları eksiksiz korur. Tar.bz2 en küçük dosyayı verir ama paylaşımlı bir hesapta işlemci limitinizi zorlar ve çoğu zaman kazandığınız birkaç yüz megabayt, harcadığınız süreye değmez.
İzin korunması meselesi görünenden önemlidir. ZIP biçimi Unix izin bitlerini standart olarak taşımaz; arşivi açtığınızda klasörler ve dosyalar sunucunun varsayılan değerleriyle oluşur. Bu genellikle sorun çıkarmaz ama çıkarsa 403 hataları ya da yazma sorunları şeklinde görünür. Böyle bir durumda arşivi açtıktan sonra izinleri toplu düzeltmek en hızlı çözümdür:
cd ~/public_html
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Sıkıştırma Yarıda Kalıyorsa: Kaynak Limitleri#
Paylaşımlı hostingte büyük bir klasörü sıkıştırırken işlem sessizce durabilir, tarayıcı zaman aşımına uğrayabilir ya da eksik bir arşiv dosyası oluşabilir. Bunun sebebi neredeyse her zaman hesabınıza tanımlı kaynak limitleridir; arşivleme işlemcinin en yoğun kullanıldığı işlerden biridir.
Bir işlemin limite takıldığını anlamanın yolları:
- Oluşan arşiv dosyasının boyutu kaynağın boyutundan belirgin şekilde küçüktür ve indirdiğinizde "arşiv bozuk" uyarısı alırsınız.
- cPanel'de Ölçümler → Kaynak Kullanımı ekranında ilgili saat diliminde CPU ya da giriş/çıkış (I/O) sınırına ulaşıldığı görünür.
- Dosya Yöneticisi hiçbir hata vermeden pencereyi kapatır ve klasörde yarım bir dosya kalır.
Bu durumda uygulanacak sıra şudur:
- Yarım kalan arşivi silin. Üzerine yazmaya çalışmak daha karışık sonuçlar üretir.
- Parçalayın. Tüm siteyi tek arşiv yapmak yerine
wp-content/uploadsgibi büyük klasörleri ayrı arşivler hâlinde alın. Üç adet 500 MB'lık arşiv, tek 1,5 GB'lık arşivden çok daha güvenilir tamamlanır. - Gereksizleri dışarıda bırakın. Önbellek klasörleri, eski yedekler, günlük dosyaları ve
node_modulesgibi klasörler çoğu zaman arşivin yarısını kaplar ve taşınmasına hiç gerek yoktur. - Daha ucuz biçim seçin. Tar.bz2 yerine Tar.gz, hatta düz Tar kullanmak işlemci yükünü ciddi biçimde düşürür.
- SSH kullanın. Terminal üzerinden başlatılan bir işlem, tarayıcı zaman aşımından etkilenmez.
Hesabınızın limitlerine ne kadar yaklaştığınızı düzenli izlemek genel olarak iyi bir alışkanlıktır; paylaşımlı hosting kaynak limitleri yazısı hangi sayacın neyi ölçtüğünü açıklıyor. Sıkça 508 uyarısı alıyorsanız 508 resource limit is reached hatası yazısındaki teşhis adımları da işinize yarar.
Extract Sonrası Dosyalar Yanlış Klasöre Açıldıysa#
Bu, ZIP ile çalışan herkesin en az bir kez yaşadığı durumdur. İki farklı biçimde ortaya çıkar.
Birinci durum: fazladan bir kök klasör oluştu. Arşiv site/ diye bir klasörle başlıyordu ve şimdi elinizde public_html/site/index.php var. Site alanadiniz.com adresinde açılmıyor, ancak alanadiniz.com/site/ adresinde açılıyor. Çözüm:
public_html/siteklasörüne girin.- Üst menüden Tümünü Seç deyin; gizli dosyaların da seçildiğinden emin olmak için önce Ayarlar'dan gizli dosya gösterimini açın.
- Taşı (Move) düğmesine basın ve hedef yolu
/public_htmlolarak yazın. - Taşıma bittikten sonra boşalan
siteklasörünü silin.
İkinci durum: arşivi yanlış klasörde açtınız. Extract penceresindeki hedef yolu değiştirmeyi unuttuysanız dosyalar ev dizinine ya da başka bir klasöre çıkmış olabilir. Bu daha can sıkıcıdır çünkü onlarca öğe başka dosyalarla karışır. Böyle bir durumda en temiz yol, çıkan öğeleri tek tek silmeye çalışmak yerine arşivi doğru klasöre yeniden açmak ve yanlış yere çıkanları arşiv içeriğine bakarak temizlemektir. Arşivin içindekileri görmek için dosyayı bilgisayarınızda açmanız yeterlidir.
Her iki durumdan da kaçınmanın yolu tek bir alışkanlıktır: Extract penceresindeki hedef yolu her seferinde okuyun. İki saniyelik bu kontrol, yarım saatlik temizliği önler.
Arşivde .htaccess ve Gizli Dosyalar Neden Eksik Kalıyor#
Bu, taşımalarda en sinsi sorundur çünkü hiçbir hata vermez. Site taşınır, açılır, ana sayfa gelir; ama iç sayfalar 404 verir, HTTPS yönlendirmesi çalışmaz ya da SSL doğrulaması başarısız olur. Sebep, adı noktayla başlayan dosyaların arşive girmemiş olmasıdır.
Bunun iki ayrı kaynağı vardır. Birincisi, cPanel Dosya Yöneticisi'nde gizli dosya gösterimi kapalıysa "Tümünü Seç" dediğinizde .htaccess, .user.ini ve .well-known seçilmez, dolayısıyla arşive girmez. İkincisi, bilgisayarınızda bir klasörü sıkıştırırken işletim sisteminin gizli dosyaları listelememesidir.
Çözüm sırası:
- Dosya Yöneticisi'nde sağ üstteki Ayarlar penceresinden Gizli Dosyaları Göster kutusunu işaretleyin.
- Listeyi yenileyin ve
.htaccessdosyasının göründüğünü doğrulayın. - Ancak bundan sonra Tümünü Seç → Compress yapın.
- Arşiv oluştuktan sonra doğrulayın.
Doğrulamayı SSH ile yapmak en kesin yoldur:
unzip -l site-yedek-2026-08-11.zip | grep -c htaccess
Çıktı 0 ise arşiv eksiktir; yeniden oluşturmanız gerekir. Tar arşivi için aynı kontrol şöyledir:
tar -tzf site-yedek.tar.gz | grep htaccess
Neyin taşınması gerektiğine dair eksiksiz bir liste isterseniz site taşırken hangi dosyalar taşınır yazısı veritabanı, e-posta ve DNS tarafını da kapsıyor. .htaccess dosyasının kendisiyle uğraşacaksanız .htaccess dosyası oluşturma yazısında gizleme ve geri alma ayrıntıları var.
Yükleme Sınırını Aşan Büyük Arşivler#
cPanel Dosya Yöneticisi'nin yükleme ekranının bir boyut sınırı vardır ve bu sınır PHP'nin upload_max_filesize ile post_max_size değerlerinden gelir. Arşiviniz bu sınırın üzerindeyse yükleme yüzde doksanda durur ya da hiç başlamaz.
| Yöntem | Boyut sınırı | Kesinti sonrası devam | Ne zaman tercih edilir |
|---|---|---|---|
| Dosya Yöneticisi yükleme | PHP limitine bağlı | Hayır | Küçük ve orta arşivler |
| FTP / SFTP istemcisi | Pratik sınır yok | Evet | Birkaç yüz megabayt üzeri |
SSH ile wget | Pratik sınır yok | Kısmen | Arşiv başka bir sunucuda erişilebilirse |
SSH ile rsync | Pratik sınır yok | Evet | Sunucudan sunucuya doğrudan aktarım |
Büyük arşivler için en pratik yol FTP istemcisidir; bağlantı koparsa aynı dosyayı kaldığı yerden sürdürebilir. Arşiv başka bir sunucuda bir adresten indirilebiliyorsa wget çok daha hızlıdır, çünkü dosya sizin internet bağlantınızdan hiç geçmez:
cd ~/public_html
wget https://eski-sunucu.example/yedek/site-yedek.tar.gz
tar -xzf site-yedek.tar.gz
rm site-yedek.tar.gz
Son satırı unutmayın. Web kökünde unutulan bir yedek arşivi, adresini tahmin eden herkesin indirebileceği bir dosyadır ve içinde veritabanı parolanızı taşıyan wp-config.php bulunur. Taşıma biter bitmez arşivi silin ya da public_html dışına taşıyın.
Site Taşımada Doğru ZIP İş Akışı#
Aşağıdaki sıra, bir siteyi bir sunucudan diğerine taşırken en az hatayla sonuçlanan akıştır:
- Kaynak sunucuda gizli dosya gösterimini açın.
public_htmliçine girin, tüm öğeleri seçin ve Tar.gz olarak sıkıştırın.- Arşivi ev dizinine taşıyın; böylece web kökünde açıkta durmaz.
- Veritabanını ayrı olarak dışa aktarın; arşiv veritabanını içermez.
- Arşivi hedef sunucuya FTP ya da
wgetile aktarın. - Hedef sunucuda
public_htmliçinde açın ve kök klasör oluşup oluşmadığını kontrol edin. .htaccessdosyasının geldiğini doğrulayın.- Veritabanını içe aktarın ve yapılandırma dosyasındaki bağlantı bilgilerini güncelleyin.
- DNS'i çevirmeden önce hosts dosyasıyla siteyi test edin.
- Her şey doğruysa arşivleri silin ve izinleri 755/644'e sabitleyin.
Dördüncü adım özellikle önemlidir: ZIP arşivi veritabanını içermez. Dosyaları eksiksiz taşıyıp veritabanını unutan kullanıcı sayısı hiç az değildir ve sonuç, kurulum ekranıyla karşılaşan boş bir sitedir. Yedekleme mantığının tamamı için site yedeği nasıl alınır yazısına bakın; taşıma sırasında kesinti olup olmayacağını merak ediyorsanız site taşırken kesinti olur mu yazısı bu soruyu ayrıntılandırıyor.
Arşiv Bozuk Uyarısı Alıyorsanız#
Arşivi indirdiniz, açmaya çalıştınız ve "arşiv bozuk" ya da "beklenmeyen dosya sonu" uyarısı aldınız. Bu neredeyse her zaman iki şeyden birinin işaretidir: arşiv sunucuda eksik oluşmuştur ya da aktarım sırasında yarım inmiştir.
İkisini ayırt etmenin en kesin yolu boyut ve özet karşılaştırmasıdır. Sunucudayken arşivin boyutunu ve MD5 özetini alın:
cd ~
ls -lh site-yedek.tar.gz
md5sum site-yedek.tar.gz
İndirdikten sonra kendi bilgisayarınızda aynı özeti hesaplayın. Windows'ta bunun için ayrı bir program gerekmez:
Get-FileHash -Algorithm MD5 .\site-yedek.tar.gz
İki değer aynıysa dosya eksiksiz inmiştir ve sorun arşivin kendisindedir; farklıysa aktarım yarıda kalmıştır ve dosyayı yeniden indirmeniz gerekir. Tarayıcıdan indirilen büyük dosyalarda bu ikinci durum hiç de nadir değildir, özellikle bağlantı dalgalanıyorsa.
Arşivin kendisi bozuksa sunucuda test etmek de mümkündür. Tar arşivini açmadan içeriğini listeleyebiliyorsanız arşiv sağlamdır:
tar -tzf site-yedek.tar.gz > /dev/null && echo "arsiv saglam"
ZIP için karşılığı unzip -t komutudur. Bu komut çıktının sonunda "No errors detected" derse dosya güvenilirdir. Hata veriyorsa arşivi yeniden oluşturmak, kurtarmaya çalışmaktan çok daha hızlı sonuç verir; kurtarma araçları çoğu zaman kısmi ve sessizce eksik bir sonuç üretir ki bu bir yedekte istenebilecek en kötü durumdur.
Buradan çıkan pratik kural şudur: bir yedek, geri yüklenebilirliği doğrulanana kadar yedek sayılmaz. Aldığınız her arşivi en azından listeleyerek test etmek otuz saniye sürer ve gerçek bir felaket anında elinizde bozuk bir dosya olup olmadığını önceden öğrenmenizi sağlar.
Sıkça Sorulan Sorular#
cPanel'de ZIP dosyası nasıl açılır#
Dosya Yöneticisi'nde arşiv dosyasına tek tıklayarak seçin ve üst menüdeki Extract düğmesine basın; açılan pencerede hedef klasörü doğrulayıp Extract File(s) deyin. İşlem bittiğinde çıkan özet penceresinde atlanan dosya olup olmadığını kontrol edin ve listeyi yenileyin. Site dosyalarını açıyorsanız hedef yolun /public_html olduğundan emin olun, aksi hâlde dosyalar yanlış klasöre çıkar.
cPanel RAR dosyası açar mı#
Hayır, cPanel Dosya Yöneticisi RAR biçimini desteklemez; yalnızca zip, tar, tar.gz, tgz ve bz2 arşivlerini açabilir. Elinizdeki dosya RAR ise bilgisayarınızda açıp içeriğini ZIP olarak yeniden sıkıştırmanız ve öyle yüklemeniz gerekir. Yeniden sıkıştırırken klasörün kendisini değil içindeki öğeleri seçmeye dikkat edin, aksi hâlde fazladan bir kök klasör oluşur.
Sıkıştırma işlemi yarıda kalıyor ne yapmalıyım#
Büyük olasılıkla hesabınızın işlemci ya da giriş/çıkış limitine takılıyorsunuz. Yarım kalan arşivi silin ve siteyi tek parça yerine birkaç ayrı arşive bölerek sıkıştırın; özellikle yükleme klasörünü ayrı almak işi belirgin biçimde hafifletir. Önbellek, günlük ve eski yedek klasörlerini arşive hiç dahil etmeyin. SSH erişiminiz varsa işlemi terminalden başlatmak tarayıcı zaman aşımı sorununu tamamen ortadan kaldırır.
ZIP arşivinde htaccess dosyası neden yok#
Adı noktayla başlayan dosyalar gizli sayıldığı için, gizli dosya gösterimi kapalıyken yaptığınız "Tümünü Seç" işlemi onları seçmez ve arşive girmezler. Sıkıştırmadan önce Dosya Yöneticisi ayarlarından gizli dosyaları görünür yapın, .htaccess dosyasının listede olduğunu doğrulayın ve ancak ondan sonra Compress deyin. Arşivin doğru oluştuğunu unzip -l çıktısında dosya adını arayarak kesinleştirebilirsiniz.
ZIP yedeği veritabanını da içerir mi#
Hayır, dosya arşivi yalnızca diskteki dosyaları içerir; veritabanı MySQL sunucusunda ayrı olarak durur. Tam bir yedek için dosya arşivinin yanında veritabanını phpMyAdmin ya da mysqldump ile ayrıca dışa aktarmanız gerekir. Yalnızca dosyaları taşıyıp veritabanını unutursanız site açılmaz ve karşınıza kurulum ekranı çıkar.
Büyük arşivi Dosya Yöneticisi ile yükleyemiyorum#
Yükleme ekranının sınırı PHP'nin dosya boyutu ayarlarından gelir ve arşiviniz bu sınırın üzerindeyse aktarım tamamlanmaz. Bu durumda FTP veya SFTP istemcisi kullanın; bu istemciler kesinti sonrası aktarımı kaldığı yerden sürdürebilir. Arşiv başka bir sunucuda bir adresten indirilebiliyorsa SSH üzerinden wget ile doğrudan sunucuya indirmek en hızlı yoldur.
Arşivi açtıktan sonra dosyayı silmeli miyim#
Evet, mutlaka silin ya da web kökünün dışına taşıyın. Arşiv public_html içinde kaldığı sürece adresini bilen ya da tahmin eden herkes onu indirebilir; içinde veritabanı parolanızı taşıyan yapılandırma dosyaları bulunur. Uzun süreli saklamak istiyorsanız arşivi ev dizinine alın, ideal olarak da sunucu dışında ayrı bir yerde bir kopyasını tutun.
Kapanış#
cPanel'de ZIP açmak ve sıkıştırmak iki düğmelik bir iştir; asıl beceri, işin kenarındaki ayrıntılarda saklıdır. Arşivi klasörün kendisiyle değil içeriğiyle oluşturmak fazladan kök klasör sorununu baştan bitirir. Gizli dosya gösterimini sıkıştırmadan önce açmak, taşıma sonrası ortaya çıkan "iç sayfalar 404 veriyor" vakalarının büyük bölümünü engeller. Büyük siteleri parçalayarak arşivlemek kaynak limitine takılmadan sonuç almanızı sağlar. Ve arşivi işiniz biter bitmez web kökünden kaldırmak, kimsenin yedeğinizi indiremeyeceği anlamına gelir.
Bu adımları kendiniz yapmak yerine devretmek isterseniz site taşıma hizmeti dosyaları, veritabanını, e-posta hesaplarını ve gizli dosyaları bir arada aktarır. Sitenizin düzenli yedeklerinin sizden bağımsız olarak alınmasını istiyorsanız yedekleme çözümleri bu işi zamanlanmış olarak üstlenir. Arşivlerle boğuşmaktan yorulduysanız ve daha ferah bir alan arıyorsanız cPanel'li web hosting paketleri disk ve kaynak tarafında rahat çalışma alanı sunar; birden çok siteyi tek panelden yönetiyorsanız reseller hosting tarafına bakmak mantıklı olur.