Yeni bir hosting firmasına geçmek, paylaşımlı hostingden yüksek performanslı bir VDS/VPS sunucuya terfi etmek veya maliyet avantajı sağlayan bir veri merkezine taşınmak web yöneticilerinin en sık karşılaştığı süreçlerden biridir.
Ancak sunucu taşıma sürecinde yapılan dikkatsiz adımlar; saatlerce süren site kesintilerine (downtime), e-ticaret sitelerinde sepet ve sipariş kayıplarına, kurumsal e-posta iletilerinin kaybolmasına ve Google arama sonuçlarında sıralama düşüşlerine yol açabilir.
Oysa disiplinli ve aşamalı bir taşıma protokolü uygulayarak, ziyaretçileriniz ve arama motoru botları hiçbir kesinti fark etmeden sıfır kesintiyle (zero downtime migration) tüm sitenizi yeni sunucuya aktarabilirsiniz.
1. Sıfır Kesintili Taşıma Kontrol Listesi
| Aşama | Görev | Neden Önemli? |
|---|---|---|
| Taşıma Öncesi (-48 Saat) | DNS TTL (Time-To-Live) süresini 300 saniyeye (5 dk) düşürün | DNS yönlendirmesi yapıldığında tüm dünyada anında aktif olmasını sağlar. |
| Ön Senkronizasyon (-24 Saat) | Büyük medya ve dosya arşivini rsync ile arka planda kopyalayın | Son kesim anındaki veri aktarım süresini dakikalara indirir. |
| Hedef Ortam Hazırlığı | PHP sürümü, modüller, Nginx/Apache kuralları ve veritabanı kullanıcısını oluşturun | Kodun yeni ortamda 500 Internal Server Error vermesini önler. |
| Lokal Test (Hosts Dosyası) | Kendi bilgisayarınızın hosts dosyasını yeni sunucu IP'sine yönlendirip test edin | DNS değiştirmeden önce yeni sunucuda formları, sepeti ve oturumları doğrular. |
| Son Senkronizasyon (Geçiş Anı) | Eski sitede yazmayı durdurun (Bakım Modu), son DB yedeğini alıp yükleyin | Taşınma esnasında yeni sipariş veya yorum kaybını engeller. |
| DNS Güncelleme | Domain A / AAAA kayıtlarını yeni sunucu IP'sine çevirin | Ziyaretçilerin trafiğini yeni sunucuya yönlendirir. |
| Geçiş Sonrası (+72 Saat) | Eski sunucuyu ve hosting hesabını en az 3 gün kapatmayın | Kalan DNS önbelleklerinden gelen gecikmeli istekleri karşılar. |
2. 1. Adım: DNS TTL Süresini Düşürme (Kritik İlk Adım)
DNS sunucuları alan adınızın IP adresini belirli bir süre önbelleğe alır. Bu süreye TTL (Time To Live) denir. Genellikle varsayılan TTL süresi 14400 (4 saat) veya 86400 (24 saat) saniyedir.
Eğer TTL süresini düşürmeden DNS IP adresinizi değiştirirseniz, dünyadaki ziyaretçilerin bir kısmı 24 saat boyunca eski sunucuya, bir kısmı yeni sunucuya gider. Bu durum veritabanında çift başlılığa ve veri kaybına yol açar.
Ne Yapmalısınız?
- Taşınma tarihinden en az 24–48 saat önce Cloudflare veya domain yönetim panelinize girin.
- Alan adınızın
AveAAAAkayıtlarının TTL süresini 300 saniye (5 dakika) veya 60 saniye (1 dakika) olarak güncelleyin. - Böylece asıl taşıma anında IP değiştirdiğinizde, yeni IP adresi maksimum 5 dakika içinde küresel ölçekte geçerli olacaktır.
3. 2. Adım: Dosyaları rsync ile Hızlı ve Güvenli Kopyalama
Eğer cPanel'den cPanel'e taşınıyorsanız yerleşik "Full Backup" veya "Transfer Tool" kullanabilirsiniz. Ancak paylaşımlı hostingden VDS'e, Plesk'e veya Docker altyapısına geçiyorsanız en hızlı ve sağlam yöntem SSH üzerinden rsync protokolüdür.
FTP ile dosya aktarmak on binlerce küçük WordPress dosyasında saatler sürer ve bağlantı kopmalarında yarım kalır. rsync ise sadece değişen baytları aktarır ve yarım kalırsa kaldığı yerden devam eder.
# Eski sunucudan yeni sunucuya dosyaları senkronize etme:
rsync -avzP --exclude 'wp-content/cache/*' --exclude 'storage/logs/*' \
-e 'ssh -p 22' /var/www/vhosts/site.com/httpdocs/ \
root@YENI_SUNUCU_IP:/var/www/site.com/public/
-a(archive): Dosya izinlerini, sahipliğini ve zaman damgalarını korur.-v(verbose): Hangi dosyaların aktarıldığını ekranda gösterir.-z(compress): Veriyi ağ üzerinden aktarırken sıkıştırarak bant genişliğinden tasarruf sağlar.-P(partial & progress): İlerleme çubuğunu gösterir ve kesilirse kaldığı yerden devam eder.
4. 3. Adım: Veritabanı Aktarımı (MySQL / PostgreSQL)
Veritabanı taşırken en büyük risk, taşıma işlemi sürerken veritabanına yeni bir veri (örneğin WooCommerce siparişi veya kullanıcı kaydı) yazılması ve bu verinin kaybolmasıdır.
1. Tutarlı MySQL Yedeği Alma (InnoDB Kilitsiz Yedek):
--single-transaction bayrağı, InnoDB tablolarını kilitlemeden (sitede okuma ve yazma devam ederken) tutarlı bir anlık görüntü (snapshot) alır:
# Eski sunucuda yedeği alma ve sıkıştırma:
mysqldump -u db_user -p --single-transaction --quick --routines --triggers \
veritabani_adi | gzip > /root/db_backup.sql.gz
# Yeni sunucuya aktarma:
scp -P 22 /root/db_backup.sql.gz root@YENI_SUNUCU_IP:/root/
# Yeni sunucuda içeri aktarma (import):
gunzip < /root/db_backup.sql.gz | mysql -u yeni_db_user -p yeni_veritabani_adi
5. 4. Adım: DNS Değiştirmeden Önce Yerel Test (Hosts Dosyası)
Taşımanın en kritik aşamasıdır: DNS kayıtlarını değiştirmeden önce sitenizin yeni sunucuda kusursuz çalıştığından %100 emin olmalısınız.
Bunun için bilgisayarınızın yerel işletim sistemindeki hosts dosyasını kullanarak alan adınızı geçici olarak yeni sunucunun IP adresine yönlendirebilirsiniz.
Hosts Dosyası Konumları:
- Windows:
C:\Windows\System32\drivers\etc\hosts(Notepad'i Yönetici Olarak Çalıştırarak açın) - macOS / Linux: Terminalden
sudo nano /etc/hosts
Dosyanın en altına şu satırı ekleyin ve kaydedin:
YENI_SUNUCU_IP_ADRESI yoursite.com www.yoursite.com
Artık Tarayıcınızı Açın:
- Tarayıcınızda
yoursite.comyazdığınızda sadece sizin bilgisayarınız yeni sunucuya bağlanacaktır. - Admin paneline giriş yapın.
- Sayfaların, resimlerin, veritabanı bağlantısının ve ödeme/iletişim formlarının hatasız çalıştığını test edin.
- Test tamamlandıktan sonra
hostsdosyasındaki eklediğiniz bu geçici satırı silmeyi unutmayın.
6. 5. Adım: Kesim Anı (Cutover) ve DNS Yönlendirmesi
Her şey test edildikten ve çalıştığından emin olunduktan sonra son aşamaya geçilir:
- Eski Sitede Kısa Süreli Bakım Modu: Eğer yoğun sipariş alan bir e-ticaret siteniz varsa, eski sitede bakım modunu açın (veya MySQL kullanıcısının şifresini geçici olarak değiştirin) ki yeni bir sipariş eski sunucuda kalmasın.
- Delta DB Yedeği: Son birkaç saatte oluşan verileri
mysqldumpile alıp yeni sunucuya yükleyin (birkaç saniye sürer). - DNS A Kaydını Değiştirin: Cloudflare veya DNS sağlayıcınızda alan adınızın
Akaydını eski IP'den yeni sunucunun IP adresine güncelleyin. - SSL Sertifikasını Doğrulayın: Let's Encrypt veya ticari SSL sertifikanızın yeni sunucuda aktif olduğunu teyit edin.
- Bakım Modunu Kapatın: Siteniz artık yeni sunucu üzerinden yayındadır!
7. 6. Adım: E-Posta Kayıplarını Önleme (MX ve SPF / DKIM)
Web siteleri taşınırken en çok unutulan konu şirket e-postalarıdır. Taşıma sırasında e-postaların kaybolmaması için:
- Eğer e-postalarınız Google Workspace, Microsoft 365 veya Yandex Kurumsal gibi harici bir bulut sağlayıcıdaysa, DNS'teki
MX,SPF(TXT) veDKIMkayıtlarını birebir yeni DNS alanına kopyalayın. E-postalarınız kesintisiz çalışmaya devam eder. - Eğer e-postalarınız eski cPanel sunucusunda barınıyorsa, yeni sunucuda aynı e-posta hesaplarını ve şifrelerini açın. Eski mailleri IMAPSync aracıyla yeni sunucuya aktarın.
8. Altın Kural: Eski Sunucuyu 72 Saat Kapatmayın!
DNS yönlendirmesi 5 dakikada yayılsa bile, dünyadaki bazı katı ISP'ler (İnternet Servis Sağlayıcıları) DNS önbelleğini zorla 24–48 saat boyunca tutabilir.
Bu nedenle:
- Eski hosting veya sunucu aboneliğinizi taşıma biter bitmez hemen iptal etmeyin.
- Eski sunucuyu en az 72 saat (3 gün) boyunca açık tutun.
- Böylece inatçı önbelleklerden eski sunucuya gelen son ziyaretçiler de 404 hatası veya kesintiyle karşılaşmaz.