key Войти Валюта:
Закрыть сайт Wordpress на техническое обслуживание: с плагином и без
calendar 21.10.2014
heart 3052
question Комментариев: 0

 

Довольно часто на практике веб-мастерам приходится сталкиваться с необходимостью временного закрытия доступа к своим сайтам. Подход к решению этого вопроса должен быть с умом. Обычные пользователи не должны сталкиваться с трудностями при обращении к ресурсу, когда на нем идет обновление или другие технические работы. Лучшим вариантом будет временная остановка сайта и появление надписи при обращении к нему, типа: «Сайт временно недоступен, попробуйте зайти через 2 минуты».

К большому сожалению, WordPress не предусматривает решения подобной проблемы с помощью встроенных инструментов. Но, благодаря гибкости CMS, возможно воспользоваться установкой специального плагина. Есть еще и второй метод, предусматривающий небольшие ручные правки в коде движка. Давайте рассмотрим решение данной задачи этими двумя способами.

Закрытие сайта с помощью плагина.

Существует достаточно много различных плагинов, выполняющих данную функцию. Однако мы остановимся на WP Maintenance Mode, являющимся одним из достаточно простых и надежных. Устанавливается он стандартно через поисковик в режиме администратора.

После того, как он был активирован, необходимо перейти в меню настроек. Достаточно использовать стандартные параметры. Устанавливаем статус «включен» и сохраняем изменения. Но имеется возможность и более детально настроить некоторые опции для себя. При желании, можно разрешить доступ к работающей версии другим группам пользователей, осуществить перенаправление на другой URL, сменить фон и текст обращения к пользователям, поставить таймер обратного отсчета и т.д.

Сайт, с включенным WP Maintenance Mode будет иметь примерно следующий вид:

Напомним, что по умолчанию администратору будет видно сайт в нормальном виде, а для того чтобы на него посмотреть глазами обычных пользователей, нужно сделать выход из режима администратора.

Режим техобслуживания без плагинов

Этот метод также является довольно простым. Для этого создадим у себя файлик .maintenance и запишем его таким образом:

<?php
function is_user_logged_in() {
$loggedin = false;
foreach ( (array) $_COOKIE as $cookie => $value ) {
if ( stristr($cookie, 'wordpress_logged_in_') )
$loggedin = true;
}
return $loggedin;
}
if ( !stristr($_SERVER['REQUEST_URI'], '/wp-admin/') &amp;&amp; !stristr($_SERVER['REQUEST_URI'], '/wp-login.php') &amp;&amp; !is_user_logged_in() ) $upgrading = time();
?>

После этого загружаем его в корень вашего ресурса. Теперь, когда пользователь войдет на сайт, он увидит следующее сообщение:



Когда настанет время, необходимое для возвращения сайта в работающий режим, достаточно этот файл удалить или просто переименовать.

soc-1
Tweet
© СХОСТ. All Rights Reserved.