Test Alt Alan Adı Oluşturma ve İndekslenmeyi Önleme Rehberi

Test alt alan adı oluşturun, indekslenmeyi önleyin ve değişiklikleri ana siteyle senkron tutun; site yöneticileri için pratik bir rehber.

7 dk Güncellendi 11 Oct 2026

Ana siteniz ayakta, müşteriler alışveriş yapıyor ve yeni bir eklentiyi doğrudan aynı production sürümünde test etme riskini göze alamazsınız. Bu yüzden bir alt alan adı oluşturursunuz: test.example.com. Yarım saat sonra Google'ın aynı test sayfasını indekslediğini, test sitesinin iletişim formunun gerçek e-posta gönderdiğini ve test sürümündeki dahili bağlantıların ana alan adına işaret ettiğini fark edersiniz. Bu makale tam olarak bu üç dertle ilgilidir.

Test alt alan adı nerede oluşturulur: DNS mi hosting paneli mi

İlk karar, DNS kaydını kendinizin mi oluşturacağı yoksa hosting panelinin bunu yapmasına izin mi vereceğinizdir. Alan adı, hostingin bulunduğu sunucudaysa panel genellikle otomatik bir A kaydı ekler ve iş tamamdır. DNS'i başka bir yerde yönetiyorsanız manuel olarak eklemeniz gerekir:

test.example.com.    3600    IN    A    203.0.113.45
www.test.example.com. 3600   IN    CNAME    test.example.com.

3600 sayısı TTL'dir, yani bir saat. Test alt alan adı için bu sayıyı düşürün; 300 beş dakika demektir. Nedeni basit: Daha sonra IP'yi değiştirdiğinizde veya alt alan adını sildiğinizde, dünya çapındaki DNS önbelleğinin temizlenmesi için bir saat beklemek istemezsiniz. Kaydın doğru yayınlanıp yayınlanmadığından emin değilseniz, DNS ve ağ sorgulaması kullanın ve dönen değeri panelde yazdığınızla karşılaştırın.

Çoğu kişiyi yere seren nokta: Alt alan adı DNS'te oluşturulur, ancak web sunucusunun da bu alan adını sunması gerektiğini bilmesi gerekir. Sadece A kaydı oluşturup hosting panelinde alan adını eklemezseniz, tarayıcı sunucunun varsayılan sayfasını veya 404 hatası alır. Doğru sıra şudur: Önce alan adını panele ekleyin, sonra DNS kaydını ayarlayın.

Test alt alan adının indekslenmesini önleme

Bu en önemli bölümdür ve en büyük hata da tam burada yapılır. İndekslenen bir test alt alan adı, yinelenen içerik üretebilir ve en kötü durumda test sürümünü sonuçlarda ana sürümün yerine gösterebilir. Üç koruma katmanı vardır ve ben üçünü aynı anda koyarım.

Birinci katman: X-Robots-Tag başlığı

Bu başlık, web sunucusunun verdiği her yanıta eklenir; meta etiketi koymanın yolu olmayan PDF ve görseller dahil. Alt alan adının kök dizinindeki .htaccess dosyasında:

Header set X-Robots-Tag "noindex, nofollow, noarchive"

mod_headers modülü etkin değilse bu satır sessizce yok sayılır. Test edin: curl -I https://test.example.com ve başlığın çıktıda olup olmadığına bakın. Yokluğunu çıplak gözle göremezsiniz, sadece Google görür.

İkinci katman: robots.txt

User-agent: *
Disallow: /

Bu dosya taramayı engeller, ancak indekslenmeyi engellemez. Bir yerde test sayfasına bağlantı verilmişse, Google tarama yapmadan da onu indeksleyebilir. Bu nedenle robots.txt tek başına yeterli değildir ve noindex başlığıyla birleştirilmelidir. Komutların tam listesini görmek istiyorsanız, Linux hosting için eksiksiz htaccess komutları referansı tüm seçenekleri örneklerle açıklamıştır.

