Главная > Веб мастерская > WordPress > Ошибки WordPress — как исправить

Ошибки WordPress — как исправить

Основные ошибки WordPress

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

Ошибки WordPress — как исправить

Общие рекомендации

Я знаю, что эти советы давно наскучили, что вы знаете об этом и что я нудный тип, который постоянно пишет одно и тоже… Но с завидным постоянством я отвечаю на одни и те же вопросы, 90% которых возникают из-за несоблюдения нескольких довольно простых правил:

  • Не устанавливайте плагины, если не уверены в их надежности. Я знаю два источника, которым могу доверять в определенной мере: репозиторий WordPress и Codecanyon(магазин плагинов и скриптов). Конечно, там тоже хватает сомнительных решений, особенно это касается родного репозитория с плагинами.
  • Обновляйте WordPress. Разработчики не только исправляют ошибки, но и вносят некоторые дополнения, меняют механизмы ядра. Буквально вчера столкнулся с неработающим WooCommerce 2.0.5 на версии WordPress 3.4.1. Стоило обновить движок и все замечательно завелось.
  • Не ставьте экспериментов на работающем сайте. Неважно, три посетителя у вас в день или триста — гораздо разумнее сделать копию сайта и применить изменения на ней. Это убережет ваши нервы от стресса, а ваш сайт от ошибок и неполадок.
  • Делайте резервные копии. Это вообще краеугольный камень не только веб-разработки, но и любой деятельности, связанной с компьютерами.

 Белый экран смерти (WSOD)

Знакомое выражение для пользователей Windows, там системная ошибка называется BSOD и отличается синим цветом экрана. Обычно, WSOD не возникает на пустом месте и связан, чаще всего, с установкой какого-либо плагина, либо шаблона. Вся неприятность данной ошибки — она блокирует админ-панель и сам сайт. Откатиться можно только при помощи файлового менеджера хостинга или по FTP-протоколу.

Почему возникает WSOD?

  • установка плагина или шаблона, несовместимого с текущей версией движка
  • конфликт плагина с другим расширением или темой
  • обновление старого плагина, вызвавшее ошибку

В любом случае — отследить виновника несложно, если вы только что обновили некий плагин или шаблон. Как быть, если вы обновили одним махом 10-20 плагинов(невероятная ситуация, но все таки возможно и такое)? Очень просто…

  • переименовать каталог с плагинами (plugins1 к примеру) и создать новый с тем же названием, при этом движок перестанет видеть установленные плагины и можно будет включать их по одному, чтобы найти виновника.
  • переименовать текущий используемый шаблон, не забыв предварительно добавить стандартный шаблон (Twenty любой). После переименования WordPress переключится на доступную стандартную тему и можно будет зайти в админ-панель.

Ошибка 500 wordpress — как исправить

500 internal server error — Ошибка довольно неприятная, но редкая. Чаще всего связана с неправильным файлом .htaccess в корневом каталоге сайта. Лечится довольно просто — достаточно удалить его, затем зайти в админ-панель WordPress, перейти в раздел постоянных ссылок и сохранить еще раз желаемую структуру. После сохранения — WordPress создаст новый файл htaccess и с очень большой вероятностью ошибка пропадет.

Кроме этого, есть еще множество других причин возникновения ошибки 500. Лучший способ выяснить причину — открыть файл error_log, который обычно находится в корне сайта(если хостер включил журналирование, конечно).

Есть неплохой стандартный вариант — необходимо включить режим отладки WordPress. Для этого добавьте в файл wp-config.php такую строку:

1
DEFINE ('WP_DEBUG', TRUE);

и затем уже смотреть журнал ошибок. В таком случае ошибка будет описана более подробно, что облегчит поиск и устранение.

 Error establishing a database connection

На мой взгляд — наиболее распространенная ошибка у начинающих. Может возникнуть в следующих случаях:

  • неверный параметр соединения с базой данных. Какой-то из трех параметров подключения (адрес, логин, пароль) неверен, нужно перепроверить файл wp-config.php. Важно! Убедитесь, что каждый из них заключен в одинарные кавычки.
  • не работает сервер баз данных MySQL. Если у вас VPS — необходимо перезагрузить сервер, если обычный хостинг — обратиться в техподдержку, пускай проверяют.
  • пользователь не имеет доступа к изменению таблиц БД. Для исправления необходимо добавить пользователю права(я ставлю обычно полный доступ к БД), делается это при помощи панели управления хостингом

