Puan
18
Çözümler
0
- Katılım
- 3 Kas 2025
- Mesajlar
- 99
- Tepkime puanı
- 0
WordPress Bakım Modu Nasıl Açılır? Eklentili ve Eklentisiz Yöntemler
WordPress sitenizde kapsamlı bir değişiklik yaparken ziyaretçilerin bozuk sayfalarla veya tamamlanmamış bir tasarımla karşılaşmasını istemezsiniz. Bakım modu, bu süreçte normal içerik yerine kısa bir bilgilendirme ekranı göstermenizi sağlar.Ancak bakım ekranının görünmesi tek başına yeterli değildir. Yönetici erişiminin açık kalması, önbelleğin doğru yönetilmesi ve ziyaretçilere uygun HTTP yanıtının verilmesi de önemlidir.
Bu rehberde bakım modunu açmanın üç yöntemini, aralarındaki farkları ve siteyi yeniden yayına alırken kontrol edilmesi gerekenleri anlatacağız.
WordPress Bakım Modu Nedir?
Bakım modu, sitenin tamamını veya belirli bölümlerini geçici olarak ziyaretçilere kapatıp yerine bir açıklama göstermektir. Tema düzenlemeleri, güncelleme sorunları ve taşıma işlemleri sırasında kullanılabilir.WordPress’in güncellemelerde kullandığı yerleşik bakım mekanizmasıyla, eklentiler üzerinden hazırlanan bakım sayfaları aynı şekilde çalışmaz.
Yerleşik mekanizma genellikle yönetici dahil WordPress üzerinden gelen istekleri durdurur. Bir bakım eklentisi ise yetkili kullanıcıların siteye erişmesine izin verirken ziyaretçilere farklı bir ekran gösterebilir.
Bakım modu, yedekleme veya test ortamının yerine geçmez. Büyük değişiklikleri önce sitenin ayrı bir test kopyasında hazırlamak, canlı sitenin kapalı kalacağı süreyi azaltır.
Bakım modu ile “çok yakında” sayfası arasındaki fark
Bakım modu, yayındaki bir sitenin geçici olarak kullanılamadığını bildirir. “Çok yakında” sayfası ise henüz açılmamış bir projenin tanıtım sayfası olabilir.Bu nedenle iki ekranın HTTP davranışı farklı olabilir:
| Durum | Uygun yaklaşım |
|---|---|
| Yayındaki site kısa süreli bakımda | Etkilenen sayfalarda 503 yanıtı |
| Yeni proje için tanıtım sayfası | İçeriğin amacına göre normal 200 yanıtı |
| Mağazada yalnızca sipariş alımı durduruluyor | İçerikleri açık tutup alışveriş işlevini sınırlandırma |
Bir eklentide “Coming Soon” seçeneğinin bulunması, mevcut sitenizin bakım senaryosunda doğru yanıtı vereceği anlamına gelmez.
Yöntem 1: Eklentiyle Bakım Modu Açmak
Kod düzenlemek istemeyen kullanıcılar için bakım eklentisi pratik bir seçenektir. Tasarım, yönetici erişimi ve açma-kapama işlemi tek bir ayar ekranından yönetilebilir.WordPress panelinde:
- Eklentiler → Yeni Eklenti Ekle bölümünü açın.
- “Maintenance mode” ifadesiyle arama yapın.
- Güncel WordPress sürümünüzle uyumluluğunu kontrol ettiğiniz eklentiyi kurun.
- Eklentinin ayarlarında bakım modunu seçin.
- Başlık, açıklama ve varsa iletişim bilgilerini düzenleyin.
- Yetkili kullanıcıların erişim ayarını kontrol edin.
- Modu etkinleştirip oturum açılmamış bir tarayıcıdan test edin.
- Geçici bakım için 503 yanıtı verebilmesi.
- Yönetici erişimine izin vermesi.
- Gerekli adresler için istisna tanımlayabilmesi.
- Mevcut önbellek sisteminizle birlikte çalışabilmesi.
Bakım sayfasına ne yazılmalı?
Ziyaretçinin neden erişemediğini ve ne yapabileceğini açıklayan kısa bir metin yeterlidir:Bitiş saati kesin değilse iddialı bir geri sayım kullanmayın. Süresi dolduğu hâlde kapanmayan bir sayaç, açıklayıcı bir mesajdan daha fazla kafa karışıklığı yaratır.Sitemizde kısa süreli bir bakım çalışması yapıyoruz. İşlem tamamlandığında yeniden erişebilirsiniz. Acil talepleriniz için iletişim adresimizden bize ulaşabilirsiniz.
Yöntem 2: .maintenance Dosyasıyla Bakım Modu Açmak
WordPress’in yerleşik bakım mekanizması, kurulum kökündeki.maintenance dosyasını kontrol eder. Buradaki kök, WordPress’in wp-admin ve wp-includes klasörlerinin bulunduğu kurulum dizinidir; her sitede doğrudan public_html olmayabilir.Hosting panelinin Dosya Yöneticisi veya SFTP bağlantısıyla bu dizinde
.maintenance adlı dosya oluşturun.Dosyanın içine şunu yazın:
Kod:
<?php
$upgrading = time();
.txt eklenmediğinden de emin olun.10 dakika konusu neden karıştırılıyor?
WordPress, dosyanın içindeki$upgrading zaman damgasını kontrol eder. Sabit bir zaman damgası 10 dakika veya daha eskiyse bakım durumunu sona ermiş kabul eder.Ancak yukarıdaki örnekte
time() her istekte yeniden çalışır. Zaman damgası sürekli güncel kalacağı için bu dosya bakım modunu 10 dakika sonra kendiliğinden kapatmaz. İşiniz bittiğinde dosyayı kaldırmanız gerekir. Bu sonuç, çekirdeğin dosyayı yükleyip zaman farkını hesaplama biçiminden kaynaklanır.WordPress’in varsayılan bakım ekranı 503 yanıtı ve
Retry-After: 600 başlığı gönderir.Bu yöntemin sınırları
Yerleşik bakım mekanizması kullanıcı yetkilerini kontrol ederek yöneticiyi ayrı tutmaz. Bu nedenle.maintenance aktifken yönetim paneline erişemeyebilirsiniz.Ayrıca statik dosyalar veya önbellekten sunulan sayfalar WordPress’i çalıştırmadan teslim edilebilir. Dolayısıyla dosyayı eklemek, sunucudaki bütün içeriğin erişime kapandığı anlamına gelmez.
PHP veya WordPress’in başlangıç yapılandırması daha erken bir aşamada hata veriyorsa, bakım ekranı da çalışmayabilir. Böyle durumlarda hosting paneli ya da web sunucusu seviyesinde çözüm gerekebilir.
Yöntem 3: Kodla, Yöneticiye Açık Bir Bakım Ekranı Oluşturmak
Ziyaretçilere bakım mesajı gösterirken yönetici erişimini korumak istiyorsanız küçük bir kod kullanılabilir.Tema değişiminden etkilenmesini istemiyorsanız, kodu ayrı bir MU eklentisi olarak yerleştirebilirsiniz. WordPress, varsayılan olarak
wp-content/mu-plugins içindeki PHP dosyalarını otomatik yükler; panelden ayrıca etkinleştirmek gerekmez.mu-plugins klasörü yoksa oluşturun. İçine gecici-bakim.php adlı dosya ekleyip şu kodu yerleştirin:
Kod:
<?php
/**
* Plugin Name: Geçici Bakım Ekranı
*/
defined( 'ABSPATH' ) || exit;
add_action( 'template_redirect', function () {
if ( current_user_can( 'manage_options' ) || is_robots() ) {
return;
}
nocache_headers();
header( 'Retry-After: 3600' );
wp_die(
'Sitemizde kısa süreli bakım yapıyoruz. Lütfen daha sonra tekrar deneyin.',
'Bakım Çalışması',
array( 'response' => 503 )
);
}, 0 );
manage_optionsyetkisine sahip kullanıcıların ön yüze erişmesine izin verir.- Diğer kullanıcılar için bakım mesajı gösterir.
- 503 yanıtı ve bir saatlik
Retry-Afterbilgisi gönderir. - WordPress’in
robots.txtisteğini kapsam dışında bırakır.
wp_die() içindeki response seçeneği HTTP durum kodunu belirler.Bakım bittiğinde yalnızca oluşturduğunuz
[B]gecici-bakim.php[/B] dosyasını MU eklenti klasöründen kaldırın. Diğer dosyaları silmeyin. MU eklentileri normal eklentiler gibi paneldeki “Etkisizleştir” düğmesiyle kapatılmaz.Bu kod, normal ön yüz istekleri için hazırlanmıştır. REST API, yönetim AJAX işlemleri, cron görevleri ve ödeme bildirimleri için genel bir kapatma mekanizması değildir. Veri taşırken bütün yazma işlemlerini durdurmanız gerekiyorsa ilgili kanalları ayrıca yönetmelisiniz.
Aynı yaklaşım alt temanın
functions.php dosyasına da uygulanabilir. Ancak tema değiştiğinde kod devreden çıkar; yeni bir PHP açılış etiketi eklemek gibi yazım hatalarından da kaçınmak gerekir.Özel maintenance.php Dosyası Ne İşe Yarar?
WordPress’in yerleşik bakım ekranını özelleştirmek içinwp-content/maintenance.php dosyası kullanılabilir.Burada önemli ayrım şudur: Bu dosyanın bulunması tek başına bakım modunu açmaz. Yerleşik bakım durumu aktif olduğunda WordPress bu dosyayı yükleyerek varsayılan ekranın yerine kullanır.
Özel dosya, çekirdeğin varsayılan bakım yanıtından önce yüklenir. Bu nedenle 503,
Retry-After ve önbellek başlıklarını özel dosyada kendiniz göndermelisiniz.Bu aşamada WordPress henüz normal çalışma akışını tamamlamadığı için tema ve eklenti fonksiyonlarının hazır olduğunu varsaymayın. Basit bir HTML ekranı daha kolay yönetilir.
Hangi Yöntem Ne Zaman Uygun?
| Yöntem | Yönetici erişimi | Tasarım | Kapatma işlemi |
|---|---|---|---|
| Bakım eklentisi | Eklentinin ayarlarına bağlı | Genellikle kolay özelleştirilir | Ayarlardan kapatılır |
.maintenance | Normalde kullanıcı ayrımı yapmaz | Varsayılan ekran veya özel dosya | Dosya kaldırılır |
| Örnek MU eklentisi | Yetkili kullanıcıya izin verir | Kodla düzenlenir | İlgili dosya kaldırılır |
Yalnızca kısa bir mesaj ve panel erişimi gerekiyorsa eklenti yöntemi yeterli olabilir. Dosya üzerinden hızlı müdahale gerekiyorsa yerleşik mekanizma kullanılabilir. Daha özel davranışlarda kod veya sunucu seviyesinde yapılandırma değerlendirilir.
Bakım Modunda 503 ve Retry-After Neden Önemli?
503, isteğin geçici olarak karşılanamadığını bildirir. Yayındaki bir sitenin kısa süreli bakımı için uygun sinyaldir.Retry-After ise yeniden deneme için tahmini süre veya tarih belirtir:Retry-After: 3600Bu örnek bir saatlik bekleme bilgisi verir. Ancak tarayıcının veya arama motorunun tam o saniyede yeniden istek göndereceğini garanti etmez.
503 kullanılması da sıralamaların her koşulda korunacağı anlamına gelmez. Uzayan erişilemezlik, tarama ve indekslemeyi etkileyebilir. Google, sitenin tamamen kapatılmasını çok kısa sürelerle sınırlandırmayı; mümkünse içerikleri erişilebilir tutup yalnızca gerekli işlevleri durdurmayı önerir.
Geçici bakım için bütün siteye
noindex eklemeyin, tüm taramayı robots.txt üzerinden kapatmayın ve sayfaları kalıcı olarak tek bir bakım adresine yönlendirmeyin. robots.txt dosyasının erişilebilir kalmasını da kontrol edin.Önbellek Bakım Ekranını Etkileyebilir
Bakım modu açıldığı hâlde bazı ziyaretçiler eski sayfaları görüyorsa, bu içerikler önbellekten sunuluyor olabilir.Tersi de mümkündür: Bakım kapatılmıştır ama bakım ekranı önbellekte kaldığı için ziyaretçiye gösterilmeye devam eder.
Bu nedenle hem açarken hem kapatırken:
- WordPress sayfa önbelleğini kontrol edin.
- Hosting tarafındaki önbelleği değerlendirin.
- CDN kullanıyorsanız ilgili önbelleği temizleyin.
- Oturum açılmamış bir tarayıcıdan tekrar deneyin.
Güncelleme Sonrası Bakım Ekranında Takılı Kalan Site
Güncelleme yarıda kesilmişse bakım dosyası kalmış olabilir. Ancak dosyayı hemen silmeden önce güncellemenin hâlâ çalışmadığından emin olun.Ardından şu sırayla ilerleyin:
- WordPress kurulum dizinindeki
.maintenancedosyasını kontrol edin. - Devam eden güncelleme yoksa kalan dosyayı kaldırın.
- Siteyi ve yönetim panelini yeniden açın.
- Hata kayıtlarını inceleyin.
- Güncellenen bileşenin doğru çalıştığını doğrulayın.
Ekran devam ediyorsa bakım eklentisini, özel kodu ve önbelleği de kontrol edin.
Bakım Bittikten Sonra Yapılacak Kontroller
Siteyi yeniden açmak için kullandığınız yöntemi kapatın. Ardından yalnızca ana sayfaya bakmakla yetinmeyin.- Birkaç iç sayfayı açın.
- Giriş ve iletişim formunu deneyin.
- Mağaza varsa sepet ve ödeme akışını kontrol edin.
- Ziyaretçilere artık bakım yanıtı verilmediğini doğrulayın.
- Geçici kodları ve dosyaları kaldırın.
curl -s -o /dev/null -D - https://ornek.com/Bakım sırasında ilgili içerik sayfasında 503, yeniden açılışta ise normal yanıt beklenir. Varsa yönlendirme zincirinin sonundaki yanıtı da inceleyin.
Sıkça Sorulan Sorular
Bakım modunda yönetim paneline girebilir miyim?
Yönteme bağlıdır. Eklentiler yetkili kullanıcıya erişim verebilir. Yerleşik.maintenance mekanizması ise normalde yöneticiyi ayrı tutmaz..maintenance dosyası 10 dakika sonra etkisizleşir mi?
Sabit zaman damgası eskiyse etkisizleşebilir. Dosyada$upgrading = time(); kullanılırsa değer her istekte yenilenir ve bakımı dosyayı kaldırarak kapatmanız gerekir.Bakım modu bütün sipariş ve veri girişlerini durdurur mu?
Her zaman durdurmaz. Ön yüz kapanırken API, ödeme bildirimi veya arka plan görevleri çalışmaya devam edebilir. Taşıma işlemlerinde bunları ayrıca değerlendirin.Bakım modunu açmak için eklenti şart mı?
Hayır..maintenance dosyası, özel kod veya sunucu tarafındaki bakım ayarları kullanılabilir.