Üçüncü katman: HTTP kimlik doğrulama

Hiçbir botun giriş sayfasına bile ulaşmasını istemiyorsanız, tüm alt alan adını şifre arkasına koyun:

AuthType Basic
AuthName "Staging"
AuthUserFile /home/user/.htpasswd
Require valid-user

Bedeli, sizin de her seferinde şifre girmeniz ve PageSpeed Insights gibi araçların artık sayfayı analiz edememesidir. Hızlı testler için bu can sıkıcıdır. Ben genellikle birinci ve ikinci katmanı her zaman koyarım ve üçüncü katmanı yalnızca gerçek bir müşteri test sürümü üzerinde çalıştığında etkinleştiririm.

Burada hata yapıyorlar: Çoğu kişi robots.txt dosyasını alt alan adına koyar ama WordPress'in varsayılan olarak sanal bir robots.txt dosyası ürettiğini ve fiziksel dosyayı yok saydığını unutur. Sonuç şudur: Dosya diskte vardır, tarayıcıda da açılır, ancak Google başka bir şey görür. Çözüm: Okuma ayarlarında indekslenmeyi önleme seçeneğini WordPress'in kendi içinden etkinleştirin veya fiziksel dosyayı ilgili filtreyle değiştirin.

Test alt alan adını ana siteyle senkronize etme

Alt alan adı oluşturulduktan ve Google'ın gözünden gizlendikten sonra, sonraki soru şudur: Production içeriğini hiçbir şeyi bozmadan teste nasıl getiririz?

Veritabanı

Ayrı bir veritabanı oluşturun, ana veritabanına bağlanmayın. Test sürümünün wp-config.php dosyası production veritabanına işaret ederse, ilk eklenti testi gerçek tabloları değiştirebilir. Veritabanı ve kullanıcı oluşturmak için, veritabanı oluşturma ve siteye bağlama adımları adım adım anlatmıştır.

Aktarım için dump alın ve içe aktarın. Veritabanı boyutu birkaç yüz megabaytın üzerindeyse, phpMyAdmin'den basit içe aktarma genellikle timeout hatası verir. Doğru yöntemi timeout ve hata olmadan büyük SQL içe aktarma bölümünde açıkladık.

İçe aktardıktan sonra adresleri değiştirin. Basit bir sed yeterlidir:

sed -i 's|https://example.com|https://test.example.com|g' dump.sql

Bunu yapmazsanız, test sürümünüz her yerde ana alan adına bağlantı verir ve her kullanıcı tıklamasını test ortamından dışarı çıkarır. Bunu pratikte çok gördüm: Site yöneticisi test eder, düğmeye tıklar ve habersizce ana siteye iner.

Dosyalar ve izinler

Dosyaları cp -r ile değil rsync ile kopyalayın. Nedeni, rsync'in yalnızca farkları aktarmasıdır ve testi ikinci kez güncellemek istediğinizde birkaç dakika değil birkaç saniye sürer:

rsync -avz --exclude='wp-content/cache' /var/www/main/ /var/www/test/

Dosya izinlerini manuel olarak değiştirmeyin. chmod 777 çözüm değil, yeni bir güvenlik sorunudur. Doğru değerleri chmod değerleri: her rakamın anlamı ve her dosya için doğru değer bölümünde görün ve hangi dosyanın hangi seviyeye ihtiyacı olduğundan emin değilseniz, Linux hosting'de dosya erişim düzeyi yazısını okuyun.

Zamanlanmış görevler ve e-posta

Bu iki maddeyi herkes unutur. Ana sitenin cron'u alt alan adına da kopyalanmışsa, bir betiğin iki sürümü aynı anda çalışır ve bir kaydı iki kez kaydedebilir. Alt alan adının cron'larını devre dışı bırakın veya zamanlamalarını çakışmayacak saatlere taşıyın. Alanların doğru sözdizimini cron sözdizimi: beş alanın eksiksiz referansı bölümünde bulabilirsiniz.