Warning: Cannot modify header information — headers already sent by…

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

Используя ваш любимый текстовый редактор удалите все пробелы и пустые строки перед <?php и ?>

После чего перезапишите файл на сервере — с вероятностью в 99,9% проблема будет решена.
 Warning: Cannot modify header information

Довольно часто эта ошибка возникает при сохранении файла в формате UTF-8 с BOM, как правильно заметили в комментариях. Для решения необходимо выбрать формат сохранения без BOM.

An automated WordPress update has failed to complete

Ошибка довольно редкая, но иногда встречается. Чаще всего возникает, когда мощности хостинга не хватает для завершения автоматического обновления. Я бы рекомендовал бежать от такого хостера Но если альтернативы нет, поможет обновление движка вручную в таком порядке:

  • Качаем последнюю версию с ru.wordpress.org (ну или на вашем родном языке) и распаковываем
  • Отключаем все плагины на сайте, если это возможно
  • По FTP заходим в корневую папку сайта и удаляем директории wp-includes и wp-admin
  • Копируем эти папки из распакованного дистрибутива WP
  • Заменяем файлы в корневой папке на содержимое корня дистрибутива
  • Важно! Не трогайте папку wp-content, надеюсь понятно, почему

Briefly unavailable for scheduled maintenance.

Check back in a minute.Простая до безобразия ошибка, решающаяся удалением файла .maintenance из корня сайта. Возникает из-за неправильно завершившегося автоматического обновления. Если это так — вам поможет пункт выше. Но чаще всего просто автоматически не удаляется этот файл, только и всего.

FATAL ERROR: ALLOWED MEMORY SIZE OF

Эта ошибка WordPress возникает из-за недостатка памяти, выделенной для процесса PHP. Все, что вам нужно сделать, это увеличить количество памяти, если это возможно. Есть несколько способов сделать это:

  • Если вы можете редактировать файл php.ini, добавьте к нему строчку memory_limit = 64M(ну или найдите существующую и смените значение) и перезапустите сервер.
  • Отредактируйте .htaccess файл, расположенный в корневом каталоге, добавьте php_value memory_limit 64M.
  • Измените файл wp-config.php, добавьте DEFINE (‘WP_MEMORY_LIMIT, ’64M’);
  • Создаем php.ini файл внутри папки wp-admin c таким содержимым: memory_limit = 64M;

Какой-то из способов должен сработать Стоит заметить, что некоторые хостеры выделяют максимальный предел памяти на уровне 8-16М и не дают менять это значение. В таком случае я бы советовал замену хостинга.

Connection time out

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

  • увеличиваем лимит памяти (читаем выше)
  • по возможности — деактивируем не совсем нужные плагины
  • переход на стандартный шаблон, вроде Twenty Twelve

Maximum execution time of 30 seconds exceeded

Каждый файл PHP имеет максимальное время своего выполнения. Если он не «укладывается» в отведенные настройками рамки, возникает эта ошибка. Чаще всего проблема возникает из-за неправильного функционирования дополнений (функция замыкается в цикле, к примеру). Для решения попробуйте сбросить каталог плагинов и текущий шаблон. Если это не сработает, значит ваш хостинг недостаточно мощный для вашего проекта, с соответствующими выводами.

Как вариант, можно попытаться увеличить максимальное время выполнения:

  • измените .htaccess в корневом каталоге WordPress, добавьте строку: php_value max_execution_time 60
  • измените, если есть возможность, файл php.ini, добавьте строку: max_execution_time = 60;

Ошибки, связанные со структурой БД

Я сталкивался только с двумя ошибками MySQL, возможно вариантов больше. Если у вас есть информация — поделитесь в комментариях, я дополню статью.

  • Ошибка 145. Это значит, что структура БД повреждена и нуждается в восстановлении. При помощи phpMyAdmin или любого другого менеджера БД можно провести repair (восстановление стандартными средствами) Не забывайте про предварительный бэкап вашей базы
  • Ошибка 28. Не связаннная с WordPress ошибка, которая относится к самому MySQL. Решается при помощи техподдержки хостинга.

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

NEW!!! Полезное, нужное, важное:

Честный и надежный заработок в интернете
Платежные системы, кошельки и обменники для работы

Лучшие хостинги, сервера и прочее для сайтов

Смотрите также

Как добавить кнопки ВК, Facebook и Twitter в WordPress

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