Web Sitesi Taşıma Rehberi (Kesintisiz, Adım Adım)
Son güncelleme: 23 Eylül 2026
Web sitesini başka bir sunucuya veya hosting firmasına taşımak, doğru sırayla yapıldığında ziyaretçi hiçbir kesinti görmeden tamamlanır. Sırrı basit: yeni sunucuyu tamamen hazırlayıp test etmeden DNS'i değiştirmemek. Bu rehber adım adım süreci ve TTL stratejisini anlatır.
Genel mantık
Taşıma sırasında iki sunucu da bir süre aynı siteyi barındırır. Ziyaretçiler DNS önbelleklerine göre kademeli olarak eski sunucudan yeniye geçer. Kesinti riski üç yerdedir: eksik dosya/veri, yeni sunucuda çalışmayan yapılandırma, ve DNS geçişi sırasında yazılan verinin iki yere bölünmesi. Hepsi planlamayla çözülür.
1. Hazırlık ve envanter
- Site tipi ve yığın: PHP sürümü, veritabanı (MySQL/MariaDB/PostgreSQL), gerekli eklentiler.
- Alan adları ve alt alan adları listesi.
- Mevcut DNS kayıtlarının tam dökümü — özellikle MX (e-posta!), TXT (SPF/DKIM/doğrulama), CNAME'ler.
- SSL: yeni sunucuda Let's Encrypt ile yeniden alınacak.
- Cron işleri, arka plan işçileri, ortam değişkenleri (
.env). - E-posta nerede? Alan adının e-postası da bu sunucudaysa taşıma planına dahil edin.
2. TTL'i düşürün (taşımadan 24–48 saat önce)
DNS kayıtlarının TTL değeri, önbelleklerin kaydı ne kadar tuttuğunu belirler. Geçişten önce düşürün ki değişiklik hızlı yayılsın:
siteniz.com. A 300 203.0.113.10 ; TTL 3600 → 300 (5 dk)
Bu değişikliğin kendisi eski TTL kadar sürede yayılır — bu yüzden bir–iki gün önceden yapılır.
3. Yeni sunucuyu kurun
- Web sunucusu + PHP + veritabanını kurun (LEMP kurulumu).
- Aynı PHP sürümü ve eklentileri sağlayın — sürüm farkı en sık taşıma hatasıdır.
- Server block / vhost'u alan adı için tanımlayın.
4. Dosyaları aktarın
# Eski sunucuda arşivle
tar czf site.tar.gz -C /var/www/siteniz.com .
# Yeni sunucuya kopyala (yeni sunucudan)
rsync -avz eski-sunucu:/tmp/site.tar.gz /tmp/
# veya doğrudan:
rsync -avz --progress eski-sunucu:/var/www/siteniz.com/ /var/www/siteniz.com/
Dosya sahipliğini düzeltin: sudo chown -R www-data:www-data /var/www/siteniz.com
5. Veritabanını aktarın
# Eski sunucuda
mysqldump -u root -p --single-transaction --routines app_db > app_db.sql
# Yeni sunucuda
mysql -u root -p -e "CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -u root -p app_db < app_db.sql
Uygulama ayar dosyasında (.env, wp-config.php vb.) yeni veritabanı kullanıcısı/parolasını girin.
6. DNS DEĞİŞTİRMEDEN test edin
Bu adım kesintisiz taşımanın kalbidir. Bilgisayarınızın hosts dosyasına geçici bir kayıt ekleyip yalnızca sizin için siteyi yeni sunucuya yönlendirin:
# Linux/Mac: /etc/hosts — Windows: C:\Windows\System32\drivers\etc\hosts
203.0.113.10 siteniz.com www.siteniz.com
Şimdi tarayıcıda siteniz.com yeni sunucuya gider. Kontrol listesi:
- Ana sayfa, iç sayfalar, görseller yükleniyor mu?
- Giriş, form gönderimi, ödeme akışı çalışıyor mu?
- Admin paneli açılıyor mu?
- Loglar temiz mi? (
tail -fNginx + uygulama logu)
Test bitince hosts satırını silin.
7. SSL'i yeni sunucuda alın
DNS hâlâ eski sunucuyu gösterdiği için HTTP-01 doğrulaması çalışmayabilir. Seçenekler:
- DNS-01 doğrulaması ile şimdiden alın (TXT kaydı ekleyerek).
- Ya da DNS geçişinden hemen sonra
certbot --nginxçalıştırın (birkaç dakikalık HTTP penceresi kabul edilebilirse).
8. Yazmayı dondurun ve son senkron
Sitede kullanıcı içeriği üretiliyorsa (yorum, sipariş, üyelik):
- Kısa bir bakım penceresi ilan edin veya siteyi "salt okunur" moda alın.
- Veritabanı ve
uploadsdizininin son bir farksal senkronunu yapın. - DNS'i değiştirin.
Yüksek trafikli/işlemli siteler dışında çoğu site için gece yarısı 10 dakikalık bir pencere yeterlidir.
9. DNS'i değiştirin
siteniz.com. A 300 203.0.113.20 ; yeni IP
www.siteniz.com. A 300 203.0.113.20
TTL 300 olduğu için çoğu ziyaretçi 5–15 dakikada yeni sunucuya geçer; tam yayılma birkaç saat sürebilir.
10. Geçiş sonrası
- İki sunucuyu da en az 48–72 saat açık tutun (geç yayılan ziyaretçiler için).
- Eski sunucu loglarını izleyin — trafik sıfıra inince kapatabilirsiniz.
- TTL'i normale çıkarın (3600 veya daha yüksek).
- Analytics, Search Console, uptime monitörü kontrol.
- Eski sunucudaki veriyi silmeden önce yeni sunucunun bir tam yedeğini alın.
WordPress'e özel notlar
- Alan adı aynı kalıyorsa URL değişikliği gerekmez; sadece
wp-config.phpveritabanı bilgisi güncellenir. - Alan adı değişiyorsa:
wp search-replace 'eski.com' 'yeni.com' --all-tables(WP-CLI) — serileştirilmiş veriyi doğru işler, elle SQLUPDATEyapmayın. - "Duplicator", "All-in-One WP Migration" gibi eklentiler küçük sitelerde bu adımların çoğunu otomatikleştirir.
Sık sorulan sorular
Web sitesini kesintisiz nasıl taşırım?
Taşımadan önce TTL'i neden düşürmeliyim?
Taşıma sırasında e-postam etkilenir mi?
DNS'i değiştirdikten sonra eski sunucuyu ne zaman kapatabilirim?
Bu makale yardımcı oldu mu?
Teşekkürler, geri bildirimin kaydedildi.
Hâlâ takıldıysan destek talebi aç.