İçeriğe atla
+90 552 219 16 99 Hafta içi 09:00 – 18:00
Müşteri Paneli
CIR.Blog Hosting al

WordPress Sitesini Başka Hostinge Taşıma: Kesintisiz Rehber

7 dakika okuma WordPress
WordPress Sitesini Başka Hostinge Taşıma: Kesintisiz Rehber - CIR blog kapak gorseli

Hosting değiştirmenin en korkulan kısmı taşımadır, oysa asıl risk taşımanın kendisinde değil sırasında yatar. Alan adının yönünü erken çevirip dosyaları sonra taşırsanız ziyaretçiler boş sayfayla karşılaşır. Eski sunucuyu çok erken kapatırsanız gelen e-postalar kaybolur.

Bir WordPress sitesi iki parçadan oluşur: dosyalar ve veritabanı. Dosyalar public_html altındaki her şeydir; veritabanı ise yazılar, ayarlar, kullanıcılar ve eklenti verilerini tutar. Taşıma, bu iki parçayı yeni sunucuya eksiksiz kopyalayıp aralarındaki bağlantıyı yeniden kurmaktan ibarettir.

Aşağıda hem elle hem eklentiyle taşımayı, alan adı değişen durumu ve yayına almadan test etmenin yolunu anlatıyoruz. Genel hosting taşıma mantığını hosting taşıma rehberinde de bulabilirsiniz; buradaki adımlar WordPress’e özgü kısımdır.

Elle taşıma mı, eklentiyle taşıma mı?

İkisi de çalışır; seçim sitenin boyutuna ve sunucu kısıtlarına bağlıdır.

Ölçüt Elle taşıma Eklentiyle taşıma
Uygun boyut Sınırsız Genelde 1-2 GB altı
Gereken bilgi FTP, phpMyAdmin, temel SQL Panoda birkaç tıklama
Risk Adım atlanırsa eksik veri Zaman aşımı, bellek limiti
Süre (500 MB site) 30-60 dakika 10-20 dakika
URL değişimi Elle search-replace gerekir Eklenti otomatik yapar

Duplicator, All-in-One WP Migration ve Migrate Guru gibi eklentiler küçük ve orta sitelerde iş görür. 3 GB’ın üzerindeki e-ticaret sitelerinde eklenti paket oluştururken zaman aşımına düşer; orada elle taşıma daha güvenlidir.

Elle taşıma adımları

  1. Dosyaları indirin. Eski sunucuda cPanel Dosya Yöneticisi ile public_html klasörünü seçip “Sıkıştır” deyin, oluşan .zip veya .tar.gz dosyasını indirin. FTP ile tek tek indirmek binlerce küçük dosyada saatler sürebilir.
  2. Veritabanını dışa aktarın. phpMyAdmin > veritabanını seç > Dışa Aktar > Hızlı > SQL. Dosya 50 MB’ı geçiyorsa “Özel” seçip sıkıştırmayı gzip yapın.
  3. Yeni sunucuda veritabanı oluşturun. MySQL Veritabanları ekranından bir veritabanı, bir kullanıcı açın ve kullanıcıya “Tüm ayrıcalıklar” verin. Kullanıcı adı, veritabanı adı ve parolayı not edin.
  4. Dosyaları yükleyin. Arşivi yeni sunucudaki public_html içine atıp Dosya Yöneticisi’nden “Ayıkla” deyin.
  5. SQL dosyasını içe aktarın. phpMyAdmin’de yeni veritabanını seçip İçe Aktar sekmesinden yükleyin. Dosya yükleme sınırını aşıyorsa SSH varsa mysql -u kullanici -p veritabani < yedek.sql komutunu kullanın.
  6. wp-config.php dosyasını düzenleyin. DB_NAME, DB_USER, DB_PASSWORD değerlerini yeni bilgilerle değiştirin. DB_HOST çoğu paylaşımlı sunucuda localhost kalır.

phpMyAdmin ile çalışmaya alışkın değilseniz temel işlemleri MySQL ve phpMyAdmin yazısında anlatıyoruz.

Alan adı değişiyorsa: search-replace

Alan adı aynı kalıyorsa bu bölümü atlayabilirsiniz. Değişiyorsa (örneğin eskisite.com yerine yenisite.com.tr) veritabanındaki eski adresleri değiştirmek gerekir, çünkü görsel yolları, menü bağlantıları ve widget içerikleri tam URL olarak kayıtlıdır.

Burada en sık yapılan hata phpMyAdmin’de “Ara ve değiştir” ile toplu değişim yapmaktır. WordPress bazı verileri PHP serialize formatında saklar ve bu formatta metnin uzunluğu da kayıtlıdır; düz arama değiştirme uzunluk bilgisini bozar, widget’lar ve tema ayarları kaybolur.

Doğru yöntemler: WP-CLI erişiminiz varsa wp search-replace 'https://eskisite.com' 'https://yenisite.com.tr' --all-tables komutu serialize veriyi doğru işler. WP-CLI yoksa “Better Search Replace” eklentisini kurup önce “kuru çalıştırma” (dry run) ile kaç kayıt etkileneceğini görün, sonra uygulayın. İşi bitince eklentiyi kaldırın.

