WordPress

Как отладить и исправить ошибку 503 Service Unavailable в WordPress

Руководство по исправлению ошибки 503 Service Unavailable

Пожалуй, вы согласитесь с тем, что ошибка 503 service unavailable самая сбивающая с толку из всех ошибок, который вы когда-либо получали на своём сайте WordPress.

Пример ошибки 503 Service Unavailable

Главной причиной запутанности, является сложность определения истинной причины её возникновения. А факт, что она может быть вызвана целым рядом причин усугубляет ситуацию. Более того, в зависимости от конфигурации сервера данная ошибка может отображаться по разному. Например, вы можете увидеть такие варианты:

503 Service Unavailable
Http/1.1 Service Unavailable
HTTP Server Error 503
503 Error
HTTP 503
HTTP Error 503

Оказывается, исправление ошибки 503 service unavailable относительно простая задача и мы покажем вам в этой статье, как именно это сделать.

Примечание: В этому руководстве мы покажем как отладить и устранить ошибку на сайтах WordPress. Однако, похожие шаги могут быть применены для любой CMS.

Причины ошибки 503 Service Unavailable в WordPress

Ошибка 503 service unavailable может быть вызвана рядом причин, включая (но не ограничиваясь):

  • Ошибки в плагинах или темах
  • Сбои в работе пользовательский PHP скриптов
  • Недостаточно ресурсов сервера
  • Ошибки сервера
  • Злоумышленные атаки, такие как хорошо всем известные DDoS (Distributed Denial of Service)

Мы пройдёмся по всем этим причинам и предложим различные решения по устранению ошибки 503 service unavailable.

Ошибка в плагине

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

Если вы столкнулись с ошибкой 503 после установки или обновления конкретного плагина, скорее всего вы уже нашли виновника. Всё, что вам потребуется сделать, это удалить проблемный плагин и работа сделана.

Если, однако, у вас нет идей по поводу того, какой именно плагин мог вызвать ошибку 503, нужно начать диагностику путём деактивации всех плагинов.

Но как деактивировать все плагины WordPress, если у вас нет доступа к админ панели?

Деактивация всех плагинов WordPress

Зайдите в ваш каталог WordPress по FTP или используя Файловый менеджер. В этом руководстве будем использовать популярную программу подключения по FTP FileZilla:

Filezilla WP домашний каталог

Так выглядит наш тестовый каталог WordPress в Файловом менеджере на Hostinger:

Файловый менеджер домашний каталог WordPress

Внутри нашего каталога WordPress, найдите и откройте каталог wp-content, который содержит ваши плагины, темы и медиа контент среди прочего.

Нажмите правой кнопкой мыши на каталоге plugins и переименуйте его в plugins-old:

Переименование плагинов WP в Filezilla

Это приведёт к деактивации всех плагинов одновременно. Теперь переименуйте обратно plugins-old в plugins и перегрузите свой сайт. Если ошибка 503 исчезла, плагин является причиной вашего текущего затруднительного положения.

Всё, что нам сейчас потребуется сделать, это найти тот плагин, который вызывает проблему.

Теперь вы сможете зайти в свою админ консоль на сайте WordPress через браузер и активировать по очереди один за другим все плагины.

Каждый раз, когда вы активируете плагин, перезагружайте сайт, чтобы выявить неисправный плагин. Как только вы нашли хулиганистый плагин, зайдите свой каталог plugins по FTP и удалите его:

Удаление плохих плагинов WP для устранения ошибки 503

Если деактивация плагинов не помогла в устранении ошибки 503 service unavailable, читайте дальше другие решения. Теперь давайте проверим, не является ли причиной проблемы ваша тема.

Сомнительная тема WordPress

Порой, скрипт PHP с ошибками, который выдаёт ошибку 503 может быть частью темы. Для проверки этого, мы переключимся на тему по умолчанию Twenty Seventeen. Между прочим, рекомендуется оставлять темы по умолчанию даже после установки новой темы, поскольку она (тема по умолчанию) служить запасной темой в случае проблема с вашей.

Деактивация темы WordPress

Прежде, чем мы деактивируем вашу тему (или удалим, если это проблема) нужно создать бэкап. Подключитесь к своему сайту WordPress по FTP и перейдите в каталог wp-content -> themes.

Найдите вашу текущую тему и скачайте её, как показано ниже:

Скачивание темы WordPress

Далее удалите вашу текущую тему и перезагрузите сайт. Если ошибка 503 исчезла, вам нужно исправить/обновить вашу тему. Если это не вариант для вас, тогда возьмите новую копию или другую тему.

Если ошибка 503 service unavailable осталась, возможно, фрагмент кода PHP с ошибкой находится где-то в другом месте вашего сайта.

Сбой в работе пользовательского кода PHP

Порой, код от сторонних сервисов или фрагмент кода, который вы добавили на свой сайт может вызвать ошибку 503. Но как определить, что проблема в коде.

В обычном режиме, когда ваш сайт работает, можно использовать плагины для отладки, такие как Query Monitor и Debug Bar.

Включение WP_DEBUG

Но, так как 503 ошибка часто блокирует вам вход в админ панель вашего WordPress сайта, мы будем использовать константы  WP_DEBUGи WP_DEBUG_LOGWP_DEBUG_DISPLAY и @ini_set доступные в WordPress.

