WordPress Hosting

Staging (test ortamı) nedir? Siteyi bozmadan değişiklik yapmak

Staging ortamının hangi sorunları çözdüğü, panel araçlarıyla ve elle (alt alan adı, kopya veritabanı) nasıl kurulduğu, değişiklikleri canlıya alma yöntemleri, kopyayı arama motorlarından gizleme (noindex) ve sık yapılan hatalar.

Canlı sitede tema değiştirmek, büyük bir eklenti güncellemesi yapmak ya da PHP sürümünü yükseltmek, ziyaretçinin gözü önünde deney yapmak demektir; bir şey ters giderse sayfa boş kalır, mağaza sipariş alamaz. Staging (test ortamı), canlı sitenin ziyaretçiye kapalı bir kopyasıdır: değişikliği önce orada denersiniz, sonuç iyiyse canlıya taşırsınız. Bu yazı staging'in hangi sorunları çözdüğünü, panel araçlarıyla ya da elle nasıl kurulduğunu, değişiklikleri canlıya almanın yollarını, kopyayı arama motorlarından gizlemeyi ve sık yapılan hataları anlatır.

Staging ne çözer?

  • Güncelleme riski: Çekirdek, tema ve eklenti güncellemeleri birbiriyle çakışabilir. Kopyada güncelleyip siteyi gezmek, canlıda beyaz ekranla karşılaşmaktan ucuzdur.
  • Tasarım değişikliği: Yeni tema ya da sayfa düzeni günler sürebilir; ziyaretçi bu süreçte yarım kalmış bir site görmemeli.
  • PHP ve sunucu ayarı: Sürüm yükseltme eski bir eklentiyi bozabilir; test ortamında bunu önceden görürsünüz.
  • Yeni özellik geliştirme: Özel kod, yeni bir ödeme yöntemi ya da entegrasyon canlı veriyle değil kopya veriyle denenir.
  • Geri yükleme provası: Yedeğin gerçekten çalıştığını görmek için en güvenli yer yine bir kopya ortamdır.

Staging, canlı siteyi değiştirmeden önce her şeyi görmenizi sağlar; ama geri yüklemenin yerini tutmaz. Canlıya alma öncesinde yine kopya alınır.

Yerel bilgisayarda çalışan bir kopya (Local, XAMPP, Docker gibi araçlarla) da bir test ortamıdır ve geliştirme için uygundur; ancak sunucudaki PHP sürümü, eklenti yapılandırması ve ağ koşulları yerelde birebir aynı olmaz. Sunucu üzerinde, aynı pakette kurulan kopya bu farkı ortadan kaldırır; bu yazıdaki yöntemler o kopyayı anlatır.

Panel araçlarıyla kurmak

En kolay yol, barındırma firmasının ya da panelin hazır aracını kullanmaktır. Plesk'teki WordPress Toolkit, kurulumun kartındaki klonla düğmesiyle siteyi bir alt alan adına kopyalar, kopyadaki adresleri düzeltir ve arama motoru görünürlüğünü kapatma seçeneği sunar; iş bittiğinde veri kopyalama işlemiyle seçtiğiniz dosya ve tabloları canlıya geri aktarır. Firma kurmuşsa cPanel için de WP Toolkit benzer bir akış sunar; Softaculous da (sürümüne ve lisansına göre) klonlama ve staging seçenekleriyle kopya oluşturup sonradan canlıya itebilir. Bazı yönetilen WordPress paketlerinde firmanın kendi müşteri panelinde staging oluşturma ve canlıya alma düğmesi bulunur; varsa paket sayfasında belirtilir ve WordPress hosting seçerken bakılacak ölçütlerden biridir.

Panel aracının avantajı, adres değiştirme ve veritabanı kopyalama gibi hata yapılan adımları sizin yerinize yapmasıdır. Sınırı ise şudur: araç yalnızca kendi tanıdığı uygulamalarla (çoğunlukla WordPress) çalışır ve kopya aynı barındırma hesabında durduğundan disk kullanımını yaklaşık ikiye katlar.

