Staging (Test) Ortamı Nedir? Web Sitesi İçin Kurulum
Staging ortamı nedir, neden gerekir? Alt alan adında test sitesi, veritabanı kopyalama, parola koruması, arama motorlarından gizleme ve canlıya taşıma.

İçindekiler
Staging ortamı, canlı web sitenizin bir kopyasının çalıştığı ve değişikliklerin canlıya alınmadan önce denendiği test ortamıdır. Eklenti ve tema güncellemelerini, yeni PHP sürümlerini, tasarım değişikliklerini ve yeni özellikleri önce staging'de denersiniz; her şey çalışıyorsa canlı siteye taşırsınız. Böylece bir güncelleme siteyi bozduğunda bunu ziyaretçileriniz değil, yalnızca siz görürsünüz.
Bu rehberde staging ortamının neden gerektiğini, web hostingde ve kendi sunucunuzda nasıl kurulacağını, staging sitesini korumayı ve değişiklikleri canlıya güvenle taşımayı anlatıyoruz.
Neden staging ortamı kullanmalısınız?
- Güncellemeler siteyi bozabilir. Bir eklenti güncellemesi ya da yeni PHP sürümü beyaz ekrana ya da 500 hatasına yol açabilir. Staging'de önce denemek, canlı sitedeki kesintiyi önler.
- Tasarım ve içerik değişiklikleri. Yeni bir temayı ya da sayfa düzenini ziyaretçiler görmeden hazırlayabilirsiniz.
- Ekip çalışması. Müşterinize ya da ekibinize değişiklikleri canlıya almadan gösterebilirsiniz.
- Hata ayıklama. Canlı sitede tekrarlamak riskli olan sorunları güvenle inceleyebilirsiniz.
Staging kurmanın yolları
| Yöntem | Uygun olduğu durum |
|---|---|
| Aynı hostingde alt alan adı | Çoğu WordPress ve PHP sitesi |
| Staging eklentisi | Küçük WordPress siteleri, hızlı kopya |
| Kendi sunucunuzda ayrı site | Özel uygulamalar, Laravel ve Node.js projeleri |
| Ayrı sunucu | Canlıyı hiç etkilememesi gereken yoğun testler |
Web hostingde staging kurma
- Alt alan adı oluşturun. Kontrol panelinizde
staging.alanadiniz.comgibi bir alt alan adı açın; panel, dosyalar için ayrı bir klasör hazırlar. Adımlar Alt alan adı nedir? yazımızda. - Dosyaları kopyalayın. Canlı sitenin dosyalarını dosya yöneticisiyle sıkıştırıp staging klasörüne kopyalayın ve orada açın.
- Ayrı bir veritabanı oluşturun. Canlı veritabanını phpMyAdmin'den dışa aktarın, yeni bir veritabanı ve kullanıcı oluşturup içe aktarın. Staging sitesinin canlı veritabanına asla bağlanmaması gerekir.
- Yapılandırmayı güncelleyin. Staging kopyasının yapılandırma dosyasında (WordPress'te
wp-config.php) yeni veritabanı bilgilerini yazın. - Site adresini değiştirin. WordPress, site adresini veritabanında saklar. Staging veritabanındaki adresleri
staging.alanadiniz.comolarak güncelleyin; bunun için bir arama-değiştirme eklentisi ya da WP-CLI ilewp search-replacekullanın. Veritabanında doğrudan bul-değiştir yapmayın; serileştirilmiş veriler bozulabilir.
Bu adımlar bir siteyi taşımakla neredeyse aynıdır; ayrıntılar Web sitesi taşıma rehberimizde.
Kendi sunucunuzda staging
Kendi sunucunuzda staging, ayrı bir site olarak kurulur:
- Staging için ayrı bir klasör, ayrı bir veritabanı ve ayrı bir
.envdosyası kullanın (APP_ENV=staging). - Nginx'te staging alt alan adı için ayrı bir server block oluşturun.
- Git kullanıyorsanız staging sunucusunu ayrı bir daldan (örneğin
developya dastaging) besleyin; ana dala alınan değişiklikler canlıya, staging dalı staging'e yayınlansın. Otomatik yayın düzenini Git ile deploy rehberimizde anlattık.
Staging sitesini koruyun
Staging sitesi herkese açık olmamalıdır:
Parola koruması. Kontrol panelindeki dizin gizliliği (Directory Privacy) ya da benzeri bir özellikle staging klasörüne parola koyun. Nginx kullanıyorsanız:
location / {
auth_basic "Staging";
auth_basic_user_file /etc/nginx/.htpasswd-staging;
}
Parola dosyasını htpasswd aracıyla oluşturabilirsiniz (Ubuntu'da apache2-utils paketi).
Arama motorlarından gizleme. Staging sitesinin Google'da görünmesi, kopya içerik sorunlarına yol açabilir. Parola koruması bunu büyük ölçüde engeller; ek olarak bütün sayfalara bir noindex başlığı ekleyin:
add_header X-Robots-Tag "noindex, nofollow" always;
WordPress'te Ayarlar → Okuma sayfasındaki arama motorlarını engelleme seçeneğini de işaretleyebilirsiniz. Bu ayarı canlıya taşımamaya dikkat edin.
E-posta ve ödemeleri kapatın
Staging kopyası, canlı sitenizin kullanıcı ve müşteri listesini içerir. Önlem almazsanız:
- Staging'deki bir test, gerçek müşterilere sipariş ya da bülten e-postası gönderebilir.
- Zamanlanmış görevler, canlı sitedekiyle aynı işleri ikinci kez çalıştırabilir.
Bunu önlemek için staging'de e-posta gönderimini kapatın ya da bütün e-postaları bir test adresine yönlendirin; ödeme altyapılarını test (sandbox) moduna alın ve canlı API anahtarlarını staging'den kaldırın. Mümkünse kişisel verileri staging kopyasında anonimleştirin.
Değişiklikleri canlıya taşımak
- Önce canlı sitenin yedeğini alın.
- Kod ve ayarları taşıyın. Tema, eklenti ve kod değişikliklerini Git ya da dosya aktarımıyla canlıya alın.
- Veritabanına dikkat edin. Staging veritabanını olduğu gibi canlıya yüklemek, staging kopyasından sonra canlıda oluşan siparişleri, yorumları ve kullanıcıları siler. Çoğu durumda yalnızca kod ve ayarlar taşınır; içerik değişikliklerini canlıda yaparsınız ya da veritabanı değişikliklerini migration'larla uygularsınız.
- Canlıda kontrol edin. Önemli sayfaları, formları ve ödeme adımlarını tekrar deneyin.
- Staging'i düzenli tazeleyin. Staging kopyası zamanla canlıdan uzaklaşır; büyük değişikliklerden önce canlıdan yeni bir kopya alın.
Yedekleme alışkanlıklarını Sunucu yedekleme rehberimizde anlattık.
Nodesty ile staging
Nodesty web hosting paketlerinde cPanel ya da DirectAdmin üzerinden bir alt alan adı ve ayrı bir veritabanı oluşturarak staging sitenizi aynı hesapta kurabilirsiniz; oluşturabileceğiniz alt alan adı ve veritabanı sayısı paket limitlerine bağlıdır ve her alt alan adı için ücretsiz SSL kullanılabilir. JetBackup ile canlı sitenizin yedeğine kontrol panelinden ulaşırsınız. Uygulamanız için ayrı bir staging sunucusu kurmak isterseniz AMD Ryzen 9 9950X VDS paketlerimiz tam root erişimi sunar.
Sıkça Sorulan Sorular
Staging ortamı için ayrı hosting gerekir mi?
Genellikle hayır. Aynı hosting hesabında bir alt alan adı ve ayrı bir veritabanıyla staging sitesi kurabilirsiniz. Yoğun testler yapıyorsanız ya da canlı siteyi hiç etkilememesi gereken ağır işler çalıştırıyorsanız ayrı bir hesap ya da sunucu daha güvenlidir.
Staging sitesi Google'da görünür mü?
Önlem almazsanız görünebilir ve canlı sitenizle aynı içeriği taşıdığı için kopya içerik olarak değerlendirilebilir. Staging sitesini parolayla koruyun ve arama motorlarının dizine eklememesi için noindex etiketi ya da X-Robots-Tag başlığı kullanın.
Staging'deki değişiklikleri canlı siteye nasıl taşırım?
Kod ve tema değişikliklerini Git ya da dosya aktarımıyla taşımak kolaydır. Veritabanını taşırken dikkatli olun; canlı sitede staging kopyasından sonra oluşan siparişler, yorumlar ve kullanıcılar, staging veritabanını canlıya yüklediğinizde kaybolur. Çoğu durumda yalnızca kod ve ayarlar taşınır, içerik canlıda kalır.
Staging sitesi canlı müşterilere e-posta gönderebilir mi?
Evet, önlem almazsanız gönderebilir; staging kopyası canlı sitenin kullanıcı ve müşteri listesini içerir. Staging'de e-posta gönderimini kapatın ya da bütün e-postaları test adresine yönlendiren bir ayar kullanın.
WordPress için staging eklentisi kullanabilir miyim?
Evet. Bazı eklentiler siteyi tek tıkla aynı hesapta bir alt klasöre ya da alt alan adına kopyalar. Büyük sitelerde ve özel yapılandırmalarda elle kurulan bir staging ortamı daha güvenilir sonuç verir.
Staging ile geliştirme ortamı arasındaki fark nedir?
Geliştirme ortamı genellikle geliştiricinin kendi bilgisayarındaki ortamdır ve değişikliklerin yapıldığı yerdir. Staging ise canlı sunucuya mümkün olduğunca benzeyen, değişikliklerin canlıya alınmadan önce son kez denendiği ortamdır.
Yazar hakkında
Nodesty Ekibi · Altyapı ve Destek
Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.
İlgili yazılar

Alt Alan Adı (Subdomain) Nedir? Nasıl Oluşturulur?
Alt alan adı (subdomain) nedir, nasıl oluşturulur? DNS kaydıyla subdomain, cPanel ve DirectAdmin'de oluşturma, oyun sunucusuna yönlendirme ve SSL.

Bant Genişliği ve Trafik Nedir? İhtiyacınızı Hesaplayın
Bant genişliği ve trafik nedir, farkı ne? Mbps ile MB/s farkı, port hızı, sınırsız trafiğin anlamı, web sitesi ve oyun sunucusu için hesap, trafik izleme.

PHP Sürümü Nasıl Değiştirilir? php.ini Ayarları
PHP sürümü nasıl değiştirilir? cPanel ve DirectAdmin'de sürüm seçimi, güvenli yükseltme, memory_limit ve upload_max_filesize gibi php.ini ayarları.