Для включения режима отладки в WordPress и записи логов ошибок в файл, следуйте шагам:

  1. Откройте каталог WordPress по FTP или в Файловом менеджере.
  2. Откройте файл wp-config.php
  3. Прокрутите до определения константы WP_DEBUG. Выглядит так: define ('WP_DEBUG', false);. Если она пропущена, мы добавим её сразу перед словами /*That's all, stop editing! Happy blogging.*/
  4. Вставьте магический код отладки DEBUG. Только исправьте код define ('WP_DEBUG', false); на:
    define ('WP_DEBUG', true);
    define ('WP_DEBUG_LOG', true);
    define ('WP_DEBUG_DISPLAY', false);
    @ini_set ('display_errors', 0);
  5. Сохраните изменения

Включение дебага в WP конфиге

Теперь перезагрузите свой сайт, чтобы вызвать появление ошибки. Далее, найдите файл под названием debug.log внутри вашего каталога wp-content в каталоге WordPress.

В этом файле содержаться записи по всем ошибкам на вашем сайте. Если ваша ошибка 503 service unavailable вызвана фрагментом пользовательского кода, это будет видно с указанием её подробностей.

Устраните/замените проблемный код и перезагрузите сайт. Если ошибка 503 осталась, проблема может быть в вашем веб-сервере.

Причины, связанные с сервером

Ряд причин, связанных с сервером тоже может вызывать ошибку 503 service unavailable. Обычно, ошибка 503 вызванная проблемами с сервером исчезает автоматически через несколько минут.

Если же ошибка продолжает появляться, вот ряд решений, которые мы для вас подготовили, здесь парочка моментов, которые вы можете попробовать.

Повысить ресурсы сервера

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

Вы постоянно получаете ошибку 503 service unavailable? Если да, проверьте свои показатели в Google analytics. Если вы получаете больше трафика, чем обычно, вам определённо перестало хватать изначальных ресурсов сервера.

Однако, если у вас нету прироста в трафике, но всё равно возникает ошибка 503, ваша проблема не имеет отношение к недостаточному количеству RAM или памяти на сервере.

Ограничение частоты сканирования Google

Для индексирования вашего контента, Google использует специальные скрипты, известные как сканеры (crawlers). Они регулярно посещают сайт и собирают контент и определяют другие показатели ранжирования.

Хоть это и редкий случай, но сканирование может вызвать рост потребления ресурсов на вашем сервере и замедление работы сайта. Чтобы обойти это и избежать ошибки 503, вы можете ограничить частоту сканирования Google в Google Search Console.

Примечание: Изменения, внесенные вами, будут действовать в течение 3 месяцев. К тому же, если у вас есть версия сайта с WWW и без WWW, сделать настройки нужно для обоих.

Войдите в Google Search Console и выберите свой сайт. Далее нажмите на иконку шестерёнки, как показано ниже:

Как исправить ошибку 503 service unavailable настройки сайта

На следующей странице настройте частоту сканирования Google перемещением ползунка влево:

Как исправить ошибку 503 service unavailable search console

Ограничение WordPress Heartbeat

Согласно WordPress.org, “…Heartbeat API – это пример API приложения встроенного в WordPress и осуществляющего опрос сервера, позволяя в режиме почти реального времени видеть показатели.” Он отвечает за такие функции, как авто-сохранение и так далее.

Приложение WordPress Heartbeat API запускает файл admin-ajax.php среди других запросов с регулярным интервалом, когда вы заходите на свой сайт.

Это функциональность потребляет ресурсы вашего сервера, но вы можете её ограничить или вообще выключить. Когда вы восстанавливаете свой сайт, вы можете использовать плагин Heartbeat Control WordPress для ограничения этой функциональности, вместо того, чтобы выключить его вообще.

Чтобы определить вызывает ли WordPress Heartbeat ошибку 503 service unavailable на своём WordPress сайте, добавьте следующий код в свой файл темы functions.php сразу после открытия тэга <?php:

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Сохраните изменения и перезагрузите сайт. Если ошибка 503 пропала, вздохните с облегчением. Но если ошибка 503 service unavailable всё ещё осталась, это значит WordPress Heartbeat API является наименьшей из ваших проблем.

Если код выше не помог устранить ошибку 503, не забудьте удалить этот код из своего файла functions.php.

Заключительные заметки

Если не одно из предложенных решений для вас не сработало, возможно мы пропустили то решение, которое помогло бы именно вам. В таком случае, не стесняйтесь поделится своей ситуацией с нами в комментариях и мы сможем найти решение вместе.

Надо отметить, что ошибка 503 service unavailable, это преимущественно результат выполнения некорректного кода PHP, такого как ошибка в плагине или теме.

Также важно отметить, что 503 ошибка вызванная недостатком ресурсов сервера чаще всего проходит сама собой, поэтому всегда перезагружайте свой сайт немного погодя для проверки того, осталась ли ещё ошибка.

Независимо от того, что происходит, помните вы всегда можете исправить ошибку 503 service unavailable совершенно не утруждая себя. А поэтому, нет повода для паники, так как это не постоянная ситуация.

Сталкивались ли вы с ошибкой 503 service unavailable? Как вы её устраняли? У вас есть вопросы или предложения? Пожалуйста, делитесь ими в комментариях ниже. Заранее благодарим!

 

Добавить комментарий

Нажмите здесь, чтобы оставить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Присоединяйтесь к тысячам других подписчиков по всему миру

и получайте самые свежие руководства на вашу электронную почту

Пожалуйста, подождите...

Спасибо за подписку!

Начните экономить сейчас!

Хостинг и доменное имя от

42
00
грн/мес
[href]
[href]