İçindekiler
Bir WordPress sitesini taşımak aslında üç şeyi taşımaktır: dosyalar, veritabanı ve alan adının gösterdiği adres. Sorunların neredeyse hepsi bu üçünün sırası ya da birbirleriyle uyumu bozulduğunda çıkar.
Hazırlık: Bir gün önce
1. DNS TTL değerini düşürün. Alan adınızın A kaydının TTL değerini 300 saniyeye indirin. Böylece taşıma anında yaptığınız IP değişikliği en geç beş dakikada her yere ulaşır.
2. Yeni sunucuyu hazırlayın. PHP sürümünü ve eklentilerin ihtiyaç duyduğu PHP modüllerini (imagick, intl, zip gibi) eski sunucuyla eşleştirin. Taşımayı PHP sürümü yükseltmesiyle aynı anda yapmayın. Bir sorun çıkarsa sebebin hangisi olduğunu bilemezsiniz.
3. Boyuta bakın.
du -sh public_html
du -sh public_html/wp-content/uploads
wp db size --human-readable
Adım 1: Dosyaları kopyalayın
İki sunucu arasında doğrudan rsync en hızlı ve en güvenli yoldur:
rsync -avz --progress eski-sunucu:/home/kullanici/public_html/ /home/yenikullanici/public_html/
Sonundaki / işaretleri önemlidir: "Klasörün içeriğini kopyala" anlamına gelir. rsync, kesilen bir aktarımı kaldığı yerden devam ettirir. Taşıma anında bir kez daha çalıştırdığınızda da yalnızca değişen dosyaları kopyalar.
Adım 2: Veritabanını aktarın
Eski sunucuda:
wp db export --single-transaction site.sql
Yeni sunucuda boş bir veritabanı ve kullanıcı oluşturun, sonra:
wp db import site.sql
Yeni veritabanı bilgilerini wp-config.php dosyasına yazın: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST.
Adım 3: DNS'i değiştirmeden test edin
Bu adım, taşımayı kesintisiz yapmanın sırrıdır. Kendi bilgisayarınızın hosts dosyasına yeni sunucunun IP'sini yazın:
# Linux / macOS: /etc/hosts
# Windows: C:\Windows\System32\drivers\etc\hosts
203.0.113.50 ornek.com www.ornek.com
Artık siz siteyi yeni sunucudan görüyorsunuz, ziyaretçiler ise hâlâ eski sunucudan. Şunları kontrol edin:
- Ana sayfa ve iç sayfalar açılıyor mu?
- Yönetim paneline girebiliyor musunuz?
- Görseller yükleniyor mu?
- İletişim formu e-posta gönderiyor mu?
- Kalıcı bağlantılar çalışıyor mu? (Çalışmıyorsa Ayarlar → Kalıcı Bağlantılar → Kaydet.)
SSL sertifikası yeni sunucuda henüz yoksa tarayıcı uyarı verir. Bu normaldir; test için uyarıyı geçebilirsiniz.
Adım 4: Taşıma anı
Test başarılıysa:
- Eski sitede yeni içerik girişini durdurun. E-ticaret sitesiyse bakım moduna alın; sipariş kaybolmasın.
rsynckomutunu bir kez daha çalıştırın. Bu sefer yalnızca son değişiklikler kopyalanır.- Veritabanını tekrar dışa aktarıp yeni sunucuya aktarın.
- DNS A kaydını yeni IP ile değiştirin.
hostsdosyanızdaki satırı silin.
TTL düşük olduğu için birkaç dakika içinde trafik yeni sunucuya akmaya başlar.
Adım 5: Sonrası
- SSL sertifikasını alın. DNS yeni sunucuyu gösterdikten sonra Let's Encrypt doğrulaması çalışır.
- Cron görevlerini taşıyın. Eski sunucudaki crontab kayıtlarını (örneğin WP-Cron için tanımladığınız görevi) unutmayın.
- E-postayı kontrol edin. E-posta da aynı sunucudaysa MX kayıtlarına ve SPF kaydındaki IP'ye dikkat edin. Yalnızca web taşınıyorsa MX kayıtlarına dokunmayın.
- Eski sunucuyu hemen kapatmayın. En az bir hafta açık tutun. Eski IP'yi önbelleğinde tutan nadir bir çözümleyici ya da unuttuğunuz bir dosya için sigortanız olur.
- TTL'i tekrar yükseltin (örneğin 3600).
Alan adı da değişiyorsa
Site eski.com adresinden yeni.com adresine geçiyorsa, veritabanındaki bütün adresleri güncellemeniz gerekir:
wp search-replace 'https://eski.com' 'https://yeni.com' --all-tables --precise --dry-run
Sonuç makul görünüyorsa --dry-run olmadan çalıştırın. Ardından eski alan adından yenisine 301 yönlendirmesi ekleyin ki arama motorlarındaki sıralamanız korunsun.
Bu sırayı izlediğinizde ziyaretçileriniz taşımayı fark etmez. Tek fark ettikleri, belki sitenin biraz daha hızlı açılmasıdır.
Yorumlar
Henüz yorum yok. İlk yorumu siz yazın.