Ziyaretçiler ekranda Fatal error: Cannot redeclare wp_unregister_globals() hede hödö falan filan…. gibi hata mesajları görünce mutsuz olur. Wordpress’inizde sürüm güncellerken, kullandığınız tema üzerinde değişiklik yaparken, eklenti geliştirirken ya da yeni bir şey denerken web sitenizi geçici olarak kapatmanız gerekebilir.
Wordpress’inizi bakım moduna alabileceğiniz iki eklenti gördüm. Bunlar Maintenance Mode ve Site Maintenance eklentileri.
Ancak eklentilerle sorun yaşadıysanız, sitenizi kapatmak için bile eklenti kurmak istemiyorsanız ya da eklentilerle ilgili duygusal problemleriniz varsa saf PHP kodu değişikliklerinden oluşan benim yöntemimi kullanabilirsiniz.
Anlatacağım yöntem sadece Wordpress için değil, tek bir giriş noktası olan (Wordpress’de index.php) tüm betikler için geçerli.
Wordpress’de bir sayfa çağırdığınızda ilk index.php çalışır. Kaynak kodunu aşağıda görüyorsunuz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require('./wp-blog-header.php'); ?> |
Bu basit dosyanın tek amacı, bir sonraki dosyayı çağırmak ve temiz bir başlangıç yapmaktır. Ziyaretçilerin önünü, sisteme tek giriş noktası olan bu dosyada kesebiliriz.
Sitemizi bakım moduna alırken dikkat edeceğimiz bazı önemli noktalar var:
Yukarıdaki maddelerde anlatılanlara dikkat edilerek oluşturulmuş, kendi sitelerimde bakım yaparken kullandığım kaynak kodu aşağıdadır. Wordpress’in index.php’sini aşağıdaki gibi değiştiriyoruz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <?php $bakim_modu = FALSE; $bakim_ip = "155.223.1.1"; /* Üst satıra kendi IP adresinizi yazmalısınız. */ /* Web sitesi sadece yukarıdaki IP sahibine açılacak. Diğerleri bakım mesajı görecek. Güncel IP adresinizi http://whatismyip.com adresinden öğrenebilirsiniz. */ if (($bakim_modu && ($bakim_ip == $_SERVER['REMOTE_ADDR'])) || !$bakim_modu) { /* Eğer web sitesi bakımda değilse veya izinli IP sisteme giriş yapıyorsa orijinal wordpress index.php'sindeki kodları çalıştır. Eğer index.php'nizde değişiklik yaptıysanız aşağıya olduğu gibi yansıtın. */ /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define('WP_USE_THEMES', true); /** Loads the WordPress Environment and Template */ require('./wp-blog-header.php'); } else { /* Eğer web sitesi bakım halindeyse... */ ob_start(); /* Botlara web sitesinin geçici bakımda olduğu bilgisi gönderilir. Bir saat sonra tekrar denemeleri söylenir. */ header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 3600'); header('Content-Type: text/html; charset=utf-8'); include ("kapali.html"); /* Bakım mesajının yer aldığı kapali.html adlı bir HTML dosyası oluşturun. Bu dosya index.php ile aynı konumda olmalı ve UTF-8 karakter setiyle kodlanmış bir dosya olmalıdır. */ } ?> |
Dosyamızı bir defa böyle değiştirdikten sonra bakım zamanı tek yapmamız gereken
3 | $bakim_modu = FALSE; |
satırını
3 | $bakim_modu = TRUE; |
olarak değiştirmek ve
4 | $bakim_ip = "155.223.1.1"; |
satırına güncel IP adresimizi yazmak. (Buradan öğrenebilirsiniz.)
Böylece başkaları ve arama motorları sitemizi bakımda olarak görürken biz normal gezmeye devam edebilir ve yapacaklarımızı kapabiliriz.
.png)
İyi geceler.