Siteyi Geçici Kapatınca SEO: Doğru 503 Kodu ve Uygulama Rehberi
Siteyi bakım/kapalı moda alırken SEO’yu korumak için doğru HTTP 503 durum kodu, nagging yapmayan headerlar ve uygulama adımlarını öğrenin.
Siteyi geçici olarak kapatmanız gerektiğinde (bakım, kritik güncelleme, kapasite azaltma, taşıma penceresi) arama motorlarının sayfayı nasıl yorumladığı doğrudan etkilenir. Yanlış kod (ör. 404/301) aramanın geri gelmesini geciktirebilir. Bu rehberde, sitenizi geçici kapattığınızda SEO için doğru 503 (Service Unavailable) ayarının nasıl yapılacağını, ne zaman Retry-After göndermeniz gerektiğini ve hangi hatalardan kaçınmanız gerektiğini net bir kontrol planıyla anlatıyoruz.
503 Ne Zaman Doğru Seçimdir?
503, “site şu an geçici olarak hizmet veremiyor” anlamına gelir. Bu kodun SEO tarafında doğru çalışması için iki şart kritik olur:
- Durum gerçekten geçici olmalıdır: Saatler veya günler gibi kısa bir zaman penceresi.
- Aynı URL’ler için kalıcı bir yeniden yönlendirme (301) ya da “sayfa yok” sinyali (404) vermemelisiniz.
Aşağıdaki senaryolarda 503 doğru yaklaşımdır:
- Bakım penceresi: CMS güncellemesi, eklenti değişimi, veritabanı migrasyonu.
- Sunucu performans krizi sonrası kontrollü duruş: CPU/Mem spike’ı giderene kadar.
- Trafik kısıtı: Örneğin DDoS/otomasyon saldırısı etkisi azalana kadar.
503’ün uygun olmadığı durumlar:
- Siteyi kalıcı olarak kapatmanız: Bu durumda arama motoru sinyalleri farklılaşır.
- URL yapısını tamamen değiştirip tüm trafiği yeni domaine/alternatif URL’e taşımanız: 301/410 gibi kalıcı sinyaller gündeme gelebilir.
Google ve Diğer Arama Motorları 503’ü Nasıl Yorumlar?
Arama motorları 5xx durum kodlarını genellikle şu mantıkla değerlendirir:
- Sunucu geçici erişim sorunu yaşıyor olabilir.
- Sayfayı bir süre tekrar deneyecek (crawl tekrarları).
- Uygun sinyallerle (özellikle
Retry-After) ne zaman tekrar denemeleri gerektiğini daha iyi planlayacak.
Bu nedenle hedefiniz “SEO’yu sıfırlamak” değil; geçici kesintiyi doğru kodla bildirip normal erişim döndüğünde sayfanın tekrar sorunsuz indekslenmesini kolaylaştırmaktır.
503’ü 404/410 ile Karıştırmaktan Kaçının
- 404: “Sayfa bulunamadı” sinyali verir. Geçici bakımda bunu kullanmak indeksin zayıflamasına yol açabilir.
- 410: “Kasıtlı olarak kaldırıldı” sinyali verir. Geçici kapamada genellikle yanlış.
- 301: URL kalıcı olarak taşındı anlamına gelir; kapatma senaryosunda trafik kaybı üretir.
Doğru HTTP 503 Kodu: Gerekli Başlıklar ve Davranış
Sitenizi geçici kapatırken “en az yapılacaklar” şunlardır:
- HTTP durumu: 503 Service Unavailable
- Yanıt gövdesi: Kullanıcıya bakım bilgisini ileten basit bir HTML sayfası
Retry-After: İsteğe bağlı ama güçlü bir sinyal
Retry-After Ne İşe Yarar?
Retry-After, arama motorlarına ve bazı botlara “ne zaman tekrar denesin” bilgisini verir.
Net kural: - Bakımın bitiş zamanı belliyse tarih/sekme formatıyla iletin. - Bilmiyorsanız en azından makul bir süre (ör. 3600 saniye) verin.
Örnek yanıt header seti mantığı:
- Cache-Control: no-store
- Retry-After: 3600
Not:
Cache-Control: no-storeönemlidir çünkü bakım sayfanızın cache’lenmesini istemezsiniz. Eğer CDN/edge katmanınız otomatik cache yapıyorsa ayrıca kontrol etmeniz gerekir (aşağıda kontrol noktaları var).
Uygulama Şekilleri: Web Sunucusunda 503’ü Etkinleştirme
Aşağıdaki yöntemler en sık kullanılan kurulum seçenekleridir. Hangisini seçeceğiniz, altyapınızın (Nginx/Apache/CDN/WAF) hangi katmanda çalıştığına bağlıdır.
Nginx ile Bakım Modu (503 + Retry-After)
Nginx’te bakım sırasında tüm istekleri tek bir maintenance sayfasına yönlendirip durumu 503 olarak döndürmek için yaklaşım şöyledir:
location / {
return 503 "Service Unavailable";
}
Ancak pratikte kullanıcıya sayfa göstermek istersiniz. Bu durumda error_page kullanılır:
server {
# ... sunucu ayarları
error_page 503 @maintenance;
location / {
return 503;
}
location @maintenance {
add_header Retry-After 3600 always;
add_header Cache-Control "no-store" always;
default_type text/html;
return 503 '<!doctype html><html><head><meta charset="utf-8"><title>Bakım</title></head><body><h1>Site bakımdadır</h1><p>Hizmet kısa süre içinde geri gelecektir.</p></body></html>';
}
}
Bu yaklaşımın net faydası: Tüm URL’ler için doğru HTTP 503 döner ve bakım içeriği görünür.
Apache ile 503 Bakım Sayfası
Apache için en yaygın yaklaşım mod_alias / mod_rewrite değil; doğrudan 503 üretmektir. Örnek mantık:
# .htaccess veya vhost içinde
RewriteEngine On
RewriteRule ^.*$ - [R=503,L]
Bunun yerine vhost düzeyinde ErrorDocument ile daha temiz tasarım yapılabilir:
ErrorDocument 503 /maintenance.html
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^.*$ - [R=503,L]
Bakım sayfanızın kendisi de 503 dönebileceği için, kuralın maintenance.html yolunu dışarıda bıraktığınızdan emin olun.
Uygulama Katmanında (Application-Level) 503
WordPress, Laravel veya Node.js gibi uygulamalarla bakım modu açıyorsanız amaç şudur:
- HTTP yanıt kodu 503 olmalı
Retry-AfterveCache-Controldoğru olmalı- bakım sayfası indekslenmesin (gerekirse
noindex)
Burada kritik nokta: Uygulama “maintenance page” dönerken yanlışlıkla 200 veya 302 dönmemelidir.
Örnek header mantığı:
- HTTP: 503
- Cache-Control: no-store, max-age=0
- Retry-After: 3600
Ayrıca bakım HTML’inde <meta name="robots" content="noindex"> kullanmak indeks kontrolüne yardımcı olur. Eğer tüm siteyi 503 ile kapatıyorsanız bu çoğu senaryoda yeterlidir.
SEO’yu Koruyan Net Kontrol Listesi
Sadece 503 kodunu döndürmek yetmez. Aşağıdaki kontroller, pratikte en çok “beklediğim gibi olmadı” durumlarını engeller.
1) CDN/Edge Katmanında Yanlış Cache Sorunu
CDN kullanıyorsanız (Cloudflare, benzeri edge servisler): - Bakım sırasında dönen 503 yanıtının cache edilip uzun süre kalmaması gerekir. - Bakım başladığında “geçici” olduğunu CDN’e headerlarla anlatın.
Net hedef headerlar:
- Cache-Control: no-store
- İhtiyaca göre Pragma: no-cache
2) Kimi URL’leri Bilerek Dışarıda Bırakın
Tamamen kapatmak yerine bazı endpoint’leri açık tutmak gerekir:
robots.txtvesitemap.xml(genelde açık kalması tercih edilir)- admin panel erişimi (sadece izinli kullanıcılar)
- sağlık kontrolü (load balancer health check)
Bu nokta net bir mantık taşır: Botların “tam site kırık” algısı güçlenmesin.
3) Redirect Zinciri Oluşturmayın
Bakım modunu uygularken sık yapılan hata: - 302 ile maintenance sayfasına yönlendirme + maintenance sayfasında 200
Bu durumda arama motoru “geçici kesinti” sinyalini doğru alamayabilir. Hedef: ilk yanıt 503 olsun.
4) Loglardan Gerçekten 503 Döndüğünü Doğrulayın
Bakım modunu açtıktan sonra hızlı bir doğrulama yapın. Örnek komut:
curl -I https://ornek-site.com/
Beklenenler:
- HTTP/1.1 503 Service Unavailable veya benzeri
- Retry-After varsa doğru değer
- Cache-Control no-store
503 Bakım Sayfası İçeriği Nasıl Olmalı?
Bakım sayfası iki kullanıcı kitlesine hizmet eder: insanlar ve botlar.
İnsanlar için: - “Ne zaman geri dönecek?” beklentisi net olmalı (tahmini süre veya saat) - iletişim ve acil destek varsa belirtilmeli
Botlar için:
- sayfa bakım bilgisini taşıyıp indekslenmemeli (tercihen noindex)
- sayfanın HTTP kodu 503 ile tutarlı olmalı
Net örnek bakım HTML iskeleti:
- Başlık: “Site bakımdadır”
- Paragraf: “Hizmet kısa süre içinde geri gelecektir.”
- (Opsiyonel) Retry-After bilgisini sayfada da kısa belirtin
Ne Kadar Süreyle 503 Kullanmalısınız?
Bu sorunun net cevabı, bakımın doğasına bağlıdır; ancak SEO davranışını “istikrarlı” tutmak için şu pratik kural işe yarar:
- Bakım birkaç saat ise: 503 +
Retry-After(ör. 3600) - Bakım birkaç gün ise: 503 +
Retry-After(ör. 21600) - Bakım uzayacaksa: Koddan ziyade “erişim stratejinizi” güncelleyin. Örneğin uygulama düzeyinde ayrı durum sayfası veya kademeli trafik sınırlaması.
Kalıcı kapatma hedefiniz varsa 503 kullanmak doğru strateji olmaz; sinyaller kalıcı taşınma/kaldırma davranışına kaydırılmalıdır.
Sık Yapılan Hatalar ve Net Çözümler
- Hata: Bakım modunda 200 dönmesi
-
Çözüm: İlk yanıtın 503 olduğundan emin olun. Varyant sayfalar (maintenance page) bile 503 ile dönmeli.
-
Hata: 302 ile bakım sayfasına yönlendirmek
-
Çözüm: Yönlendirme yerine 503’ü doğrudan döndürün. Gerekirse bakım sayfasını aynı yanıt içinde verin.
-
Hata: 404 sayfası döndürmek
-
Çözüm: “Geçici kapalı” senaryosunda 404 yerine 503 kullanın.
-
Hata: CDN cache’inin bakım sayfasını uzun süre tutması
-
Çözüm:
Cache-Control: no-storeekleyin ve CDN cache kurallarını kontrol edin. -
Hata: Admin/health endpoint’lerin de 503 olmasından dolayı kurtarma zorlaşır
- Çözüm: En azından doğrulama ve health check yollarını dışarıda bırakın.
NetKıyas Perspektifiyle: Barındırma Tarafında Sorun Yaşarsanız Nereye Bakmalısınız?
503 ayarını sunucu katmanında yaptıysanız bile pratikte sorunlar genellikle şu yerlerde çıkar:
- Sağlayıcının sunduğu edge/CDN katmanı: headerları değiştirebiliyor veya cache politikası uygulayabiliyor.
- Load balancer / reverse proxy: 503’ü farklı kodla maskeliyor olabilir.
- Uygulama bakım modu: yanlışlıkla status 200/302 döndürüyor.
Bu yüzden bakım modu açıldıktan sonra yalnızca “sayfa görünüyor mu” değil; curl -I ile HTTP kodunu doğrulayın.
Sonuç: Bakımı Açarken 3 Adımı Uygulayın
Siteyi geçici kapatmanız gerektiğinde SEO’yu korumanın en net yolu, HTTP seviyesinde 503 döndürmektir. Bakım modunu aktif ettiğiniz anda şu aksiyonları sırayla yapın: (1) Nginx/Apache veya uygulama katmanında ilk yanıtın gerçekten 503 olduğunu curl -I ile doğrulayın, (2) Retry-After ve Cache-Control: no-store ile botların ve CDN’in doğru davranmasını sağlayın, (3) robots/sitemap ve health check gibi kritik endpoint’leri gereksiz yere kapatmayın. Bu üç adım tamamlandığında, bakım bitince indeks ve trafik geri dönüş süresi anlamlı şekilde daha öngörülebilir hale gelir.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
Domain Privacy Lock Nedir? Neden Mutlaka Aktif Etmelisiniz?
Domain Privacy Lock, alan adı kaydındaki yetkisiz değişiklikleri engeller. Kimlik avı, transfer kilidi ve güvenlik adımlarını net öğrenin.
ElasticSearch Hosting Maliyet/Performans Analizi: Net Rehber (2026)
ElasticSearch hosting maliyetlerini kaliteyle birlikte analiz edin: CPU/RAM, disk, ölçekleme, yedekleme ve maliyeti düşüren net kararlar.
Yavaş Database Sorguları Bulma: Net Query Optimizasyon Rehberi
Yavaş sorguları bulup süreyi düşürün: slow query analizi, EXPLAIN, indeks ve yedekli ölçüm planı ile net teşhis adımları.
%99.9 uptime garantisi ne kadar gerçekçi? Hesap + kontrol rehberi
%99.9 uptime garantisi yılda ~8 saat kesinti demektir. Ancak ölçüm yöntemi, bakım pencereleri ve kapsam dışı durumlar sonucu değiştirir.
