Site taşıma işi teknik olarak zor değildir; zor olan, taşıma sırasında hizmetin kesilmemesini sağlamaktır. Yaşanan kesintilerin neredeyse tamamı adımların yanlış sırada yapılmasından kaynaklanır.
Aşağıdaki sıra, ziyaretçi tarafında kesinti oluşturmadan taşıma yapmanızı sağlar.
1. Envanter çıkarın
Taşımaya başlamadan önce neyin taşınacağını yazılı hâle getirin. Atlanan bir bileşen, geçişten günler sonra ortaya çıkar:
- Web dosyaları ve yükleme klasörleri
- Veritabanları ve veritabanı kullanıcıları
- E-posta hesapları ve mevcut posta kutuları
- Cron görevleri (zamanlanmış işler)
- SSL sertifikaları
- DNS kayıtlarının tamamı — yalnızca A kaydı değil; MX, TXT (SPF, DKIM, DMARC), CNAME kayıtları da
- PHP sürümü ve etkin eklentiler
2. DNS TTL değerini düşürün
Bu adım taşımadan en az 24 saat önce yapılmalıdır ve en çok atlanan adımdır.
TTL (Time To Live), DNS kayıtlarının ne kadar süre önbellekte tutulacağını belirler. Varsayılan değer çoğu zaman 14400 saniyedir (4 saat). Geçiş anında ziyaretçilerin bir kısmı 4 saat boyunca eski sunucuya gitmeye devam eder.
Taşımadan bir gün önce TTL'i 300 saniyeye düşürün. Geçiş tamamlandıktan sonra eski değerine geri alabilirsiniz.
3. Yeni sunucuyu hazırlayın
Yeni sunucuda web sunucusunu, PHP sürümünü ve veritabanı sunucusunu eski sunucudakiyle aynı ana sürümlerde kurun. Sürüm atlamayı taşımayla aynı anda yapmayın; bir sorun çıktığında sebebinin taşıma mı sürüm farkı mı olduğunu ayırt edemezsiniz.
Önce taşıyın, çalıştığını doğrulayın, sürüm yükseltmesini sonraki iş olarak planlayın.
4. Dosyaları aktarın
Sunucudan sunucuya aktarımda rsync en güvenilir araçtır; yarıda kalan aktarımı kaldığı yerden sürdürür:
bashrsync -avz --progress -e ssh /var/www/siteniz/ root@YENI-SUNUCU-IP:/var/www/siteniz/Parametrelerin anlamı: -a izinleri ve zaman damgalarını korur, -v ayrıntılı çıktı verir, -z aktarım sırasında sıkıştırır.
Aktarım bittikten sonra dosya sahipliğini yeni sunucudaki web kullanıcısına verin:
bashchown -R www-data:www-data /var/www/siteniz # Ubuntu / Debian
# chown -R apache:apache /var/www/siteniz # AlmaLinux / Rocky5. Veritabanını aktarın
Eski sunucuda dökümü alın:
bashmysqldump -u KULLANICI -p --single-transaction --routines --triggers VERITABANI > veritabani.sql
gzip veritabani.sql--single-transaction parametresi, döküm alınırken tabloları kilitlemez; site çalışmaya devam eder.
Dosyayı yeni sunucuya taşıyıp içe aktarın:
bashscp veritabani.sql.gz root@YENI-SUNUCU-IP:/root/
gunzip veritabani.sql.gz
mysql -u KULLANICI -p VERITABANI < veritabani.sqlUygulamanızın yapılandırma dosyasındaki veritabanı sunucusu, kullanıcı adı ve parola bilgilerini yeni sunucuya göre güncellemeyi unutmayın.
6. DNS'i değiştirmeden test edin
Bu adım taşımanın en kritik parçasıdır. Siteyi yeni sunucuda, DNS'e dokunmadan test edebilirsiniz: kendi bilgisayarınızın hosts dosyasına yeni sunucunun IP adresini yazın.
Windows'ta C:\Windows\System32\drivers\etc\hosts, macOS ve Linux'ta /etc/hosts dosyasına şu satırı ekleyin:
textYENI-SUNUCU-IP alanadiniz.com www.alanadiniz.comArtık yalnızca sizin bilgisayarınız yeni sunucuya gider. Şunları tek tek kontrol edin:
- Ana sayfa ve iç sayfalar açılıyor mu?
- Formlar çalışıyor, e-posta gönderiyor mu?
- Yönetim paneline giriş yapılabiliyor mu?
- Görseller ve dosya yüklemeleri görünüyor mu?
- HTTPS sertifikası geçerli mi?
Test bitince hosts satırını silin.
7. DNS geçişini yapın
Her şey doğrulandıysa A kaydını yeni sunucunun IP adresine çevirin. TTL'i düşürdüğünüz için geçiş dakikalar içinde yayılır.
E-postalarınız aynı sunucuda barınıyorsa MX kaydını da güncelleyin. Farklı bir sağlayıcıdaysa MX kaydına dokunmayın — bu, taşımalarda e-posta kesintisinin bir numaralı sebebidir.
8. Eski sunucuyu hemen kapatmayın
Eski sunucuyu en az bir hafta çalışır durumda bırakın. Gerekçesi:
- DNS önbelleği geç güncellenen ziyaretçiler bir süre daha eski sunucuya gider.
- Atladığınız bir dosya ya da ayar ortaya çıkabilir.
- Beklenmedik bir sorunda geri dönebileceğiniz çalışır bir kopya elinizde kalır.
Bu süre boyunca eski sunucuya gelen trafiği izleyin. Trafik sıfıra indiğinde geçiş tamamlanmış demektir.
Geçiş sonrası kontrol listesi
- Google Search Console'da tarama hatalarını izleyin
- SSL sertifikasının yenilendiğini doğrulayın
- Cron görevlerinin yeni sunucuda çalıştığını kontrol edin
- Yedekleme yapılandırmasını yeni sunucuda yeniden kurun — eski sunucudaki yedek görevleri taşınmaz
- Site hızını ölçüp taşıma öncesiyle karşılaştırın
Taşıma işini kendiniz yürütmek istemiyorsanız, kurulum ve taşıma süreçlerini uzaktan yürütüyoruz; ekibimize yazabilirsiniz.