Kalıcı bağlantılar ve .htaccess

Taşıma sonrası en sık gelen şikâyet şudur: ana sayfa açılıyor ama iç sayfalar 404 veriyor. Sebebi .htaccess dosyasının taşınmamış olmasıdır; bu dosya nokta ile başladığı için Dosya Yöneticisi’nde gizli kalır. Dosya Yöneticisi ayarlarından “Gizli dosyaları göster” seçeneğini açıp kopyaladığınızdan emin olun.

Dosya yoksa yenisini üretmek kolaydır: panoya girip Ayarlar > Kalıcı Bağlantılar ekranını açın ve hiçbir şey değiştirmeden “Değişiklikleri Kaydet” deyin. WordPress standart kural bloğunu yeniden yazar. Eski dosyada elle eklenmiş yönlendirmeler, sıkıştırma veya güvenlik kuralları varsa onları da yeni dosyaya taşımayı unutmayın.

E-postaları unutmayın

Taşımalarda en çok veri kaybı e-posta tarafında yaşanır. Web sitesi taşınırken hesaplar eski sunucuda kalır ve MX kaydı çevrildiği anda eski kutulardaki iletiler erişilemez hale gelir.

  • Yeni sunucuda aynı adreslerle hesapları önceden oluşturun; parolaları da aynı yaparsanız cihaz ayarlarını değiştirmeniz gerekmez.
  • Eski kutulardaki iletileri taşıyın. IMAP kullanıyorsanız Thunderbird gibi bir istemciye iki hesabı da ekleyip klasörleri sürükleyerek kopyalayabilirsiniz; cPanel’de “E-posta Taşıyıcı” aracı varsa daha hızlıdır.
  • MX kaydını web sitesi çalıştığını doğruladıktan sonra çevirin. Kayıt mantığını MX kaydı yazısında ele alıyoruz.
  • SPF ve DKIM kayıtlarını yeni sunucuya göre güncelleyin, aksi halde giden iletiler spam’e düşer.

Hosts dosyasıyla yayına almadan test

Yeni sunucudaki siteyi, alan adını hâlâ eski sunucu gösterirken test edebilirsiniz. Bilgisayarınızın hosts dosyası, yalnızca sizin makineniz için DNS’i geçersiz kılar.

Windows’ta Not Defteri’ni yönetici olarak açın ve C:WindowsSystem32driversetchosts dosyasını düzenleyin. Sona şu satırı ekleyin: 185.xx.xx.xx siteadi.com.tr ve altına 185.xx.xx.xx www.siteadi.com.tr. IP adresi yeni sunucunun cPanel ana ekranında “Paylaşılan IP Adresi” olarak yazar. macOS ve Linux’ta aynı dosya /etc/hosts yolundadır.

Dosyayı kaydettikten sonra tarayıcı önbelleğini temizleyip siteyi açın; artık yeni sunucudaki kopyayı görüyorsunuz. Ana sayfa, iç sayfalar, form gönderimi, oturum açma ve varsa sepet akışını test edin. Test bitince eklediğiniz satırları silin, yoksa DNS değişse bile eski IP’ye bakmaya devam edersiniz.

Kesintisiz geçiş sırası

  1. Yeni hosting hesabını açın, alan adını hesaba ekleyin.
  2. Eski siteyi taşıyın, veritabanını içe aktarın, wp-config.php dosyasını güncelleyin.
  3. Hosts dosyasıyla test edin, gerekirse düzeltin.
  4. E-posta hesaplarını yeni sunucuda oluşturun ve eski iletileri kopyalayın.
  5. Alan adının DNS TTL değerini geçişten 24 saat önce 3600’den 300’e düşürün.
  6. Eski sitede yeni içerik girişini durdurun; e-ticaret varsa geçişi gece yapın.
  7. Son bir kez veritabanını yeniden aktarın ki geçiş anında gelen siparişler ve yorumlar kaybolmasın.
  8. Nameserver veya A kaydını yeni sunucuya çevirin.
  9. Yayılma tamamlanana kadar (genelde 1-6 saat) eski sunucuyu kapatmayın; en az 7 gün açık tutun.
  10. SSL sertifikasını yeni sunucuda kurun ve HTTPS yönlendirmesinin çalıştığını doğrulayın.

Yayılma süresinin neye bağlı olduğunu DNS yayılma süresi yazısında ayrıntılandırdık. Geçiş sonrası sertifika kurulumu için SSL sertifikaları sayfasındaki seçenekler işinizi görür.

Özetle

  • Site iki parçadır: dosyalar ve veritabanı. İkisini eksiksiz taşımadan hiçbir adım tamamlanmaz.
  • 1-2 GB altındaki sitelerde eklenti, üzerindekilerde elle taşıma daha güvenlidir.
  • Alan adı değişiyorsa URL güncellemesini WP-CLI ya da Better Search Replace ile yapın; phpMyAdmin’de düz değiştirme serialize veriyi bozar.
  • .htaccess gizli dosyadır, taşınmayı unutulur ve iç sayfalarda 404 üretir.
  • E-posta kutularını ve MX kaydını planın parçası yapın, eski sunucuyu bir hafta açık tutun.

Bunlar da ilginizi çekebilir