Yavaş açılan sayfalar, sürekli yaşanan kesintiler, yetersiz destek ya da sadece daha iyi bir fiyat — web sitenizi yeni bir hosting sağlayıcısına taşımak için pek çok geçerli neden vardır. Ancak birçok site sahibi bu adımı, "ya taşıma sırasında sitem çöker, ya ziyaretçilerimi ve e-postalarımı kaybederim" korkusuyla erteler. İyi haber şu: doğru sırayı ve birkaç temel tekniği bilirseniz, ziyaretçileriniz taşımanın gerçekleştiğini fark bile etmeden siteniz yeni sunucuda çalışmaya başlar.
Kesintisiz bir geçişin sırrı tek bir prensibe dayanır: önce yeni sunucuda her şeyi kurup test edin, alan adını (DNS'i) en son yönlendirin. Böylece eski siteniz yayında kalırken yeni sunucuda birebir kopyasını hazırlar, çalıştığından emin olduktan sonra son adımda DNS'i çevirirsiniz. Bu rehberde taşıma öncesi hazırlıktan dosya ve veritabanı aktarımına, WordPress'e özel notlardan TTL ve DNS yönetimiyle sıfır kesintili geçişe ve taşıma sonrası kontrol listesine kadar tüm süreci adım adım ele alacağız.
Ne Zaman ve Neden Taşınmalı?#
Her yavaşlık ya da küçük sorun taşıma gerektirmez; bazen mevcut paketinizi yükseltmek yeterlidir. Ancak aşağıdaki durumlar gerçek bir taşıma sinyalidir:
- Kronik performans sorunları — Sunucu sürekli yavaş, siteniz optimize olmasına rağmen açılmıyor ve sağlayıcı çözüm üretmiyorsa.
- Sık ve uzun kesintiler — Uptime düşük, siteniz düzenli olarak erişilemez oluyorsa. Bu doğrudan gelir ve SEO kaybıdır.
- Yetersiz destek — Sorunlarınıza saatlerce/günlerce yanıt alamıyorsanız.
- Büyüme — Paylaşımlı hosting artık trafiğinizi kaldıramıyor ve daha güçlü bir çözüme ihtiyacınız var; seçenekler için web hosting türleri yazısına bakın.
- Maliyet ve özellikler — Aynı veya daha iyi hizmeti daha uygun fiyata sunan, ihtiyaçlarınıza (NVMe disk, ücretsiz SSL, günlük yedek) daha iyi cevap veren bir sağlayıcı bulduysanız.
Karar verirken şuna dikkat edin: taşıma, mevcut sağlayıcınıza ödeme yaptığınız süre bitmeden yapılırsa iki paketiniz kısa süre örtüşür — bu normaldir ve aslında güvenlik payıdır. Yeni sitenin çalıştığını doğrulamadan eski paketi asla iptal etmeyin.
Taşıma Öncesi Hazırlık ve Envanter#
Aceleci bir taşıma, veri kaybının bir numaralı sebebidir. Başlamadan önce elinizde tam bir envanter olsun:
- Tam yedek alın. Taşımadan önce mevcut sitenizin eksiksiz bir yedeğini alın — hem dosyalar hem veritabanı. cPanel kullanıyorsanız cPanel yedekleme rehberindeki "Full Backup" özelliği tek dosyada her şeyi (dosyalar, veritabanları, e-posta hesapları, DNS zone) paketler ve taşıma için ideal başlangıçtır.
- Neyiniz var, listeleyin. Kaç web sitesi, kaç veritabanı, hangi e-posta hesapları, hangi cron görevleri, hangi alan adları? Küçük bir not defteri bile ilerideki "bir şeyi unuttum" anlarını önler.
- Teknik gereksinimleri kontrol edin. Sitenizin çalıştığı PHP sürümü, veritabanı sürümü (MySQL/MariaDB) ve gerekli PHP eklentileri yeni sunucuda mevcut mu? Uyumsuz bir PHP sürümü, taşıma sonrası "beyaz ekran" hatalarının başlıca sebebidir.
- Erişim bilgilerini toplayın. Eski ve yeni hosting'in cPanel/FTP bilgileri, veritabanı kullanıcı adları/parolaları ve alan adının yönetim paneli (DNS/nameserver değişikliği için) erişimi hazır olsun.
- TTL'i şimdiden düşürün. Bu, kesintisiz geçişin en kritik ön hazırlığıdır ve aşağıda ayrıntılı anlatacağız — ama en az 24-48 saat önce yapılması gerektiği için buradan başlamak gerekir.
Genel Taşıma Adımları#
Hangi altyapıyı kullanırsanız kullanın, taşıma üç ana bileşenden oluşur: dosyalar, veritabanı ve yapılandırma. Sırasıyla ele alalım.
1. Dosyaların Aktarımı#
Sitenizin tüm dosyalarını (HTML, PHP, görseller, tema, eklenti) eski sunucudan yeni sunucuya taşımanız gerekir. İki pratik yöntem:
- cPanel Full/Partial Backup ile: Eski cPanel'den dosya yedeğini indirin, yeni cPanel'in File Manager'ında
public_htmliçine yükleyip açın (extract). En hızlı ve bütüncül yöntemdir. - FTP/SFTP ile: Eski sunucudan tüm dosyaları bilgisayarınıza indirip yeni sunucuya yükleyin. Ayrıntılar için FTP/SFTP ile dosya yükleme rehberine bakın. Çok sayıda küçük dosyada bu yöntem yavaş olabilir; mümkünse sıkıştırılmış tek bir arşiv (.zip) taşıyın.
Dosyaların, eski sunucudaki ile aynı dizin yapısında (genellikle public_html kökünde) durduğundan emin olun.
2. Veritabanının Aktarımı#
Dinamik siteler (WordPress, Joomla, özel PHP uygulamaları) verilerini bir MySQL/MariaDB veritabanında tutar. Bu veritabanını taşımak için:
Eski sunucuda (dışa aktarma / export):
cPanel → phpMyAdmin → veritabanını seç → Export → Quick → SQL formatı → Go
(elde: veritabani.sql dosyası)
Yeni sunucuda (içe aktarma / import):
1. cPanel → MySQL Databases → yeni bir veritabanı + kullanıcı oluştur, kullanıcıyı veritabanına tam yetkiyle ekle
2. cPanel → phpMyAdmin → yeni veritabanını seç → Import → veritabani.sql dosyasını yükle → Go
phpMyAdmin'in ayrıntılı kullanımı için phpMyAdmin kullanımı yazısına göz atabilirsiniz. Büyük veritabanlarında (50 MB üzeri) tarayıcıdan import zaman aşımına uğrayabilir; bu durumda sağlayıcınızdan komut satırı desteği isteyin veya yedeği parçalara bölün.
3. Yapılandırma (config) Güncelleme#
Bu adım en çok atlanan ve en çok hataya yol açan adımdır. Uygulamanız yeni veritabanına bağlanabilmek için yeni veritabanı adı, kullanıcı adı ve parolayı bilmelidir. Bu bilgiler bir yapılandırma dosyasında tutulur:
- WordPress →
wp-config.php - Joomla →
configuration.php - Özel PHP → genellikle
config.phpveya.env
Bu dosyayı açın ve veritabanı bağlantı satırlarını yeni sunucuda oluşturduğunuz değerlerle güncelleyin. Yanlış bırakılan veritabanı bilgileri, WordPress'te ünlü "Error establishing a database connection" hatasının bir numaralı sebebidir.
4. E-posta Hesaplarının Taşınması#
Web dosyalarını taşımak, e-posta hesaplarınızı otomatik taşımaz. Eski sunucuda kurumsal e-posta kutularınız varsa, yeni sunucuda aynı adresleri yeniden oluşturmanız ve içindeki mailleri (IMAP üzerinden bir istemcide senkronize edip taşıyarak veya yedekten geri yükleyerek) aktarmanız gerekir. Hesap oluşturma ve teslim edilebilirlik ayarları için cPanel'de e-posta hesabı oluşturma rehberine bakın. E-posta kutularını taşımadan DNS'i çevirirseniz gelen mailler yeni (boş) sunucuya düşer.
WordPress'e Özel Notlar#
WordPress siteleri, veritabanında tam URL'leri sakladığı için taşımada özel dikkat ister. Site geçici bir adres altında test edildiyse veya alan adı değişiyorsa, veritabanındaki eski adreslerin yenisiyle değiştirilmesi gerekir.
- Aynı alan adıyla taşıma (en yaygın): Alan adı değişmiyorsa (
siteniz.comyinesiteniz.com), sadece dosyaları ve veritabanını taşıyıpwp-config.php'yi güncellemeniz yeterlidir. URL değişmediği için arama-değiştirme gerekmez. - Alan adı değişiyorsa: Veritabanındaki tüm eski URL'leri yenisiyle değiştirmeniz gerekir. Bunu asla phpMyAdmin'de basit bir "Find & Replace" ile yapmayın — WordPress bazı verileri "serialized" (uzunluk bilgisi gömülü) formatta tutar ve düz değiştirme bu veriyi bozar. Bunun yerine WP-CLI (
wp search-replace 'eski.com' 'yeni.com') veya Better Search Replace eklentisi gibi serialized-veri-güvenli bir araç kullanın. - Eklenti ile kolay yol: Teknik detaylarla uğraşmak istemiyorsanız All-in-One WP Migration veya Duplicator gibi bir eklenti tüm siteyi (dosya + veritabanı) tek bir pakette dışa aktarır ve yeni sunucuda tek tıkla açar; URL değişimini de otomatik yönetir. Sıfırdan kurulum gerekiyorsa WordPress kurulumu rehberi yardımcı olur.
Taşıma sonrası WordPress'te Ayarlar → Kalıcı Bağlantılar sayfasını açıp (hiçbir şey değiştirmeden) "Değişiklikleri Kaydet"e basın; bu, .htaccess yönlendirme kurallarını yeniden üretir ve "sayfa bulunamadı" hatalarını önler.
TTL ve DNS Yönetimiyle Kesintisiz Geçiş#
İşte rehberin kalbi burası. Amaç: ziyaretçiler hiç kesinti görmeden yeni sunucuya geçsin. Bunun anahtarı TTL (Time To Live) değerini önceden düşürmek ve DNS'i en son adımda çevirmektir.
TTL Nedir ve Neden Önceden Düşürülür?#
TTL, DNS kayıtlarınızın dünya genelindeki sunucularda ne kadar süre önbelleğe alınacağını (saniye cinsinden) belirtir. Varsayılan TTL genellikle 3600 (1 saat) hatta 86400 (24 saat) olabilir. Yüksek TTL, DNS'i çevirdiğinizde bazı ziyaretçilerin saatlerce eski sunucuyu görmeye devam etmesi demektir.
Çözüm: taşımadan en az 24-48 saat önce alan adınızın A kaydının (ve varsa CNAME/MX kayıtlarının) TTL'ini düşürün:
# Taşımadan 24-48 saat ÖNCE:
Tür : A
Ad : siteniz.com
TTL : 300 (300 saniye = 5 dakika)
# Geçiş tamamlanıp her şey oturduktan SONRA tekrar yükseltin:
TTL : 3600 (1 saat) veya daha yüksek
Düşük TTL sayesinde DNS değişikliğiniz dünya geneline saatler yerine dakikalar içinde yayılır. Bu tek hazırlık, kesinti penceresini saatlerden dakikalara indirir.
hosts Dosyası ile Önizleme (DNS'i Çevirmeden Test)#
DNS'i herkese açık şekilde çevirmeden önce, yeni sunucudaki sitenizi yalnızca kendi bilgisayarınızda test edebilirsiniz. Bunun yolu, bilgisayarınızın hosts dosyasına geçici bir kayıt eklemektir. Bu dosya, DNS'ten önce kontrol edildiği için "sadece benim bilgisayarımda bu alan adı yeni sunucunun IP'sine gitsin" dersiniz:
# Windows: C:\Windows\System32\drivers\etc\hosts
# macOS / Linux: /etc/hosts
# Dosyanın sonuna ekleyin (YENI_SUNUCU_IP'yi gerçek IP ile değiştirin):
123.45.67.89 siteniz.com
123.45.67.89 www.siteniz.com
Bu satırı ekleyip kaydettikten sonra tarayıcınızda siteniz.com yazdığınızda, dünyanın geri kalanı hâlâ eski sunucuyu görürken siz yeni sunucudaki kopyayı görürsünüz. Böylece yeni sitenizi gerçek alan adıyla, canlıya almadan tam olarak test edebilirsiniz: sayfalar açılıyor mu, veritabanı bağlanıyor mu, formlar çalışıyor mu, görseller yükleniyor mu? Test bitince eklediğiniz satırları hosts dosyasından silmeyi unutmayın.
DNS'i Çevirme (Son Adım)#
Yeni sunucudaki her şeyin hosts önizlemesinde kusursuz çalıştığını doğruladıktan sonra son adıma geçin: DNS'i herkese açık şekilde yeni sunucuya yönlendirin. İki yöntem:
- Nameserver değiştirme: Alan adının nameserver'larını yeni hosting'inkilerle değiştirin. Adımlar için nameserver değiştirme yazısına bakın. En temiz yöntemdir; tüm DNS yönetimi yeni sunucuya geçer.
- A kaydı değiştirme: Nameserver'ları değiştirmeden yalnızca A kaydını yeni sunucunun IP'sine çevirin. E-posta gibi diğer kayıtları mevcut yerinde tutmak istiyorsanız daha hedefli bir yöntemdir.
Düşük TTL sayesinde bu değişiklik dakikalar içinde yayılmaya başlar. Yayılma tamamen bitene kadar bazı ziyaretçiler eskiyi, bazıları yeniyi görebilir — ama her iki sunucu da çalışır durumda olduğu için (eski paketi henüz iptal etmediniz) kimse kesinti yaşamaz. Yayılma mantığının ayrıntısı için DNS propagasyon süresi yazısına göz atın.
Propagasyon ve Taşıma Sonrası Kontrol Listesi#
DNS'i çevirdikten sonra propagasyonun tamamlanması genellikle düşük TTL ile birkaç dakika–birkaç saat sürer (tam dünya yayılımı 24-48 saati bulabilir). Bu süre boyunca her iki paketi de açık tutun. Yayılmanın durumunu whatsmydns.net gibi araçlarla farklı ülkelerden kontrol edebilirsiniz.
Yayılma tamamlandıktan sonra şu kontrol listesini uygulayın:
- Ana sayfa ve iç sayfalar sorunsuz açılıyor mu?
- Görseller, CSS ve JavaScript yükleniyor mu (kırık bağlantı var mı)?
- İletişim/sipariş formları çalışıyor ve mail gönderiyor mu?
- Veritabanına bağlı özellikler (giriş, yorum, sepet) çalışıyor mu?
- SSL sertifikası aktif mi, site
https://ile kilit simgesiyle açılıyor mu? - E-posta hesapları yeni sunucuda mail alıp gönderebiliyor mu?
- WordPress'te kalıcı bağlantılar (permalink) çalışıyor, 404 vermiyor mu?
- Cron görevleri, yönlendirmeler ve özel
.htaccesskuralları taşındı mı?
Her şey birkaç gün boyunca sorunsuz çalıştıysa: TTL'i tekrar normal değere (3600+) yükseltin, ardından eski hosting paketinizi güvenle iptal edebilirsiniz. Yeni sunucuda otomatik yedeklemenin açık olduğundan da emin olun.
Yaygın Hatalar ve Çözümleri#
- "Error establishing a database connection" —
wp-config.php(veya ilgili config dosyası) yeni veritabanı bilgileriyle güncellenmemiştir. Veritabanı adı, kullanıcı, parola ve host (localhost) değerlerini kontrol edin. - Site açılıyor ama görseller/CSS kırık — Genellikle URL veya dizin yolu sorunudur. Alan adı değiştiyse serialized-güvenli bir arama-değiştir aracıyla eski URL'leri güncelleyin; dosya izinlerinin (permissions) doğru olduğundan emin olun.
- İç sayfalar 404 veriyor (WordPress) — Kalıcı bağlantı kuralları taşınmamıştır. Ayarlar → Kalıcı Bağlantılar → Kaydet ile
.htaccess'i yeniden ürettirin. - Beyaz ekran / PHP hatası — Yeni sunucudaki PHP sürümü sitenizle uyumsuzdur. cPanel'in "Select PHP Version" aracından uyumlu sürüme geçin ve gerekli eklentileri etkinleştirin.
- DNS çevirdim ama hâlâ eski site görünüyor — TTL'i önceden düşürmediyseniz eski kayıt hâlâ önbellektedir; propagasyon süresini bekleyin ve tarayıcı/işletim sistemi DNS önbelleğinizi temizleyin.
- Mailler kayboldu — DNS'i çevirmeden önce e-posta hesaplarını yeni sunucuda oluşturmadınız veya MX kaydını güncellemediniz. Hesapları oluşturun ve gelen kutularını yedekten geri yükleyin.
Sıkça Sorulan Sorular#
Web sitemi taşırken kesinti (downtime) yaşanır mı?#
Doğru yöntemle taşırsanız hayır. Sırrı, önce yeni sunucuda sitenin tam kopyasını kurup test etmek, alan adının DNS'ini ise en son adımda çevirmektir. Geçiş sırasında her iki hosting paketini de açık tutarsanız, DNS yayılırken bazı ziyaretçiler eskiyi bazıları yeniyi görse de her iki sunucu da çalıştığı için kimse erişilemez bir sayfayla karşılaşmaz.
Taşıma işlemi ne kadar sürer?#
Sitenin boyutuna ve karmaşıklığına bağlıdır. Dosya ve veritabanının fiili aktarımı küçük bir site için birkaç saat sürebilir. Asıl bekleme süresi DNS propagasyonudur; TTL'i önceden düşürdüyseniz bu birkaç dakika–birkaç saat, düşürmediyseniz 24-48 saati bulabilir. Bu yüzden taşımadan 1-2 gün önce TTL'i düşürmek en önemli hazırlıktır.
Eski hosting paketimi ne zaman iptal etmeliyim?#
Yeni sitenin tamamen çalıştığını, DNS'in yayıldığını ve kontrol listesindeki her maddenin (sayfalar, formlar, mailler, SSL) sorunsuz olduğunu doğruladıktan sonra, birkaç gün beklemenizi öneririz. Eski paketi erken iptal etmek, geri dönüş gerekirse veya bir şeyin çalışmadığını sonradan fark ederseniz sizi güvencesiz bırakır. Acele etmeyin; kısa bir örtüşme dönemi güvenlik payınızdır.
WordPress sitemi taşırken alan adı değişmiyorsa arama-değiştir yapmam gerekir mi?#
Hayır. Alan adı aynı kalıyorsa (siteniz.com yine siteniz.com) veritabanındaki URL'ler geçerliliğini korur; yalnızca dosyaları, veritabanını taşıyıp wp-config.php'yi yeni veritabanı bilgileriyle güncellemeniz yeterlidir. Arama-değiştir işlemi yalnızca alan adı veya adres yapısı değiştiğinde gerekir ve o durumda da serialized-veri güvenli bir araç kullanılmalıdır.
hosts dosyasıyla önizleme tam olarak ne işe yarar?#
hosts dosyası, bilgisayarınızın bir alan adını hangi IP'ye yönlendireceğini DNS'ten önce belirlemenizi sağlar. Buraya yeni sunucunun IP'sini eklerseniz, dünyanın geri kalanı hâlâ eski sunucuyu görürken siz gerçek alan adınızla yeni sunucudaki kopyayı test edebilirsiniz. Böylece DNS'i canlıya çevirmeden önce her şeyin çalıştığından emin olur, taşımayı risksiz hale getirirsiniz.
E-posta hesaplarım da otomatik taşınır mı?#
Hayır. Web dosyalarını ve veritabanını taşımak, kurumsal e-posta kutularınızı otomatik aktarmaz. Yeni sunucuda aynı e-posta adreslerini yeniden oluşturmanız ve mevcut mailleri IMAP senkronizasyonuyla veya yedekten geri yükleyerek taşımanız gerekir. Bu adımı DNS'i çevirmeden önce tamamlamazsanız, geçişten sonra gelen mailler boş yeni sunucuya düşer.
Kapanış#
Web sitesi taşıma, ilk bakışta ürkütücü görünse de doğru sırayı izlediğinizde tamamen kontrol edilebilir bir süreçtir. Özetle: önce tam yedek alın, dosya ve veritabanını yeni sunucuya taşıyın, config dosyasını güncelleyin, hosts dosyasıyla canlıya almadan test edin, TTL'i önceden düşürüp DNS'i en son adımda çevirin ve her iki paketi de geçiş oturana kadar açık tutun. Bu yaklaşımla ziyaretçileriniz ve arama motorları hiçbir kesinti fark etmez.
Taşımayı kendiniz yapmak istemiyor ya da kritik bir sitede risk almak istemiyorsanız, ücretsiz site taşıma hizmetimizle bu süreci sizin için baştan sona ekibimiz yürütür. Yeni bir web hosting paketi seçerken NVMe disk, günlük otomatik yedekleme ve ücretsiz SSL gibi özelliklere dikkat edin; taşıma öncesi hazırlık için de cPanel yedekleme rehberimiz her zaman elinizin altında olsun.