E-posta da aynı şekilde. Test alt alan adındaki WordPress gerçek işlemsel e-postalar gönderir. Bir SMTP eklentisi kurun ve tüm e-postaları yerel bir gelen kutusuna yönlendirin. Aksi halde müşteriler yinelenen sipariş onay e-postaları alır ve siz açıklama yapmak zorunda kalırsınız.

Hangi yöntemi seçmeliyim?

YöntemUygun olduğu durumBedeli
Aynı hosting'de alt alan adıEklenti testi, tema değişikliği, içerik incelemesiSunucu kaynaklarını ana siteyle paylaşır
Ayrı hostingAltyapı değişikliklerini test etme, PHP sürümü geçişiEk aylık maliyet, veri aktarımı gereksinimi
Yerel ortam (Local)Kod geliştirme, tek kişinin çalışmasıGerçek veri ve trafikten farklıdır

Çoğu proje için tercihim birinci seçenektir. Hızlıdır, ek maliyeti yoktur ve testlerin %90'ı için yeterlidir. Ancak PHP sürümünü yükseltmek veya sunucu davranışını gerçek yük altında ölçmek istiyorsanız, aynı hosting'deki alt alan adı işe yaramaz çünkü her iki sürüm de ortak bir kaynak havuzuna sahiptir ve testiniz gerçek sonucu vermez. Bu durumda bir özel sunucu veya ayrı bir ortam edinin.

Daha az söylenen bir başka sınırlama daha var: Ana sitenin trafiği yüksekse, aynı hosting'deki test alt alan adı yoğun saatlerde ana sitenin TTFB'sini yükseltebilir. Alt alan adını oluşturduktan sonra ana sitenin yavaşladığını görürseniz, muhtemelen nedeni budur.

Sık sorulan sorular

Test alt alan adı Google aramasını etkiler mi?

noindex başlığını ve robots.txt'yi doğru ayarlarsanız hayır. Sorun, yalnızca bu ikisinden birini koyduğunuzda veya fiziksel robots.txt dosyası WordPress tarafından yok sayıldığında ortaya çıkar. Kurulumdan sonra Google'da site:test.example.com araması yaparak hiçbir sayfanın indekslenmediğini kontrol edin.

DNS kaydını oluşturduktan sonra alt alan adım neden açılmıyor?

Çoğu durumda alan adı hosting paneline eklenmediği içindir. DNS kaydı yalnızca trafiği sunucunun IP'sine ulaştırır; hangi klasörün o alan adı için sunulacağını bilmesi gereken web sunucusudur. Doğru sıra: Önce panelde alan adı, sonra DNS kaydı. Her ikisi de doğruysa, DNS sorgulama aracı ile kaydın değerini kontrol edin.

Test alt alan adının ana veritabanına bağlanmadığını nasıl anlarım?

Test sürümünün wp-config.php dosyasını açın ve DB_NAME değerine bakın. Ana veritabanıyla aynıysa, hemen şimdi değiştirin. Daha hızlı bir yol: phpMyAdmin'de her iki veritabanını açın ve aynı sayıda kayda sahip aynı tablolara sahip olup olmadıklarına bakın.

Test bittikten sonra alt alan adını nasıl silerim?

Üç iş gerekir: Alan adını hosting panelinden kaldırın, DNS kaydını silin ve test dosyaları klasörünü ve veritabanını silin. Yalnızca DNS kaydını silerseniz, dosyalar sunucuda kalır ve disk alanını işgal eder. Yalnızca klasörü silerseniz, alan adı panelde kalır ve daha sonra yanlışlıkla sunulabilir.

Production'a dokunmadan önce alt alan adını oluşturun ve aynı gün üç koruma katmanını koyun. Sonradan eklemek zor değildir, ancak unutmak pahalıya mal olur.

Bu sayfa yardımcı oldu mu?