WordPress очень удобная и довольно стабильная CMS. Но и здесь не обходится без неприятностей. Иногда после очередного обновления плагинов или темы возникает ситуация, что сайт перестает работать, нельзя войти даже в админку, а на экране видим надпись «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту»
Согласитесь, неприятная ситуация. Далее мы кратко рассмотрим причины возникновения этой ошибки и как ее побороть.
Причины возникновения ошибки
Прежде всего, не стоит паниковать. Это стандартная надпись во время обновления. По-этому для начала подождите 5-10 минут, пока, действительно, установятся обновления (в зависимости от их количества). Вполне возможно, что после установки и настройки обновлений все заработает. Если же чуда не произошло, то, видимо, что-то пошло не так. Что именно?
Как было ранее написано, эта надпись — стандартная «заглушка» во время процесса обновления и должна пропасть после того, как обновления установлены. И вот тут начинается самое интересное. Если во время обновления вы пытались что-то делать с сайтом (например, в еще одной вкладке браузера редактировали текст статьи на своем сайте и во время обновлений решили ее сохранить), то процесс обновления может прерваться, а такая надпись остается на своем месте и сайт превращается в «бревно». Отсюда мораль: «ничего не делайте с сайтом во время обновлений, а сами обновления запускайте тогда, когда на сайте минимальное количество посетителей (например, ночью)»
Вторая возможная причина возникновения ошибки — это ограничения самого сервера. Например, в настройках сервера proxy_connect_timeout был установлен на 30 секунд (стандартная настройка у многих хостеров) и движку просто не хватало времени для обновления большого количества данных за этот промежуток времени. В таком случае, для избежания подобных ситуаций в будущем, необходимо менять настройки сервера (если у вас свой выделенный сервер) или обращаться в техподдержку компании, которая оказывает вам услуги хостинга.
Основные причины возникновения ошибки «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту» мы разобрали. Теперь переходим к решению.
Как исправить ошибку
Для начала нужно зайти через FTP в корень сайта найти там файл .maintenance и удалить его. Это временный файл, который создается системой при старте обновлений. Его наличие говорит CMS, что нужно «повисеть» в режиме обслуживания. И вот если обновление каким-то образом некорректно прервалось, этот файл сам не удаляется и продолжает блокировать нормальную работу сайта. В большинстве случаев, удаления файла .maintenance достаточно, чтобы сайт возобновил нормальную работу. Если этого не произошло, переходим к следующему варианту решения проблемы.
Бывает, когда при обновлении WordPress файл .maintenance еще не создан, или его удаление не дело никаких результатов, а при этом ошибка отображается и выводится в браузере. В таком случае, опять же, в корне сайта (заходим через FTP) нужно найти и скопировать себе на компьютер файл wp-activate.php. Далее открываем его текстовым редактором и ищем строку
define("WP_INSTALLING", true);
Меняем значение true на false, чтоб получилось
define("WP_INSTALLING", false);
После этого сохраняем файл wp-activate.php, копируем его обратно на сайт (перезаписывая при этом тот файл, что уже есть) и смотрим результат.
Обычно таких действий достаточно для 99% подобных случаев. Если и это не помогло — тут уже нужно серьезно разбираться и в рамках статьи сложно описать все остальные причины возникновения ошибки WordPress «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту».
И, напоследок, самое главное: перед любым действием на сайте (обновление плагинов или темы, изменение системных файлов и т.п.) не забывайте делать бэкап (резервную копию). Казалось бы, такая простая и стандартная рекомендация, но очень многие ею пренебрегают. В итоге, сэкономив несколько минут времени (игнорируя создание бэкапа), вы можете «попасть» на большие проблемы, решение которых может стоить как времени, так и денег.