Мы все любим WordPress, но иногда он просто сводит с ума. Не зависимо от того — ужасающий ли это белый экран смерти, не известная PHP ошибка, причиной которой послужила проблема с сервером или плагином, приводящая к крушению сайта, это никогда не бывает весело.
Но где бы WordPress не решил подвести вас, не стоит волноваться, потому из этого поста вы узнаете, что для любой проблемы найдется решение. Сегодня вы и я вместе, решим 15 самых распространенных WordPress ошибок. Что же, давайте начнем с самой часто встречающейся ошибки.
Внутренняя ошибка сервера (Internal Server Error), она же Ошибка 500
Практически каждый знакомый мне WordPress-пользователь хотя бы однажды сталкивался с «Ошибкой 500». Она довольно-таки раздражающая, так как в отличие от многих других WordPress ошибок, «Внутренняя ошибка сервера» даже не намекает нам на то, что нужно исправить, чтоб решить проблему. Такая ошибка может сильно вас расстроить, так как у нее может быть несколько причин, которые описаны ниже.
Вот причины, приводящие к «Ошибке 500»:
- Сбой в работе плагина
- Сбой в работе темы
- Сбой в работе файла .htaccess
- Исчерпан лимит PHP-память
Как исправить «Ошибку 500»:
Эта ошибка запросто может заставить новичка паниковать, но не стоит волноваться, ее можно решить.
Отредактировать файл .htaccess.
Так как к этой ошибке главным образом приводит сбой в работе файла htaccess, авторизуйтесь в корневой директории WordPress с помощью файлового менеджера (или FTP) и переименуйте файл .htaccess в .htaccess.old и обновите браузер, чтоб посмотреть решена ли проблема. Если ошибка пропала, идем в Параметры->Постоянные ссылки и кликаем кнопку «Сохранить изменения», чтоб перезапустить ваш .htacess и переписать правила. Если это не сработало, то нужно проверить ваши плагины
Деактивировать все плагины.
Если вы только что установили какой-либо плагин, и он стал причиной проблемы, это хорошо, так как вы знаете, что нужно деактивировать или удалить. Но в другой раз причиной такой ошибки может стать один из старых плагинов (или несколько плагинов, которые не совместимы друг с другом). Пока вы не деактивируете все плагины, вы не узнаете, стали ли они причиной возникшей проблемы.
Замечание: если вы столкнулись с «Внутренней ошибкой сервера», у вас, вероятно, нет доступа к админ-панели WordPress. Так как же деактивировать плагины? Ок, вы можете почитать Кодекс WordPress. Или же можно узнать, как деактивировать все плагины без доступа в админку WordPress, прочитав статью на сайте WPBeginner (http://www.wpbeginner.com/plugins/how-to-deactivate-all-plugins-when-not-able-to-access-wp-admin/). Если ошибка пропала после деактивации плагинов, вы нашли свою проблему, и настало время поиграть в игру «угадай проблемный плагин». Активируйте расширения один за другим, пока не найдете виновника проблемы. Удалите плагин и займитесь поиском лучшей альтернативы. Также можно оповестить автора плагина об ошибке, так как WordPress прекрасен разнообразием плагинов.
Сменить тему
Если плагины ни в чем не повинны, то возможно шалит ваша тема. Переключитесь на шаблон Twenty Twelve и перезагрузите ваш сайт. Если вы все еще видите ошибку, вероятно, вам нужно заняться WordPress-директориями
Восстановить директории the wp-admin и wp-includes.
Если ошибка никуда не пропала, попробуйте заменить папки wp-admin и wp-includes новыми папками из свежей инсталляции WordPress
Увеличить лимит PHP-памяти.
Если все уже перепробовано, а проблема не решена, придется запачкать руки и навести порядок на сервере. «Внутренняя ошибка сервера» — вещь неприятная, так что думаю, вас ничего не остановит в попытках решить проблему. Вот вам гайд по наращиванию PHP-памяти. Если вы любитель радикальных мер, то запустите ваш Редактор кода и создайте текстовый файл под названием php.ini. Внутри файла должен быть этот код:
1
|
memory=64MB
|
Сохраняем и загружаем файл в папку /wp-admin/. Если после расширения PHP-памяти ваша проблема ушла, спросите у вашего хостера, что приводит к ее истощению. Причина может быть любой, начиная от неправильной работы темы до криво написанных плагинов. Хостер должен снабдить вас информацией из журнала операций.
Неудачное авто обновление
Сейчас WordPress можно безопасно обновлять в автоматическом режиме, так как количество багов и других подобных вещей сведено к минимуму. Автообновление – это действительно гениальная функция, но иногда она дает сбой. Если автообновление не предусматривает какого-либо человеческого вмешательства, как узнать, что обновление прошло неудачно? Вы увидите что-то из этого:
- Сообщение об ошибке PHP
- Чистый белый экран (также известный как белый экран смерти — WSOD)
- Предупреждение, говорящее о том, что апдейт не удался.
Причины неудачного автообновления:
- Возникла проблема с доступом в интернет во время обновления.
- Сбой связи с главными WordPress-файлами
- Выставлены некорректные права на управления файлами
Решение проблемы с неудачным автообновлением:
Обновляйте WordPress вручную. Если вы не знаете с чего начать, почитайте гайд по мануальному обновлению WordPress в Кодексе.
Ошибка синтаксиса кода WordPress
Проведенный мною анализ показал, что не редко встречаются ошибки, допущенные людьми, которые используют сниппеты кода на своих WordPress-сайтах. Когда вы сталкиваетесь с этой ошибкой, то видите что-то вроде этого:
1
|
Parse error — syntax error, unexpected $end in /public_html/your_site/wp— content/themes/your— theme/functions.php on line 38
|
Не стоит впадать в уныние из-за этого, так как сразу понятно, где искать проблему.
Причина появления ошибок синтаксиса:
Как правило, ошибка синтаксиса появляется там, где потерялся или наоборот появился неожиданный символ. В большинстве случаев такое возникает, когда неопытный пользователь пытается редактировать код темы или плагина, но также подобная ошибка появляется, если вы установили новую тему или плагин, содержащий ошибку.
Как исправить ошибку синтаксиса:
- Научиться правильно вклеивать сниппеты кода. Если вы новичок в WordPress, то вас ждет долгий, но веселый путь к освоению этой системы управления контентом. Спешить нет смысла, так что разбирайтесь во всем, не торопясь. Если вы столкнулись с этой ошибкой после вклейки сниппета, то вам нужно научиться вклеивать их в WordPress правильно или сделаете только хуже.
- Исправить кусок неправильного кода. Если эта WordPress-ошибка возникла после обновления плагина или вклейки кода из сети, вы знаете, где искать поломку. Проблема заключается в том, что если ошибка не дает вам попасть на сайт и воспользоваться «Внешний вид -> Редактор (или Плагины -> Редактор)». Это, конечно же, пугает большинство новичков, но не стоит волноваться, так как всегда можно отредактировать файлы WordPress с помощью FTP или Файлового менеджера из вашей cPanel. Найдите поврежденный файл и исправьте код, удалив его или переписав.
- Попробовать другую тему или плагин. Если ошибка появилась после активации новой темы или плагина, то вероятнее всего она вызвана темой или плагином. Так что вы можете найти альтернативу вашему выбору или связаться с разработчиками, чтоб те решили проблему. В некоторых случаях у вас может не быть возможности авторизоваться в WordPress, и в таком случае можно удалить плагин или тему с помощью FTP.
Error Establishing A Database Connection (Ошибка соединения с базой данных)
Из всех распространенных ошибок WordPress эта сама объясняет причину своего появления: где-то нарушена связь с базой данных WordPress.
Причины возникновения ошибки соединения с базой данных:
- Ошибка файла wp-config.php
- Проблемы с вашим хостинг-провайдером.
- Вас хакнули!
Что делать, если возникла ошибка соединения с базой данных:
a. Отредактировать ваш wp-config.php file
Получите доступ к файлу wp-config.php с помощью файлового менеджера или FTP и удостоверьтесь в том, что имя базы данных, хост, имя пользователя и пароль указаны правильно.
b. Решить проблемы с вашим веб-хостингом
Если wp-config.php выглядит нормально, а ошибка никуда не ушла, вам нужно поговорить с вашим хостинг-провайдером. Вам скажут, в чем проблема: упал ли сервер или хостер просто решил расширить лимит оперативной памяти вашей базы данных. Если вам скажут, что с их стороны все в порядке, то пришло время озаботиться вопросом WordPress-безопасности на вашем сайте.
c. Просканируйте ваш сайт на наличие угроз
Хакеры не дремлют. Да, не дремлют. В любое время вы можете пасть жертвой хакерской атаки, особенно если вы не знаете, как обезопасить ваш WordPress-сайт. Чтоб удостовериться в том, что ваш сайт не был хакнут, просканируйте его с помощью инструмента типа Sucuri Sitecheck.
Ошибка «Briefly Unavailable For Scheduled Maintenance»
1,2,3…все отдохнули, давайте попытаемся понять, почему мы сталкиваемся с этой не с такой уж мимолетной ошибкой. И, кстати говоря, вам совершенно не стоит волноваться на ее счет, так как эту ошибку очень просто решить. Но сначала, давайте глянем на причины ее возникновения.
Причины возникновения ошибки «планового техобслуживания»:
- Неудачное обновление WordPress привело к тому, что некоторые вещи вышли из-под вашего контроля.
- По каким-то причинам после обновления не был удален файл .maintenance
Как избавится от этой ошибки:
- Обновлять WordPress вручную.
Идем в корневую директорию WordPress с помощью FTP или файлового менеджера и удаляем файл .maintenance Чувствуете в себе силы устранить любую ошибку, если/когда такая возникает? Если так, то давайте двигаться к ошибке № 6.
Не работает восстановление пароля по электронной почте.
Главная причина возникновения данной проблемы заключается в людской забывчивости. Может быть, попробуете поделать упражнения для укрепления памяти? Шучу, мы все что-то забываем, даже такие важные вещи, как пароли, имена пользователей, и email-адреса. В этом случае вы вынуждены воспользоваться страницей восстановления пароля. Но проблема заключается в том, что вы так и не дождетесь ссылки для сброса пароли на свой почтовый ящик. Вы проверяете почту опять, роетесь в папке со спамом, но опять нет ссылки.
Причина возникновения проблемы:
Почему-то ваша WordPress инсталляция не высылает вам ссылку для сброса пароля, и почему так происходит никому неизвестно. Но главная загвоздка заключается не в том, что вы не получили ваш пароль, а в том, что вы вообще не можете его сбросить. Хорошо, есть парочка решений.
Как решить проблему со сбросом пароля:
Перезапустить ваш WordPress с помощью phpMyAdmin. Это решение наиболее «технарское» из двух предложенных.
- Авторизуйтесь в вашей cPanel и перейдите в phpMyAdmin.
- В списке баз данных выберете вашу базу данных. (ваш хостер поможет вам, если вы не можете найти нужную)
- Откройте таблицу wp_users и выберете того пользователя, которому нужно сменить пароль.
- Нажмите «редактировать» и введите новый пароль в поле user_pass.
- Выберете функцию MD5 из выпадающего меню
- Кликните кнопку Go и сохраните изменения.
Отредактировать файл functions.php
И вот он, менее технический способ. Файл functions.php ответственен за многие вещи, происходящие на вашем WordPress-сайте. Если с восстановлением пароля по email полный мрак, то нужно:
Перейти по “.../wp-content/themes/ваша активная тема /” используя FTP или файловый менеджер, скачайте functions.php file.
Откройте его в редакторе кода и добавьте следующий код:
1
|
wp_set_password('DesiredNewPassword', 1);
|
Замените DesiredNewPassword на ваш новый пароль. Номер один (1) — это ваш пользовательский ID в wp_users table. Сохраните и загрузите functions.php на место. Когда вы авторизуетесь на вашем сайте, удалите этот код (скачайте functions.php, удалите код и снова загрузите в директорию с темой).
Ошибка «HTTP Error 403 – Forbidden»
Если вывидите сообщение «You are not authorized to view this page. (Ошибка 403, вам требуется зарегистрироваться для просмотра этой страницы)», когда пытаетесь авторизоваться на вашем WordPress-сайте, то вы столкнулись с одной из самых популярных ошибок WordPress — «HTTP Error 403 – Forbidden».
Причина Ошибки 403:
Проблема с индексным файлом, если ваш блог «живет» на сервере Windows.
Решение проблемы, при возникновении Ошибки 403:
Положить в корневую директорию файл index.php. Чтобы сделать это идем в Control Panel -> Web Options -> Directory Indexes и кидаем туда index.php.
Сайдбар переместился под контент
Эта ошибка меня крайне озадачила, когда я впервые с ней столкнулся. Я был убежден, что моя тема совершенно никуда не годится, и собирался изменить ее целиком. Так что я позвал поисковых роботов Google и понял, что получил одну из самых распространенных WordPress ошибок. Осознав это, я успокоился. Пара кликов плюс пара прокруток страниц, и я нашел причины.
Причины перемещения сайдбара под контент:
- Ошибки HTML – иногда вы можете забыть закрыть парочку элементов div.
- Ошибки CSS – в другой раз вы можете задать непропорциональную ширину, что приведет к искажению всего вашего шаблона.
Как решить проблему:
- Закрыть div элементы. В большинстве случаев в этой проблеме виноваты div элементы. Закройте все открытые div’ы и уберите лишние div элементы, которые выталкивают сайдбар за границы контейнера. Используйте инструмент типа W3 Validator для того, чтоб проверить, не стал ли ваш HTML-код причиной ошибки.
- Исправить ваш CSS. Из-за того, что ширина задана непропорционально ваш шаблон может перекосить, что ведет к перемещению сайдбара под контент. Все должно быть пропорционально. Например, если ширина главного контейнера 920px, то область контента должна составлять 620px, тогда на сайдбар будет приходиться 250px, а остаток в 50px пойдет на поля. Также аккуратнее используйте свойство float
Админка WordPress отражается некорректно
Зашли в админ панель и обнаружили, что с консолью все совсем не в порядке? Я имею в виду, что ссылки отражаются неправильно, не на своих местах, в виде списков ссылок, так как консоль отображается без подключения CSS.
Причины некорректного отображения админ-панели:
- Прокси и файерволы блокируют CSS-файлы
- Поврежденные плагины админ-меню
Как решить проблему неправильного отображения админ-панели:
- Убедитесь в том, что вы не находитесь под защитой прокси или файервола (возможно вы зашли на сайт с рабочего компьютера), попытайтесь попасть на сайт с какого-либо другого компьютера без файервола и прокси. Вы также можете попробовать почистить файервол и кэш прокси, и посмотреть сработало ли это.
- Обновите/деактивируйте плагины админ-меню. Если ошибка выскочила после установки плагинов типа Lighter Menus и Admin Drop Down Menu, попытайтесь их обновить или переустановить. Если ошибка не ушла, деактивируйте плагин.
Ошибка — Connection Timed Out (вышло время ожидания подключения)
Если ваш сайт «живет» на перегруженном множеством сайтов сервере, то вы будете встречаться с этой проблемой сравнительно часто.
К этой ошибке ведут следующие проблемы:
- Тяжелые плагины
- Ошибки функционирования темы
- Нехватка PHP-памяти
Пути решения проблемы:
- Деактивировать недавно установленные плагины или перезапустить папку с расширениями.
- Увеличить лимит PHP-памяти.
- Переключиться на тему Twenty Twelve, чтоб узнать, не стала ли ваша тема причиной сбоя.
Ошибка «Warning: Cannot Modify Header Information – Headers Already Sent By»
Еще одна распространенная ошибка WordPress, которая беспокоит многих WordPress-пользователей, особенно начинающих. Если вы уже сталкивались с ней, то вероятно видели что-то вроде этого:
Warning: Cannot modify header information — Header already sent by (Output started at /blog/wp-config.php:34)
Последняя часть (Output started at /blog/wp-config.php:34) говорит нам, откуда взялась ошибка
Причина возникновения ошибки:
Присутствие пробелов в затронутом файле (в случае выше это wp-config.php)
Решение проблемы:
- Вам нужно будет удалить все пробелы. Для устранения ошибки нужно:
- Скачать затронутый файл (например, wp-config.php) с помощью файлового менеджера или FTP
- Открыть файл в вашем любимом редакторе кода (например, Notepad++)
- Удалить все пробелы перед первым <?php (первый <?php должен находиться в первой строке)
- Удалить все пробелы после закрывающего ?>
- Сохранить файл.
Плагин, который невозможно удалить
У некоторых плагинов есть скрытые файлы, которые могут стать настоящей головной болью, если вам захочется удалить одно из таких расширений. В связи с этим хорошая идея скачивать плагины (и если уж на то пошло и темы) только с тех сайтов, которым вы доверяете. Проблема в том, что вы не можете удалить плагин из админ-панели, и даже после удаления папки с плагином с помощью файлового менеджера (или FTP) он все равно никуда не девается. Магия? Не совсем…
Почему иногда так сложно удалить плагин:
Имеются скрытые или вложенные файлы.
Решение проблемы:
- Брать плагины только с проверенных ресурсов. Не хватайте расширения откуда угодно. Если вы хотите приобрести на совесть написанный плагин, воспользуйтесь ресурсами типа CodeCanyon или WPExplorer. Если вас интересуют бесплатные плагины, то загляните в репозиторий WordPress. Лучшее лечение – это профилактика, верно?
- Удалите плагин с помощью протокола Secure Shell (SSH). Этот трюк сработает только, если у вас есть доступ к сайту по SSH. Вот, что нужно сделать. Авторизуйтесь в блоге с помощью протокола SSH и идите в “.../wp-content/plugins/“. Используйте команды Is –aI для перемещения по папкам, и чтоб, наконец, удалить проблемный плагин, используйте команду rm (имя папки).
WordPress Posts Returning 404 Error (Страница не найдена)
Вы открываете отдельные записи, и каждый раз получаете ошибку 404, и это не очень хорошо, так как в записях как раз заключается вся «соль» WordPress-блога.
Причины возникновения ошибки 404:
Проблема с настройками постоянных ссылок
Как устранить ошибку 404:
a. сохранить постоянные ссылки
Эту WordPress-ошибку очень легко решить, так что не паникуйте — скоро ваши читатели опять смогут читать записи. Идем в Параметры-> Постоянные ссылки и жмем кнопку «Сохранить изменения».
b. исправить файл .htaccess
Если настройка пермалинков не помогла решить проблему, пришло время вручную поправить файл .htaccess. Идем в корневую директорию WordPress и скачиваем файл .htaccess. Если его не существует, создаем новый файл и сохраняем его, как .htaccess. Добавляем следующий код в файл .htaccess:
1
2
3
4
5
6
7
8
9
10
|
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !— f
RewriteCond %{REQUEST_FILENAME} !— d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
|
Сохраните и загрузите файл .htaccess на прежнее место.
Ошибка «WordPress Memory Exhausted» (Нехватка оперативной памяти WordPress)
Как известно, эту ошибку всегда сопровождает белый экран смерти или сообщение об этой ошибке
1
|
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home/username/public_html/your_site/wp— includes/plugins.php on line 36
|
Причины нехватки оперативной памяти:
Какой-либо плагин или скрипт съедает всю вашу память.
Решение проблемы:
Проще всего увеличить вашу оперативную память. Чтоб это сделать, откройте файл wp-config.php (его можно найти в корневой директории) и добавьте туда этот код:
1
|
define ('wp_memory_limit', '64M');
|
Замечание: вам не придется скачивать этот файл (или любой другой), если вы используете файловый менеджер. Вы можете отредактировать файл прямо там. Поговорите с вашим хостером, если не можете понять, как редактировать файлы в файловом менеджере.
Ошибка «Fatal Error Undefined Function is_network_admin»
Я решил закончить этот пост описанием очень простой, но и очень распространенной ошибки.
Причины возникновения ошибки:
Сбой автообновления WordPress.
Как решить проблему:
Обновлять WordPress вручную. Очень просто, правда?
http://wpnice.ru/oshibki-wordpress-15-samyh-rasprostranennyh-problem-s-resheniyami/ — link
Инструкция о том как увеличить память для работы с php на WordPress
Php Memory Limit — это максимальное количество памяти (RAM), которое Ваш сайт может использовать единовременно.
WordPress по умолчанию использует 40мб памяти для работы с php. Многие плагины такие как WooCommerce или любые слайдеры требуют для своей корректной работы гораздо больше памяти и я хотел бы поделиться не большой инструкцией, как увеличить память PHP в WordPress.
1) Что нужно сделать, если Вы используете хостинг, а не свой например домашний сервер, уточните у техподдержки Вашего хостера сколько максимум памяти они Вам предоставляют.
Вот например, что ответил мой хостер когда я у него запросил данную информацию:
Максимальное использование оперативной памяти на процесс для тарифных планов виртуального хостинга составляет 128 Мб. Увеличить данный параметр Вы можете осуществив переход на один из тарифных планов для 1С-Bitrix. На тарифных планах «1Сайт» и «Eterno» выделяется 512МБ, на тарифе «Premium» — 1024МБ.
2) Теперь когда мы знаем сколько мы максимум можем использовать памяти, открываем ftp или любой другой доступ к файлам нашего сайта. В корне сайта находим фаил «wp-config.php» и открываем его для редактирования.
3) В файле ищем текст:
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*/
define('WP_DEBUG', false);
/* That's all, stop editing! Happy blogging. */
Вставляем строку
define('WP_MEMORY_LIMIT', '256M');
после строки
define('WP_DEBUG', false);
Вместо 256 ставить любое число в зависимости от того сколько памяти Вам нужно. Например плагин Revolution Slider версии 5.1.5 требует для корректной работы 256мб памяти.
В итоге у Вас должно получиться следующее:
*/
define('WP_DEBUG', false);
define('WP_MEMORY_LIMIT', '256M');
/* That's all, stop editing! Happy blogging. */
После этого сохраняем файл и проверяем. Многие плагины уже содержат встроенную проверку системы (чекер), так что проверить не составит труда.
Вот пример проверки системы из плагина WooCommerce:
https://chelp.info/ — link