Как закрыть сайт на WordPress (включение режима разработки)
Разработка и обновление сайтов действующий проектов сопрежена с риском разглашения информации. К примеру, если доработка сайта производится прямо на действующем проекте, то в процессе работы программист может допустить ошибку, из-за чего всем посетителям сайта будут продемонстрированы доступы от базы данных или даже хеш пароля администратора сайта. Чтобы такого не происходило, лучше воспользоваться функцией «wp_maintenance», которая ограничивает доступ к сайту для всех пользователей, кроме администратора.
Функция «wp_maintenance» проверяет существование файла «.maintenance» в корневой папке сайта. Если файл существует, то вместо сайта на экран будет выведен текст-заглушка, а дальнейшая загрузка сайта будет остановлена. Сама система WordPress использует этот механизм при обновлении, закрывая сайт от посетителей на время апгрейда.
У функции «wp_maintenance» нет аргументов и параметров:
wp_maintenance();
Чтобы изменить содержание заглушки сайта, необходимо создать файл по адресу /wp-content/maintenance.php . Приведём пример содержания такого файла:
> Сайт закрыт на обслуживание Сайт закрыт на техническое обслуживание
Пожалуйста, подождите несколько минут.
Чтобы отключить режим обслуживания сайта, необходимо удалить файл «.maintenance» из корня сайта. Тогда заглушка будет снята и сайт станет доступен для посетителей.
Помимо этого существует механизм снятия заглушки по таймеру. Достаточно в файл «.maintenance» добавить переменную с названием «$upgrading» со значением равным количеству UNIX секунд, по истечении которого (плюс 600 секунд) будет снята блокировка с сайта. То есть содержание файла «.maintenance» получится таким:
Как отключить сайт на WordPress без плагина
Для того что бы отключить сайт написанный на WordPress на время работ или разработки сайта, можно воспользоватся специальным плагином или самостоятельно написав код на php.
Простой вариант с плагином:
Есть такой плагин как WordPress Maintenance Mode — он может переводить ваш сайт в режим технического обслуживания. То есть при переходе на сайт или любую вашу страницу у вас постоянно будет появляться страница с надписью «Сайт находится в режиме технического обслуживания» или «Сайт временно не работает». Также к некоторым страницам можно оставить доступ для пользователей открытым.
Или плагин CGC Maintenance Mode — он также закрывает сайт, но разрешает доступ для определенных IP адресов в настройках.
Свой IP вы можете легко узнать тут _http://2ip.ru/
Также можно выключить сайт, воспользовавшись еще одним способом это установить пароль на сайт или сделать вход только для зарегистрированных пользователей. Для этого можно использовать плагин как Members Only или Registered Users only
Сложный способ без плагина:
Создаем в корне где лежит сайт, файл с именем .maintenance это файл создается wordpress когда идут какие либо обновления движка, после он удаляется.
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/’) && !stristr($_SERVER[‘REQUEST_URI’], ‘/wp-login.php’) && !is_user_logged_in() ) $upgrading = time();
?>
И при входе на сайт вы увидите сообщение «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту.»
Для отключения технического режима сайта, просто удалите файл .maintenance
Также вы можете сами задать любой стиль и текст страницы для этого необходимо создать файл maintenance.php в директории /wp-content/
wp_load_translations_early();
$protocol = $_SERVER[«SERVER_PROTOCOL»];
if ( ‘HTTP/1.1’ != $protocol && ‘HTTP/1.0’ != $protocol )
$protocol = ‘HTTP/1.0’;
header( «$protocol 503 Service Unavailable», true, 503 );
header( ‘Content-Type: text/html; charset=utf-8’ );
header( ‘Retry-After: 600’ );
Сайт находится на техническом обслуживании, работа будет восстановлена через несколько минут.
Извините за неудобства.