Elle kurmak

Panel aracı yoksa ya da WordPress dışı bir uygulama kullanıyorsanız kopyayı elle kurarsınız. Adımlar her uygulama için benzerdir; burada WordPress üzerinden anlatıyoruz.

  1. Alt alan adı açın: Panelden test.ornek.com gibi bir alt alan adı oluşturun; kendi klasörüne bağlanır ve SSL sertifikasını da aynı adımda kurun.
  2. Dosyaları kopyalayın: Canlı sitenin web kökünü alt alan adının klasörüne kopyalayın. Dosya yöneticisinde “kopyala” ya da SSH ile cp -r en hızlısıdır; FTP ile indirip yüklemek büyük sitelerde saatler alır.
  3. Veritabanını kopyalayın: Panelden yeni bir veritabanı ve kullanıcı oluşturun. Canlı veritabanını phpMyAdmin'den dışa aktarın, yeni veritabanına içe aktarın. Büyük veritabanlarında phpMyAdmin zaman aşımına düşebilir; SSH'da mysqldump ve mysql komutları daha güvenilirdir.
  4. Ayar dosyasını düzenleyin: Kopyadaki wp-config.php'de veritabanı adını, kullanıcısını ve parolasını yeni değerlerle değiştirin.
  5. Adresleri değiştirin: Veritabanında canlı adres (https://ornek.com) kopyanın adresiyle (https://test.ornek.com) değiştirilmelidir. Yalnızca ayarlar tablosunu düzeltmek yetmez; içerik ve eklenti ayarlarında serileştirilmiş veri bulunduğundan WP-CLI'nin wp search-replace komutu ya da serileştirmeyi tanıyan bir arama-değiştirme aracı kullanın.
  6. Kopyayı kapatın: Arama motorlarını ve yabancı ziyaretçileri uzak tutun; aşağıdaki bölümde anlatılmıştır.
  7. Doğrulayın: Kopyanın yönetim paneline girin, sayfaların canlıyı değil kopyayı gösterdiğinden emin olun. Kopyada yapılan bir işlemin canlıyı etkilemesi (yanlış veritabanı) en tehlikeli hatadır.

E-ticaret sitelerinde kopyadaki ödeme ve kargo entegrasyonlarını test moduna alın ya da kapatın; aksi hâlde kopyadaki bir deneme gerçek bir sipariş ya da e-posta üretebilir. Zamanlanmış görevler de kopyada çalışmaya devam eder; bülten gönderen bir eklenti kopyadan ikinci kez posta atabilir.

Değişiklikleri canlıya almak

Canlıya alma, kopyada yaptığınız değişikliğin türüne göre üç yoldan biriyle yapılır.

DeğişiklikYöntemDikkat
Yalnızca dosya (tema, eklenti, kod)Değişen dosyaları kopyadan canlıya aktarın; panel aracında “yalnızca dosyalar” seçeneğiCanlıdaki medya klasörüne dokunmayın
Yalnızca ayar ve içerik (az sayıda)Değişiklikleri canlıda elle tekrarlayınKüçük işler için en güvenli yol
Dosya ve veritabanı birlikteKopyanın tamamını canlıya taşıyın; adresleri geri değiştirinCanlıda bu arada oluşan sipariş, yorum, üye kaydı silinir

Üçüncü yol, canlı site sürekli yeni veri üretiyorsa (mağaza, üyelik, yorum) uygun değildir; kopya üzerinde çalışırken canlıya gelen veri kaybolur. Böyle sitelerde yalnızca dosyaları taşıyın, veritabanı değişikliklerini canlıda tekrarlayın ya da yalnızca belirli tabloları seçerek aktarın. Her durumda canlıya almadan hemen önce canlının tam kopyasını alın; bir şey ters giderse geri dönüş yolunuz hazır olur. Canlıya aldıktan sonra önbelleği temizleyin ve ana sayfa, bir iç sayfa, iletişim formu ve varsa sepet akışını elle kontrol edin. Tarayıcı önbelleği eski sayfayı gösterebileceğinden kontrolü gizli pencerede ya da farklı bir cihazdan yapın.

Arama motorundan gizlemek (noindex)

Kopya, canlıyla birebir aynı içeriği taşıdığından dizine girerse yinelenen içerik sorunu yaratır ve bazen arama sonuçlarında canlının yerine çıkabilir. Şu önlemleri birlikte düşünün:

  • noindex: WordPress'te okuma ayarlarındaki arama motoru görünürlüğü seçeneğini (arama motorlarını dizine eklemekten caydırma) işaretleyin; güncel sürümlerde bu, sayfalara noindex yönergesi ekler. Panel araçları bunu çoğunlukla otomatik yapar.
  • robots.txt: robots.txt ile bütün tarayıcıları engellemek tek başına yeterli değildir: bağlantı verilen adresler yine dizine girebilir, üstelik taranamayan sayfadaki noindex yönergesi de görülmez. Bu yüzden noindex kullanıyorsanız robots.txt engeli eklemeyin; asıl korumayı parolaya bırakın.
  • Parola koruması: Alt alan adının klasörünü panelin dizin gizliliği aracıyla ya da .htaccess ile parolaya alın. En güvenilir yöntem budur; tarayıcılar ve meraklı ziyaretçiler giremez.
  • Canlıya taşırken geri alma: Kopyadan canlıya veritabanı taşıdığınızda noindex ayarı da taşınır. Canlıya aldıktan sonra bu seçeneği mutlaka kaldırın; aksi hâlde canlı site dizinden düşer.

Test kopyasının canlıya zarar verdiği durumlar

  1. Kopyanın canlı veritabanına bağlı kalması; kopyada yapılan her değişiklik canlıya yansır.
  2. Adres değiştirmeyi yalnızca ayarlar tablosunda yapıp içerikteki bağlantıları canlıya işaret eder bırakmak.
  3. Kopyayı aylarca açık bırakmak; eski ve güncellenmemiş bir kopya güvenlik açığıdır. İş bitince silin ya da parola arkasında tutun.
  4. Canlıya alma öncesi kopya almamak.
  5. Noindex ayarını canlıya taşıyıp fark etmemek.
  6. Kopyada ödeme ve e-posta entegrasyonlarını test moduna almayıp gerçek işlem üretmek.
  7. Disk kotasını hesaba katmamak; kopya, hesabın kullanımını ikiye katlar ve kota dolduğunda canlı site de etkilenir.

Staging özelliği paket seçiminde belirleyiciyse yönetilen WordPress paketlerine ve panel araçlarına bakın; paylaşımlı mı, WordPress hosting mi? yazısı bu farkı anlatır. Tam denetim ve birden fazla test ortamı isteyen ekipler için VPS sunucu ya da bulut sunucu paketleri, ayrı sanal makinelerde kopya kurma esnekliği sağlar.

İlgili yazılar

WooCommerce için hosting seçimi: kaynak, önbellek ve ödeme güvenliği

Bir WooCommerce mağazası için paket seçerken eş zamanlı işlem kapasitesi, PHP işçisi, nesne önbelleği, SSL ve PCI kapsamı, ödeme altyapısıyla uyum ve yedek sıklığına nasıl bakılacağını, VPS'e ne zaman geçileceğini anlatıyoruz.

Ücretsiz site taşıma sunan hosting firmaları

Ücretsiz site taşıma beyan eden 16 sağlayıcıyı, taşımanın kaç siteyi ve hangi bileşenleri (dosya, veritabanı, e-posta, DNS) kapsadığına dair paket notlarını ve sipariş öncesi sorulması gereken kapsam sorularını listeledik.