İçeriğe geç

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:

  1. Dosya kopyası: Sitenin kodu, teması, eklentileri ve görselleri.
  2. 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.
  3. Ayrı adres: Genellikle staging.alanadiniz.com gibi bir alt alan adı.
  4. 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.php ya da .env dosyası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-replace komutudur (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.

Sıkça Sorulan Sorular

Staging ortamı canlı siteyi yavaşlatır mı?

Hayır. Test kopyası aynı hosting hesabında çalışır ama onu yalnız siz ziyaret ettiğiniz için oluşturduğu yük düşüktür. Klonlama ve veri aktarma sırasında kısa süreli disk ve işlemci kullanımı olur; büyük sitelerde bu işlemleri trafiğin az olduğu saatlere bırakmak yeterlidir.

Staging için ayrı bir alan adı ya da hosting paketi gerekir mi?

Hayır. Test kopyası mevcut alan adınızın altında, staging.alanadiniz.com gibi bir alt alan adında ve aynı hosting paketinde çalışır. Kopya, paketinizin disk alanından sitenizin boyutu kadar yer kaplar; test bittiğinde silmek alanı geri kazandırır.

Canlıya aktardığım değişiklik sorun çıkarırsa ne yaparım?

WP Toolkit ile aktarım yaptıysanız, aktarımdan önce oluşturulan geri yükleme noktasıyla canlı siteyi önceki haline döndürebilirsiniz. Her WordPress kurulumu için tek bir geri yükleme noktası tutulur ve yeni bir aktarım öncekinin üzerine yazar. Daha eski bir duruma dönmeniz gerekirse Plesk'teki Yedekleme Yöneticisi'nden yedeği geri yükleyin.

Staging ile yedek arasındaki fark nedir?

Yedek, sitenin geçmişteki bir anının saklanan kopyasıdır ve bir sorun çıktığında geri dönmek için kullanılır. Staging ise çalışan bir kopyadır; değişikliği canlıya almadan önce denemenizi sağlar. Güvenli bir güncelleme için ikisi birlikte kullanılır: önce yedek, sonra staging'de test.

Projenizi yayına almaya hazır mısınız?

Plesk Obsidian, AMD EPYC işlemciler ve ücretsiz taşıma desteğiyle uygulamanızı dakikalar içinde canlıya alın.