WordPress

    WordPress Staging Ortami Nasil Kurulur ve Canliya Aktarilir

    Guvenli test icin WordPress staging kopyasi olusturma yontemleri

    12 dk okuma Güncellendi: 10 Temmuz 2026

    Canlı bir WordPress sitesinde doğrudan değişiklik yapmak, gözü kapalı ameliyat yapmaya benzer. Bir eklenti güncellemesi, tema değişikliği ya da yeni bir kod parçası çoğu zaman sorunsuz geçer; ama o "çoğu zaman"ın dışına düştüğünüz gün beyaz ekranla, kırılan bir ödeme formuyla veya kaybolan bir menüyle karşılaşırsınız. Ziyaretçiler siteyi bozuk görürken siz de panik içinde neyin ters gittiğini anlamaya çalışırsınız. İşte staging ortamı tam olarak bu senaryoyu önlemek için vardır.

    Staging (Türkçesiyle "hazırlık" veya "sahne arkası" ortamı), canlı sitenizin birebir bir kopyasıdır ve ziyaretçilere kapalı, izole bir alanda çalışır. Riskli her işlemi önce burada dener, sonucu gözlerinizle görür, her şey yolundaysa değişiklikleri tek tuşla canlıya aktarırsınız. Bu yazıda staging kavramını, hosting panelindeki hazır araçları, WP Staging eklentisini ve manuel subdomain kopyası yöntemini adım adım anlatacağım; ardından test ettiğiniz değişiklikleri canlıya "push" ederken nelere dikkat etmeniz gerektiğini kıdemli bir sistem yöneticisi gözüyle özetleyeceğim.

    Staging Ortamı Nedir ve Neden Gereklidir#

    Staging ortamı, üretimdeki (production) siteyle aynı WordPress sürümüne, aynı temaya, aynı eklentilere ve aynı veritabanı içeriğine sahip; ancak ayrı bir dizinde ya da alt alan adında (subdomain) barınan bir kopyadır. Amacı basittir: gerçek ziyaretçileri ve gerçek veriyi etkilemeden değişiklik denemek. Yazılım dünyasında bu ayrım standarttır. Hiçbir ciddi ekip kodu doğrudan canlıya yazmaz; önce bir test aşamasından geçirir.

    WordPress özelinde staging'i vazgeçilmez kılan birkaç somut sebep var. Birincisi, eklenti çakışmaları. WordPress ekosisteminde binlerce eklenti var ve ikisinin aynı anda çalıştığında çakışacağını çoğu zaman ancak denerken anlarsınız. İkincisi, büyük sürüm güncellemeleri. WooCommerce'in ana sürüm atlaması veya bir sayfa oluşturucunun (page builder) major güncellemesi, düzeninizi bozabilir. Üçüncüsü, tema geliştirme. Renk, tipografi, functions.php düzenlemeleri gibi işlemleri canlıda yapmak, en ufak bir sözdizimi hatasında sitenin tamamını düşürür.

    Aşağıdaki tablo, canlıda test etmenin ve staging kullanmanın pratik farkını özetliyor:

    SenaryoDoğrudan CanlıdaStaging ile
    Eklenti güncellemesi çöktüSite ziyaretçiye kapalıKimse fark etmez, geri alınır
    Tema kodunda hataBeyaz ekran (WSOD)Sadece siz görürsünüz
    Geri dönüş süresiDakikalar/saatlerAnında
    Müşteri güveniZarar görürEtkilenmez
    SEO etkisiGoogle hatayı görebilirSıfır risk

    Hangi Değişiklikleri Staging'de Test Etmelisiniz#

    Her küçük yazı düzeltmesi için staging kurmak gereksiz; ama belirli bir eşiği geçen her müdahale mutlaka önce test ortamından geçmelidir. Genel kural şudur: eğer bir işlem geri alınması zor bir soruna yol açabiliyorsa, staging'e taşıyın.

    Aşağıdaki işlemler staging'in olmazsa olmaz olduğu tipik durumlardır:

    • WordPress çekirdek (core) major sürüm güncellemeleri
    • WooCommerce, Elementor, Yoast gibi kritik eklentilerin ana sürüm atlamaları
    • Tema değişikliği veya functions.php / child theme düzenlemeleri
    • PHP sürümü yükseltmesi öncesi uyumluluk testi
    • Yeni bir ödeme veya kargo entegrasyonu ekleme
    • Veritabanına dokunan toplu işlemler (arama-değiştir, taksonomi temizliği)
    • Performans optimizasyonu (önbellek eklentisi, resim sıkıştırma, kod küçültme) ayarları

    Buna karşılık, bir blog yazısı yayımlamak veya bir görseli değiştirmek gibi içerik işlemleri için staging'e gerek yoktur. Nitekim staging'de yaptığınız içerik değişiklikleri, canlıya push ederken çoğu zaman canlıdaki yeni içeriğin üzerine yazma riski taşır. Bu ince noktaya birazdan değineceğim.

    Yöntem 1 - Hosting Panelindeki Staging Aracı#

    En pratik yöntem, hosting sağlayıcınızın panelinde hazır gelen "Staging" veya "WordPress Toolkit" aracını kullanmaktır. cPanel'de WordPress Toolkit, Plesk'te WordPress Toolkit, DirectAdmin'de ise benzeri araçlar tek tıkla staging kopyası oluşturur. Bu yöntemin en büyük avantajı, veritabanının, dosyaların ve URL değişikliğinin otomatik yapılmasıdır; elle SQL çalıştırmanıza gerek kalmaz.

    cPanel'in WordPress Toolkit'inde tipik akış şöyledir: sitenizi listeden seçer, "Clone" (Klonla) düğmesine basar, hedef olarak staging.siteadi.com gibi bir alt alan adı belirler ve işlemi başlatırsınız. Araç arka planda dosyaları kopyalar, yeni bir veritabanı oluşturur ve wp_options tablosundaki siteurl ile home değerlerini yeni adrese göre günceller. Birkaç dakika içinde çalışan bir kopyanız olur.

    Bu tür araçların sunduğu en değerli özellik, "push to live" (canlıya aktar) düğmesidir. Staging'de işiniz bittiğinde aracın karşılaştırma ekranı, dosya ve veritabanı farklarını gösterir; hangilerinin aktarılacağını seçer ve onaylarsınız. Panel, işlemden hemen önce otomatik yedek de aldığı için bir aksilikte geri dönüş kolaydır.

    Eğer paylaşımlı hostinginizde bu araç yoksa veya kısıtlıysa, sağlayıcınızın sunduğu paket bunu destekliyor mu diye kontrol edin. Clou.TR'nin WordPress hosting paketleri ve genel web hosting çözümleri, panel üzerinden staging kurabileceğiniz altyapıyı içerir. Panelde staging aracını bulamıyorsanız, aşağıdaki iki manuel yöntem her koşulda çalışır.

    Yöntem 2 - WP Staging Eklentisi ile Kopya Oluşturma#

    WordPress panelinden çıkmadan staging kurmak isteyenler için en popüler çözüm "WP Staging" eklentisidir. Ücretsiz sürümü, sitenizin alt dizinine (siteadi.com/staging gibi) tam bir kopya oluşturur; Pro sürümü ise ayrı subdomain'e klonlama ve canlıya push desteği sunar. Sunucuya SSH ile bağlanmadan, tamamen arayüzden ilerlemek isteyenler için idealdir.

    Kurulum ve klonlama adımları şöyle işler. Önce eklentiyi WordPress panelindeki Eklentiler menüsünden arayıp kurar ve etkinleştirirsiniz. Ardından "WP Staging" menüsüne girip "Create Staging Site" düğmesine basarsınız. Eklenti size hangi tabloların ve dosyaların kopyalanacağını gösterir; varsayılan seçimlerle devam edip klon adını yazar ve işlemi başlatırsınız. Eklenti veritabanını wpstg0_ gibi bir önekle çoğaltır, dosyaları kopyalar ve klonu arama motorlarından noindex ile gizler.

    WP Staging'in en sevdiğim yanı, klona giriş yapıldığında üstte turuncu bir uyarı çubuğu göstermesidir; böylece yanlışlıkla canlı yerine staging'de çalışıp içeriğinizi kaybetme riskiniz azalır. Klonda test bittikten sonra Pro sürümdeyseniz "Push" sekmesinden değişiklikleri canlıya aktarabilirsiniz. Ücretsiz sürümde push olmadığı için, staging'de doğruladığınız güncellemeleri canlıda elle tekrar uygularsınız; bu bile büyük bir güvenlik sağlar çünkü artık güncellemenin sorun çıkarmayacağını biliyorsunuzdur.

    Klonlama sırasında yeterli disk alanı olduğundan emin olun; WP Staging tüm siteyi kopyaladığı için geçici olarak iki kat alan gerekir. Disk doluluğunu SSH erişiminiz varsa hızlıca kontrol edebilirsiniz:

    # WordPress kok dizinindeki toplam boyut
    du -sh /home/kullanici/public_html
    
    # Sunucudaki bos disk alani
    df -h /home
    

    Kopyalanan sitenin veritabanı boyutu büyükse (örneğin WooCommerce mağazalarında yaygındır), klonlama işlemi uzun sürebilir; bu sırada tarayıcı sekmesini kapatmayın.

    Yöntem 3 - Manuel Subdomain Kopyası#

    Tam kontrol isteyenler ve büyük siteleri yönetenler için en sağlam yöntem, staging'i elle bir subdomain üzerinde kurmaktır. Bu yol biraz daha teknik bilgi ister ama her sağlayıcıda, her senaryoda çalışır ve süreçte tam olarak ne olduğunu görürsünüz. Mantığı, web sitesi taşıma işlemine çok benzer: dosyaları kopyala, veritabanını aktar, URL'leri güncelle.

    İlk adım, hosting panelinden bir subdomain oluşturmaktır. Örneğin staging.siteadi.com adresini public_html/staging dizinine yönlendirin. DNS tarafında subdomain için basit bir A veya CNAME kaydı yeterlidir:

    staging.siteadi.com.   3600   IN   A   203.0.113.10
    

    Ardından SSH ile sunucuya bağlanıp canlı dosyaları staging dizinine kopyalayın ve veritabanının bir yedeğini alın:

    # Dosyalari staging dizinine kopyala
    cp -a /home/kullanici/public_html/. /home/kullanici/public_html/staging/
    
    # Canli veritabaninin yedegini al
    mysqldump -u db_user -p canli_veritabani > /home/kullanici/staging_dump.sql
    

    Şimdi staging için yeni ve boş bir veritabanı oluşturun, ardından yedeği bu yeni veritabanına yükleyin:

    # Yedegi yeni staging veritabanina yukle
    mysql -u db_user -p staging_veritabani < /home/kullanici/staging_dump.sql
    

    Kopyalanan wp-config.php dosyasını staging veritabanını gösterecek şekilde düzenleyin. Yeni veritabanı adını ve kullanıcıyı burada tanımlarsınız:

    define( 'DB_NAME', 'staging_veritabani' );
    define( 'DB_USER', 'db_user' );
    define( 'DB_PASSWORD', 'guclu_parola' );
    define( 'DB_HOST', 'localhost' );
    

    Son kritik adım, veritabanındaki tüm eski URL'leri yeni staging adresiyle değiştirmektir. Bunu elle SQL ile yapabilirsiniz, ancak seri hale getirilmiş (serialized) veriyi bozmamak için WP-CLI'nin search-replace komutunu tercih edin çünkü o, serialize edilmiş dizileri güvenle günceller:

    # En guvenli yontem - serialize veriyi korur
    wp search-replace 'https://siteadi.com' 'https://staging.siteadi.com' --all-tables --skip-columns=guid
    

    WP-CLI erişiminiz yoksa temel wp_options değerlerini elle güncelleyebilirsiniz, ancak bu yalnızca siteurl ve home için güvenlidir; içerik içindeki gömülü linkleri kapsamaz:

    UPDATE wp_options SET option_value = 'https://staging.siteadi.com'
      WHERE option_name IN ('siteurl', 'home');
    

    Manuel yöntemde son olarak staging'in arama motorlarına indekslenmesini engellemek şarttır; aksi halde Google, aynı içeriğin iki kopyasını görüp yinelenen içerik (duplicate content) sorunu yaşar. WordPress panelinde Ayarlar > Okuma menüsünden "Arama motorlarının siteyi indekslemesini engelle" seçeneğini işaretleyin. Nginx kullanıyorsanız staging vhost'una parola koruması veya IP kısıtı eklemek en temiz çözümdür:

    # staging.siteadi.com icin temel koruma
    location / {
        auth_basic "Staging - Yetkili Erisim";
        auth_basic_user_file /etc/nginx/.htpasswd-staging;
        try_files $uri $uri/ /index.php?$args;
    }
    

    Bu tür manuel işlemler sunucu düzeyinde yetki gerektirir; bir VDS sunucu veya sanal sunucu üzerinde tam kontrolle çok daha rahat çalışırsınız. Yönetimi bize bırakmak isterseniz sunucu yönetimi hizmetimiz bu adımları sizin yerinize üstlenir.

    Test Edilen Değişiklikleri Canlıya Aktarma - Push#

    Staging'de her şeyi doğruladıktan sonra sıra en hassas adıma, değişiklikleri canlıya taşımaya gelir. Buradaki en büyük tehlike şudur: staging'i oluşturduğunuz andan itibaren canlı site "durmadı". Ziyaretçiler yeni yorumlar yazdı, müşteriler yeni sipariş verdi, belki siz yeni bir blog yazısı yayımladınız. Eğer push işlemi staging veritabanını canlının üzerine olduğu gibi yazarsa, bu yeni verilerin hepsi kaybolur.

    Bu yüzden push stratejisini değişikliğin türüne göre seçmelisiniz. İki temel senaryo vardır ve bunları karıştırmak felakete yol açar:

    Değişiklik TürüÖnerilen Push YöntemiNeden
    Sadece dosya (tema, eklenti, kod)Yalnızca dosyaları aktarCanlı veritabanına dokunma, sipariş/yorum kaybolmasın
    Yapısal veritabanı değişikliğiKontrollü tablo aktarımıSadece ilgili tablolar taşınır
    Tam yeniden kurulumBakım moduna al, tümünü aktarKısa kesinti kabul edilebilir

    En sık karşılaşılan durum birincisidir: bir eklentiyi veya temayı güncellediniz ve yalnızca dosyaların canlıya gitmesi gerekiyor. Bu durumda canlı veritabanına hiç dokunmadan sadece değişen dosyaları senkronize edin. rsync bunun için biçilmiş kaftandır:

    # Sadece degisen dosyalari canliya senkronize et - veritabanina dokunma
    rsync -avz --exclude='wp-config.php' --exclude='.htaccess' \
      /home/kullanici/public_html/staging/wp-content/ \
      /home/kullanici/public_html/wp-content/
    

    Push öncesinde mutlaka canlı sitenin tam yedeğini alın. Bu, pazarlık konusu olmayan bir adımdır. Otomatik ve düzenli yedekleri Clou.TR yedekleme hizmetiyle güvence altına alabilir, push öncesi ise manuel bir anlık yedek daha oluşturabilirsiniz. Ek olarak, aktarım birkaç saniyeden uzun sürecekse siteyi kısa süreliğine bakım moduna almak ziyaretçilerin yarım yüklenmiş bir sayfa görmesini önler.

    Push sonrası kontrol listesini atlamayın. Ana sayfayı, bir ürün/hizmet sayfasını, iletişim formunu ve varsa ödeme akışını gerçek bir kullanıcı gibi test edin. Kalıcı bağlantılar (permalink) bazen bozulabilir; Ayarlar > Kalıcı Bağlantılar menüsüne girip hiçbir şey değiştirmeden "Kaydet" demek çoğu zaman .htaccess kurallarını tazeler. Önbellek eklentiniz varsa tüm önbelleği temizleyin; aksi halde ziyaretçiler eski sayfaları görmeye devam eder.

    Staging Ortamında Dikkat Edilmesi Gerekenler#

    Staging güçlü bir güvenlik ağıdır, ama yanlış kurulursa yeni sorunlar doğurabilir. Yılların deneyimiyle en sık karşılaştığım tuzakları ve bunlardan kaçınma yollarını sıralayayım.

    • Ödeme geçitlerini test moduna alın. Staging'de WooCommerce ya da başka bir ödeme entegrasyonunu canlı API anahtarlarıyla bırakırsanız, test siparişleri gerçek para çekebilir. Ödeme eklentilerini mutlaka "sandbox" veya "test" moduna geçirin.
    • E-posta gönderimini durdurun. Kopyalanan sitede zamanlanmış e-postalar veya sipariş bildirimleri tetiklenirse müşterilere kafa karıştırıcı mesajlar gider. Staging'de bir "disable emails" eklentisi kurmak en temiz çözümdür.
    • İndekslemeyi kapatın. Yukarıda değindim ama tekrar vurgulamaya değer: staging'in Google'da çıkması hem SEO'nuza zarar verir hem de gizli çalışmanızı herkese açar. noindex ve parola koruması birlikte kullanılmalı.
    • Cron işlerini kısıtlayın. WordPress'in wp-cron mekanizması staging'de de çalışır; yedekleme veya senkronizasyon görevleri çift tetiklenebilir. Gerekmiyorsa staging'de cron'u devre dışı bırakın.
    • Staging'i güncel tutun ya da düzenli silin. Aylarca duran eski bir staging kopyası, canlıdan koptuğu için yanıltıcı test sonuçları verir. Testiniz bittiğinde ya kopyayı silin ya da her önemli işlem öncesi yeniden oluşturun.

    Bir de güvenlik boyutu var. Staging kopyası, canlı sitenizin tüm veritabanını, kullanıcı bilgilerini ve olası müşteri verilerini içerir. Yani onu korumak da en az canlı site kadar önemlidir. Erişimi IP veya parola ile sınırlayın, gerekiyorsa bir SSL sertifikası ile şifreleyin ve mümkünse bir WAF katmanının arkasına alın. Kişisel veri içeren staging ortamlarında KVKK yükümlülüklerinin de canlı sitedekiyle aynı şekilde geçerli olduğunu unutmayın.

    Sıkça Sorulan Sorular#

    Staging ortami SEO'ma zarar verir mi#

    Doğru kurulduğunda staging ortamının SEO'nuza hiçbir zararı olmaz. Tehlike yalnızca staging'in arama motorlarına açık kalmasından doğar; bu durumda Google aynı içeriğin iki kopyasını görüp yinelenen içerik algılayabilir. Bunu önlemek için Ayarlar > Okuma menüsünden indekslemeyi kapatın, ek olarak subdomain'e parola koruması veya IP kısıtı ekleyin. Bu iki önlemi aldığınızda staging tamamen görünmez kalır ve sıralamalarınız hiç etkilenmez.

    Ucretsiz WP Staging eklentisi canliya push yapabilir mi#

    Hayır, canlıya push özelliği yalnızca WP Staging'in Pro sürümünde bulunur. Ücretsiz sürüm mükemmel bir kopya oluşturur ve testlerinizi güvenle yapmanızı sağlar, ancak değişiklikleri geri aktaramaz. Bu bir eksiklik gibi görünse de pratikte ciddi bir güvenlik sağlar; çünkü staging'de doğruladığınız bir güncellemenin canlıda sorun çıkarmayacağını bilerek işlemi elle tekrar edersiniz. Otomatik push isteyenler için Pro sürüm ya da hosting panelindeki yerleşik staging aracı daha uygundur.

    Paylasimli hostingde staging kurabilir miyim#

    Evet, paylaşımlı hostingde de staging kurmak mümkündür. Sağlayıcınızın panelinde WordPress Toolkit gibi bir araç varsa tek tıkla klonlayabilir, yoksa WP Staging eklentisiyle alt dizine kopya oluşturabilirsiniz. Manuel subdomain yöntemi de çoğu paylaşımlı pakette çalışır, ancak SSH ve yeterli disk alanı gerektirir. Yalnızca çok büyük WooCommerce mağazalarında kaynak sınırlarına takılabilirsiniz; böyle durumlarda daha rahat çalışmak için bir sanal sunucuya geçmek daha mantıklıdır.

    Staging ile canliyi yanlislikla karistirmamak icin ne yapmaliyim#

    Bu, staging kullananların en sık yaşadığı kazadır ve birkaç basit önlemle tamamen engellenebilir. WP Staging gibi eklentiler klona giriş yaptığınızda üstte belirgin bir uyarı çubuğu gösterir; bu görsel işaret hangi ortamda olduğunuzu net biçimde belli eder. Ayrıca staging'in yönetici panelinde farklı bir renk şeması kullanan "Admin Color Schemes" ayarını değiştirmek de yardımcı olur. En güvenlisi ise staging adresini her zaman staging. önekiyle açmak ve tarayıcı sekmesini ayrı tutmaktır.

    Degisiklikleri canliya aktarirken verilerimi nasil kaybetmem#

    Veri kaybının tek nedeni, staging veritabanının canlının üzerine olduğu gibi yazılmasıdır. Staging'i oluşturduğunuz andan sonra canlıya gelen yeni siparişler, yorumlar ve içerikler bu şekilde silinir. Bunu önlemek için değişiklik yalnızca dosyaysa (tema, eklenti, kod) push işleminde veritabanına hiç dokunmayın; sadece wp-content dizinini rsync ile senkronize edin. Veritabanı değişikliği zorunluysa yalnızca ilgili tabloları aktarın ve her push öncesi mutlaka canlının tam yedeğini alın.

    Kapanış#

    Staging ortamı, WordPress yönetiminde amatörlükle profesyonelliği ayıran çizgidir. Bir güncellemeyi doğrudan canlıda deneyip sitenizi riske atmak yerine, riski önce izole bir kopyada karşılar, sonucu gözlerinizle görür ve ancak emin olduğunuzda canlıya aktarırsınız. İster hosting panelindeki tek tıkla klonlama aracını, ister WP Staging eklentisini, ister manuel subdomain yöntemini seçin; temel prensip aynıdır: önce test et, sonra yayınla.

    Bu düzeni kurmanın ilk şartı, staging'i rahatça çalıştırabileceğiniz sağlam bir altyapıdır. WordPress'e yeni başlıyorsanız WordPress kurulumu rehberimizle temeli atabilir, ardından güvenli test ortamınızı oluşturabilirsiniz. Performanslı ve staging dostu bir barındırma için Clou.TR'nin WordPress hosting paketlerine göz atın; daha fazla kaynak ve tam kontrol isteyenler için VDS sunucu çözümlerimiz idealdir. Kurulumu, yedeklemeyi ve güncellemeleri bize bırakmak isterseniz WordPress bakım hizmetimiz sitenizi 7/24 güvende tutar. Doğru araçlarla, bir daha hiçbir güncellemeden korkmanıza gerek kalmayacak.

    wordpressstagingtest

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.