Rehber 17 Ekim 2026 · 6 dakika okuma

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:

  1. Sunucu geçici erişim sorunu yaşıyor olabilir.
  2. Sayfayı bir süre tekrar deneyecek (crawl tekrarları).
  3. 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-After ve Cache-Control doğ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.txt ve sitemap.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:

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-store ekleyin 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.

Etiketler: #503 #seo #hosting #nginx #apache

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

0 ürün seçildi