Canlı Sitemi Bozmadan Yeni Bir Özelliği Nasıl Test Ederim? (Staging Rehberi)
· 5 dk okuma
Bir eklenti güncellemesi, yeni bir ödeme yöntemi ya da tema değişikliği kâğıt üzerinde küçük bir iştir; ama canlı sitede denendiğinde beyaz bir ekranla ya da çalışmayan bir sepet sayfasıyla sonuçlanabilir. E-ticaret sitelerinde bu, doğrudan satış kaybı demektir. Çözüm, değişiklikleri önce sitenin ziyaretçilerin görmediği birebir kopyasında, yani bir staging (test) ortamında denemektir. Bu rehberde staging ortamının neden ve nasıl kurulduğunu, WordPress'te WP Toolkit ile ve WordPress dışındaki sitelerde elle nasıl hazırlandığını adım adım anlatıyoruz.
Staging Ortamını Oluşturan 4 Parça
Staging, canlı sitenin ayrı bir adreste çalışan kopyasıdır. Doğru kurulmuş bir test ortamında şu dört parça bulunur:
- Dosya kopyası: Sitenin kodu, teması, eklentileri ve görselleri.
- Ayrı veritabanı: Test kopyası kendi veritabanı kopyasıyla çalışır. Yapılandırma dosyası canlı veritabanını gösterirse test sırasında yaptığınız her değişiklik canlı siteye yazılır.
- Ayrı adres: Genellikle
staging.alanadiniz.comgibi bir alt alan adı. - Erişim kısıtı: Şifre koruması ve kapalı arama motoru indekslemesi. Aksi halde arama motorları aynı içeriğe sahip iki siteyi dizine ekleyebilir ya da müşterileriniz test sitesinde sipariş verebilir.
Elle Kurulumda Sık Yapılan Hatalar
Staging ortamı elle de kurulabilir: alt alan adı açılır, dosyalar kopyalanır, veritabanı dışa aktarılıp yeni bir veritabanına alınır, yapılandırma dosyası güncellenir. Bu adımlar sitenin boyutuna göre uzun sürer ve her biri ayrı bir hata noktasıdır:
wp-config.phpya da.envdosyasındaki bağlantı bilgisi değiştirilmediği için test kopyası canlı veritabanına yazar.- WordPress'te site adresi veritabanında SQL ile topluca değiştirilir; bu, serileştirilmiş (serialized) verileri bozar. Doğru araç, serileştirilmiş verileri gözeten
wp search-replacekomutudur (WP-CLI). - Test kopyası müşterilere sipariş ve bildirim e-postası gönderir ya da ödeme sağlayıcısının canlı modunda çalışır.
- Testler bittikten sonra hangi dosyaların ve tabloların canlıya aktarılacağı belirsiz kalır.
Staging Kurma Yöntemleri Karşılaştırması
| Yöntem | Kurulum | Canlıya aktarma | Dikkat edilecek nokta |
|---|---|---|---|
| Elle kopyalama (alt alan adı + veritabanı kopyası) | Dosyalar, veritabanı ve yapılandırma ayrı ayrı kopyalanır | Değişen dosyalar ve tablolar tek tek aktarılır | Yapılandırma dosyasının canlı veritabanını göstermemesi |
| Yerel geliştirme ortamı (kendi bilgisayarınızda) | Bilgisayara web sunucusu ve veritabanı kurulur | Dosyalar ve veritabanı sunucuya yeniden yüklenir | PHP sürümü ve sunucu ayarları canlıdan farklı olabilir |
| Git ile ayrı dal | staging dalı alt alan adına, ana dal canlı siteye dağıtılır |
Dal birleştirilip push edilir | Veritabanı değişiklikleri ayrıca yönetilmelidir (ör. migration) |
| WP Toolkit klonlama (zuwinasa cloud WordPress Hosting) | Klonla ile dosyalar, veritabanı ve ayarlar alt alan adına kopyalanır | Veri Kopyala ile dosyalar, veritabanı ya da seçili tablolar; öncesinde geri yükleme noktası | Yalnız WordPress siteleri için |
WP Toolkit ile 5 Adımda Staging Kurma ve Canlıya Aktarma
1. Canlı Sitenin Yedeğini Alın
Her işlemden önce Plesk'teki Yedekleme Yöneticisi ile dosyaların ve veritabanının tam yedeğini alın. Bir sonraki adımlarda oluşacak geri yükleme noktası işinizi kolaylaştırır ama yedeğin yerini tutmaz.
2. Siteyi Klonlayın
- Plesk'te WordPress bölümüne girin ve canlı sitenin kartında Klonla (Clone) seçeneğine tıklayın.
- Hedef olarak alt alan adı oluştur seçeneğini bırakın; WP Toolkit varsayılan olarak
stagingönekini önerir, isterseniz değiştirebilirsiniz. - Gerekirse veritabanı adını düzenleyip klonlamayı başlatın. WP Toolkit dosyaları, veritabanını ve WordPress ayarlarını kopyalar, site adresini yeni alt alan adına göre düzenler.
3. Test Kopyasını Dışarıya Kapatın
- Kopyanın kartında arama motoru indekslemesini (Search engine indexing) kapatın ve şifre korumasını açın.
- E-ticaret sitesinde ödeme yöntemlerini test (sandbox) moduna alın ve müşterilere giden e-postaları kapatın.
- Abonelik yenilemesi ya da stok eşitleme gibi zamanlanmış görevler varsa test kopyasında devre dışı bırakın; aksi halde aynı iş iki kez çalışabilir.
4. Değişikliği Test Kopyasında Deneyin
Eklentiyi güncelleyin, temayı değiştirin ya da yeni özelliği kurun. Ardından sitenin para kazandıran ve iletişim kuran yollarını tek tek deneyin: ürün sayfası, sepet, ödeme, üyelik, iletişim formu ve mobil görünüm. Bir sorun çıkarsa canlı site bundan etkilenmez; kopyayı silip baştan klonlayabilirsiniz.
5. Değişiklikleri Canlı Siteye Aktarın
- Test kopyasının kartında Veri Kopyala (Copy Data) seçeneğine tıklayın ve hedef olarak canlı siteyi seçin.
- Aktarılacak veriyi seçin: Yalnız dosyalar, Yalnız veritabanı ya da Dosyalar ve veritabanı. Veritabanında tüm tablolar yerine yeni tablolar ya da seçili tablolar seçeneği de vardır.
- Geri yükleme noktası oluştur kutusunu işaretli bırakın; bir sorun çıkarsa canlı siteyi aktarımdan önceki haline tek adımda döndürebilirsiniz.
- Aktarım sırasında canlı site kısa bir süre bakım moduna girer; bu yüzden işlemi trafiğin az olduğu bir saatte yapın.
Not: E-ticaret sitesinde veritabanını staging'den canlıya tüm tablolarıyla aktarmayın. Test kopyası oluşturulduktan sonra canlı sitede alınan siparişlerin, açılan üyeliklerin ve yazılan yorumların üzerine test kopyasındaki eski veriler yazılır. Tema ve eklenti değişikliklerinde yalnız dosyaları, yeni bir eklentinin oluşturduğu tablolarda ise yalnız yeni tabloları aktarın.
WordPress Dışındaki Siteler İçin
Laravel, özel PHP ya da başka bir e-ticaret yazılımı kullanıyorsanız Plesk'te staging ortamını üç adımda hazırlarsınız: Web Sitesini Kopyalama (Website Copying) ile dosyaları alt alan adına kopyalayın, Veritabanları bölümündeki Kopyala ile veritabanının tam kopyasını oluşturun ve yapılandırma dosyasında (ör. .env) bağlantıyı bu kopyaya çevirin. Kodunuzu Git ile yönetiyorsanız Developer Hosting paketlerinde staging dalını alt alan adına, ana dalı canlı siteye dağıtabilirsiniz; Plesk'te Git bağlantısının nasıl kurulduğunu Node.js yayınlama rehberimizde anlattık.
WordPress sitelerinde klonlama, veri kopyalama ve Smart Updates zuwinasa cloud WordPress Hosting paketlerinin tümünde bulunur. Smart Updates, eklenti ve tema güncellemelerini canlı siteye uygulamadan önce sitenin bir kopyasında dener; görünümde ya da kodda bozulma bulursa güncellemeyi canlıya almaz. Canlı sitenin her gün otomatik yedeğinin alınmasını istiyorsanız web sitesi yedekleme hizmetini ekleyebilirsiniz.