Ддос ошибка 500

Коды ошибок, которые начинаются с цифры 5, говорят о проблемах на стороне сервера. Но это не значит, что советы по их исправлению будут интересны только администраторам выделенных серверов. Узнаем, что нужно делать с пятисотыми ошибками и владельцу VPS, и пользователю виртуального хостинга.

500 Internal Server Error (Внутренняя ошибка сервера)

Серверу не удалось обработать запрос к сайту. Возможных причин для этого может быть много, но сузить их круг можно, восстановив последовательность ваших действий перед сообщением об ошибке. Также изучите само сообщение: комментарий «Internal Server Error» говорит о проблемах с файлом .htaccess, текст «HTTP ERROR 500» — о проблемах со скриптами, а текст «PHP Parse error: syntax error, unexpected» или «Internal Server Error nginx» — о неполадках в CMS.

Ошибка 500

1. Проверьте сайт, созданный с помощью CMS, на наличие проблем с плагинами или ошибок в коде. В этом вам могут лог-файлы. При обнаружении проблемного плагина обновите его или верните прежнюю версию. Если это не помогло, откажитесь от него. Если ошибка произошла после обновления CMS, проведите обновление повторно.

2. Посмотрите файл .htaccess на предмет ошибок в командах. Закомментируйте директиву Options, поставив перед ней решётку: если после этого ошибка 500 перестанет появляться, значит, есть нарушения в синтаксисе и в описании команд.

3. Убедитесь, что права доступа к файлам, папкам и скриптам выставлены верно. Для папок рекомендуется значение 755, для скриптов — 600, а для других файлов — 644. При других вариантах прав доступ к сайту может блокироваться в целях безопасности.

4. Проверьте, всё ли в порядке со скриптами. Возможно, какой-то из скриптов слишком медленный или время ожидания ответа от сервера слишком мало. Если при просмотре лог-файлов выяснится, что какой-то из скриптов незапланированно требует слишком много памяти, оптимизируйте его или удалите. А если обнаружится, что какой-то из скриптов вовсе не запускается, убедитесь, что функция прописана верно, поддерживается сервером и соответствует используемой версии PHP.

5. Отдельно обратите внимание на CGI-скрипты: вероятно, строки в них имеют не те окончания, что исправляется загрузкой скриптов через FTP в режиме ASCII. Также некорректная работа CGI-скриптов может быть причиной ошибок в HTTP-заголовках, что тоже приводит к ошибке 500. Либо же имеются ошибочные директивы, предназначенные для работы со скриптами.

502 Bad Gateway (Ошибочный шлюз)

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

Ошибка 502

1. Перезагрузите страницу. Зайдите на любой другой сайт, которой точно должен работать в данный момент. Это поможет узнать, есть ли у вас доступ к интернету в принципе. Если доступ есть, очистите файлы cookies в браузере, а затем посетите сайт снова.

2. Убедитесь, что на ваш сайт не совершается DDoS-атака. В противном случае обратитесь к хостинг-провайдеру.

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

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

5. Посмотрите настройки сервера. Возможными поводами для появления ошибки 502 могут быть:
• неполадки после установки обновлений;
• превышение лимитов на число обращений к внешним ресурсам и на время ответа сервера;
• некорректные лимиты в файлах конфигурации ini;
• превышение лимита на число php-cgi-процессов;
• недостаточная оптимизация скриптов;
• недостаточная оптимизация запросов;
• неправильная работа модулей (если ошибка возникает при обращении к скриптам конкретного расширения).

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

503 Service Unavailable (Сервис недоступен)

Сервер не работает из-за перегрузок. Либо же происходит плановая перезагрузка или отключение сервера: в этом случае вместе с сообщением об ошибке после слов «Retry-After» должно отображаться время, когда сервер вернётся в работу. Если же ошибка 503 появляется часто и не по причине плановых работ, то это говорит о неполадках, которые следует устранить.

Ошибка 503

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

2. Как и в случае с ошибкой 502, удостоверьтесь, что на сайт не производится DDoS-атака.

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

4. Проверьте, не слишком ли активно посещают ваш сайт поисковые роботы. Если это имеет место быть, ограничьте их активность.

5. Удалите тяжёлые или вовсе ненужные плагины и компоненты.

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

7. Организуйте передачу больших статичных файлов напрямую, а не через скрипты.

8. Оптимизируйте почтовую рассылку: распределяйте отправку писем по времени, запускайте рассылку в часы наименьшей нагрузки.

9. Оптимизируйте SQL-запросы, выявите самые медленные из них с помощью лог-файлов.

504 Gateway Timeout (Шлюз не отвечает)

Один из серверов не дождался ответа от вышестоящего сервера, о чём сообщает кодом 504.

Ошибка 504

1. Перезагрузите страницу, убедитесь в стабильности работы сетевых устройств.

2. Как и в предыдущих случаях, проверьте работу скриптов. Важно, чтобы они выполнялись не слишком долго, а внешние соединения происходили успешно.

3. При чрезмерной нагрузке на сервер увеличьте его ресурсы или оптимизируйте сайт.

4. Если возможно, увеличьте время ожидания при использовании nginx как прокси-сервера для Apache. Для этого добавьте эти строки в блоке server в файле nginx.conf:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

5. Если у вас нет возможности менять настройки сервера, обратитесь к хостинг-провайдеру.

Также посмотрите ответы на вопросы из нашего раздела FAQ:

  • Отчего возникает ошибка 500?
  • Отчего возникает ошибка 503?
  • Как изменить страницы ошибок 403, 404 и 500?

Кстати, недавно мы в целом рассказали о кодах состояния сервера, к которым относятся в том числе и коды ошибок.

Ошибка 500 на виртуальном хостинге «Internal Server Error»

Когда возникает и что такое внутренняя ошибка 500 сервера?

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

Причинами появления ошибки на виртуальном хостинге могут быть:

  • Неверный синтаксис файла .htaccess  или наличие в нем неподдерживаемых директив. Чаще всего достаточно закомментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.

    Также может помочь замена текущего файла .htaccess на стандартный для вашей CMS.

  • Запущено максимальное количество процессов. На услугах виртуального хостинга установлено ограничение в 20 одновременно запущенных процессов (посмотреть все ограничения). Если этот лимит будет достигнут, новый процесс не сможет запуститься и возникнет ошибка.

    Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других зависших процессов.

    Для решения проблемы, вы можете: 

    — увеличить интервал запуска заданий CRON; 

    — ограничить количество IMAP-соединений в настройках почтового клиента: Ограничение IMAP-соединений;

    — проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.

  • Установлены некорректные права на файлы и каталоги сайта. В некоторых случаев корректными правами для каталогов являются «755», а для файлов — «644». Проверьте их правильность и при необходимости измените права на файлы и папки.
  • Ошибка в скриптах. Если существует ошибка в скрипте, или при наличии функции, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете.
  • Не хватает оперативной памяти. Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией. Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность перейти на VPS. 

Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.

Ошибка 502 на виртуальном хостинге «Bad Gateway»

Ошибка 502 возникает когда Apache работает в связке с Nginx. Запрос от пользователя прошел через NGINX к Apache но тот в свою очередь вернул нулевой результат прокси-серверу NGINX.

Причина возникновения ошибки 502 может быть несколько:

  • Дочерний процесс apache не смог обработать поступивший к нему запрос и завершился досрочно. Зачастую это связано с ошибкой в скрипте сайта или нехваткой памяти для выполнения процесса. Начните свой поиск error 502, в таком случае с логов ошибок сайта. Вполне возможно там будет информация, которая привела к возникновению этой ошибки. Но зачастую лог не содержит ничего полезного по этой проблеме, поскольку процесс апач завершился досрочно. Если это так, разбейте свой скрипт на участки, и выполняйте их поочередно. Это должно помочь найти 502 error.
  • Процесс Apache завершился по таймауту и не вернул в поток вывода никаких данных. Обычно это связано с длительным выполнением скрипта, либо зацикливанием в нем. Чтоб не получать 502 bad gateway, когда скрипт выполняется длительное время, лучше его запускать из консоли, а в случае если скрипт запускается регулярно, поставить его на CRON. 
  • Запущено максимальное количество процессов. На услугах виртуального хостинга установлено ограничение в 20 одновременно запущенных процессов (посмотреть все ограничения). Если этот лимит будет достигнут, новый процесс не сможет запуститься и возникнет ошибка. 

    Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других зависших процессов.

    Для решения проблемы, вы можете: 

    — увеличить интервал запуска заданий CRON; 

    — ограничить количество IMAP-соединений в настройках почтового клиента: Ограничение IMAP-соединений;

    — проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.

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

Если 502 ошибка возникает регулярно, напишите заявку в службу поддержки. В заявке укажите:

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

Ошибка 502 на VPS

Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов. 

Наиболее частые причины возникновения 502 ошибки: 

  • Какой-то из сервисов выключен. Необходимо перезапустить веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
  • Между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера. 

Если вам не удалось самостоятельно устранить ошибку 502, обратитесь в техподдержку.

Ошибка 503 на виртуальном хостинге «Service Temporarily Unavailable»

У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет, и вместо результата браузер выдаст оповещение “Сервис временно недоступен”. Ошибка может возникнуть из-за превышения лимита на количество PHP-процессов. Согласно техническим ограничениям на тарифных планах виртуального хостинга.

Причины возникновения данной ошибки:

  1. Зависание скриптов при передаче больших статичных файлов через php. Скрипты работают определенное время, а не постоянно. При завершении времени работы скрипта прерывается передача файла, соответственно, файл не будет передан полностью, а также запрос оставит процесс веб-сервера работать еще длительное время. Устранить ошибку вы сможете посредством следующих шагов:

    — Проверить наличие у вас медленных запросов — в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы. 

    — Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта. 

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

  2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько: 

— Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.

  • DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению, воспользовавшись услугой анти-ддос защитой на уровнях L3-L7.

Ошибка 504 на виртуальном хостинге «Gateway timeout»

Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта (по умолчанию 30 секунд). Как правило, среднее время загрузки сайта не должно превышать 1-3 секунды.

Если раньше такой ошибки не наблюдалось, обратитесь в техподдержку. 

Если скрипты вашего сайта должны выполняться свыше 30 секунд (например, выгрузка базы данных или обмен с 1С), вы можете обратиться к сайту по порту 8081 (для ISPmanager), минуя веб-сервер Nginx.

Если этот вариант вам не подходит, рекомендуем перенести ваш сайт на VPS, на котором доступна гибкая настройка сервера, в том числе и лимитов. Для этого закажите услугу «VPS» .

Ошибка 504 на VPS

Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта (по умолчанию 30 секунд). Как правило, среднее время загрузки сайта не должно превышать 1-3 секунды. Чтобы избавиться от этой ошибки, попробуйте повысить время ожидания веб-сервера Nginx.

Если скрипты вашего сайта должны выполняться свыше 30 секунд (например, выгрузка базы данных или обмен с 1С), вы можете обратиться к сайту по порту 8081 (для ISPmanager), минуя веб-сервер Nginx. 

Также ошибка 504 может возникать, когда Nginx используется как прокси-сервер для Apache. В этом случае нужно настроить параметры времени ожидания при проксировании.

Добавьте следующие строки в блоке server в ваш файл nginx.conf:

#server {
#...

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

#...
#}

Затем перезапустите Nginx с помощью команды service nginx reload

Если решить проблему не удалосьобратитесь в техподдержку. 

В некоторых случаях, при попытке перейти на нужный интернет-ресурс, браузер выдает системное сообщение (статус) с кодом «500», о котором свидетельствует надпись «500 Internal Server Error» («500 внутренняя ошибка сервера»).

ошибка 500

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

В случае подобной ошибки не обязательно сразу писать в техническую поддержку. Можно попробовать решить эту проблему самостоятельно.

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

  • Неверные права на объекты файловой системы
  • Ошибочный код или неподдерживаемые директивы файла .htaccess
  • Долгое выполнение скриптов
  • Ошибка в коде CGI-скрипта
  • Превышение лимита памяти
  • Некорректная работа CMS

Как диагностировать ошибку 500

Для диагностики внутренней ошибки сервера с кодом 500 необходимо проверить содержимое файла «error.log», находящийся в корне сайта или в каком-либо другом месте, которое зависит от настроек сервера.

Способ доступа к файлу зависит от того, находится ли сайт на веб-хостинге или размещён на выделенном/физическом сервере.

Ошибка 500

  1. На веб-хостинге можно найти «error.log» в панели управления веб-хостингом. Например, в ISPmanager файл с ошибками расположен в разделе «WWW» → «Журнал».
  2. На VPS файл «error.log» можно посмотреть через консоль, либо предварительно скачать его на локальный компьютер при помощи клиента FileZilla.

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

Права доступа к директориям и файлам

Отсутствие необходимых прав доступа к объектам файловой системы (директориям и файлам) довольно часто приводит к ошибке со статусом «500». При переносе сайта на другой хостинг или изменении его структуры (добавлении новых элементов) пользователь забывает изменить права доступа.

Решение № 1 — изменение прав

Для доступа к файловой системе сервера можно использовать бесплатный клиент FileZilla. Его необходимо установить, а затем запустить.

Алгоритм изменения атрибута файла (папки)

  1. Выполнить вход в корневую директорию сервера, введя параметры аутентификации — IP-адрес сервера, логин пользователя, пароль, а также порт (если необходимо).
  2. Нажать на кнопку «Быстрое соединение». Слева отобразится список объектов файловой системы локального компьютера, а справа — файлы и директории сервера.
    подключение к VDS
  3. Следующий шаг, о котором часто забывают при загрузке сайта на хостинг, — активация пункта меню для отображения скрытых файлов («Сервер → Принудительно отображать скрытые файлы»).
    настройка скрытых файлов
  4. Загрузить необходимые файлы и папки на сервер посредством перетаскивания или используя контекстное меню «Загрузить на сервер».
    загрузка на сервер
  5. После загрузки перейти на правую панель, выделить интересующие объекты и через контекстное меню исправить соответствующие права доступа.
    установка прав

Рекомендуемые числовые значения для файлов — «644» и директорий — «755». Необходимо пересматривать и изменять права отдельно для каждого объекта файловой системы. Этот подход позволит избежать ошибок.

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

Решение № 2 — перезагрузка сервера

При размещении ресурса на базе физического или виртуального выделенного сервера (VPS) может иногда возникать ошибка 500. Если страница временно недоступна и браузер выдает ошибку с кодом «500», а изменения прав доступа были испробованы, то нужно просто перезагрузить сервер.

Некорректный .htaccess

Для файла .htaccess существует определенный синтаксис, который нельзя нарушать. Если в нем неверно указаны директивы, то при обращении к сайту будет возникать ошибка «500». Кроме того, не все директивы поддерживаются на хостинге.

Решение № 1 — исправление кода

Для определения причины ошибки «500», связанного с некорректным файлом .htaccess, последний необходимо сохранить в другом месте, а исходник удалить. Если сайт заработал, то в сохраненном файле .htaccess следует искать неверный код.

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

Методика выявления неверного кода

  1. Закомментировать все строки при помощи символа решетки «#».
    Методика выявления неверного кода
  2. Убрать «#» с первой строки.
    Методика выявления неверного кода
  3. Сохранить изменения и загрузить нужные файлы на сервер через перетаскивание или с помощью функции «Загрузить на сервер» в контекстном меню. Процедура аналогична тому, как это делается в описанном выше случае с изменением атрибута файла.
  4. Проверить web-приложение (сайт).
  5. При отсутствии сообщения с кодом «500» нужно выполнить пункт «2» для других строк.
  6. Если возникла ошибка, то требуется проверить правильность написания директивы и ее поддержку хостингом.

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

Решение № 2 — замена символов

Замена символов — распространенная ошибка при написании директив самостоятельно или копировании частей .htaccess c недостоверных источников. В коде директив присутствуют русские символы, которые очень сложно отличить от английских. Процедуру следует делать в специальных редакторах или через сервис антиплагиата «text.ru». Последний позволяет выявлять символы замены в массиве текста.

Алгоритм нахождения

  1. Запустить сервис проверки уникальности текста «text.ru».
  2. Скачать .htaccess на локальный компьютер.
  3. Сделать его копию и отредактировать ее, оставив только английские символы.
    Алгоритм нахождения неверных символов
  4. Скопировать содержимое файла и вставить в поле для текста.
  5. Нажать на кнопку «Проверить уникальность» и дождаться результатов проверки.
    Алгоритм нахождения неверных символов
  6. Исправить символ в исходнике.
  7. Сохранить файл и закачать его на сервер.
  8. Выполнить переход на сайт.

Долгое выполнение скриптов

В настройках PHP выставляется ограничение времени, которое дается скрипту на его выполнение. Многие об этом забывают, выставляя только параметр в файле «php.ini», находящийся в папке web-сервера Apache.

Решение № 1 — оптимизация PHP-скрипта

Чтобы оптимизировать PHP-скрипт, необходимо его переписать без лишнего кода. В интернете существует несколько сервисов для выявления избыточного кода.

Эта задача под силу опытному программисту. Новичку рекомендуется работать со скриптом, тестируя его на локальном сервере, а затем загрузить на хостинг.

Решение № 2 — увеличение времени обработки

Клиенту, пользующемуся услугой VPS, следует увеличить время ожидания сервера. Для этого нужно в «php.ini» найти параметр «set_time_limit» и установить его значение как «0», т. е. set_time_limit = 0.

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

Ошибка в коде CGI-скрипта

Скрипт CGI-типа используется для создания интерактивных страниц, контент которых зависит от действий пользователя. Довольно часто при неверной работе со скриптами этого типа на сайте возникает внутренняя ошибка сервера с кодом «500».

Решение № 1 — проверка формата окончания строк

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

  • Если сервер работает под управлением Unix-систем, то окончание каждой строки должно соответствовать символу «\n».
  • При использовании Windows-платформы — «\rn».

Решение № 2 — установка прав доступа

Одной из причин неправильной работы CGI-скриптов является некорректное разрешение прав доступа. Для директории, в которой хранятся CGI-файлы, должны стоять права с числовым значением «755».

Решение № 3 — неверные HTTP-заголовки

В некоторых случаях ошибка возникает из-за некорректных HTTP-заголовков. Для ее диагностики следует проверить файл «error.log».

Превышение лимита выделенной памяти

Некоторые хостинг-компании, чтобы избежать перегрузки сервера, устанавливают определенный лимит памяти, используемой скриптами. В результате превышения этого ограничения возникает внутренняя ошибка сервера с кодом состояния «500».

Решение № 1 — проверка PHP-скриптов

Чтобы проверить PHP-скрипты, следует скачать на локальный компьютер исходник сайта, а затем протестировать его на работоспособность.

Затем требуется проверить описание функций (структуру и код) и включить опцию показа ошибок в «php.ini».

Опции для тестирования

  • error_reporting = E_ALL
  • display_errors = On
  • display_startup_errors = On

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

Если проблем в файле нет, а сообщение об ошибке «500» выводится на экране, необходимо перейти ко второму способу решения проблемы.

Решение № 2 — изменение настроек

Настройка лимита памяти выставляется в файле конфигурации «php.ini». За этот параметр отвечает опция «memory_limit».

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

Решение № 3 — связаться с технической поддержкой

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

Некорректная работа CMS

Причиной появления ошибки «500» могут стать неверные настройки CMS. Наиболее часто используются WordPress и Joomla. Следовательно, на их примере и нужно разобрать причины возникновения проблемы, а также решения по ее устранению.

Ошибка «500» в WordPress

При работе сайта на движке WordPress методика диагностики появления ошибки с кодом «500» немного отличается от остальных CMS. Проблема может быть связана с .htaccess, установленной темой, плагином или ядром WordPress.

Решение № 1 — файл .htaccess

Файл используется при изменении структуры ссылок и работе плагинов. Кроме того, в него могут вносить изменения ядро CMS, темы и плагины.

Выполнение диагностики
  1. Скопировать .htaccess на диск, а затем удалить его на сервере.
  2. Обновить страницу.
  3. Если сайт заработал, то нужно искать причину в файле.
  4. Если при обновлении страницы ошибка не исчезнет, то рекомендуется изменить атрибуты файла .htaccess. Для этого нужно запретить запись в файл, задав в правах доступа числовое значение «644».

Последний пункт влияет на активацию плагинов. Его рекомендуется рассматривать как временную меру.

Решение № 2 — смена текущей темы

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

Решение № 3 — перебор плагинов

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

Порядок деактивации плагина

Порядок деактивации плагина
  1. Выбрать плагин (стрелка № 1).
  2. В выпадающем списке указать опцию «Деактивировать» (стрелка № 2).
  3. Нажать на кнопку «Применить» (стрелка № 3).
  4. Обновить веб-страницу.
  5. Перебор плагинов продолжать до возобновления работы интернет-ресурса.

Если деактивация плагинов не привела к положительному эффекту, и сайт по-прежнему не работает, то нужно перейти к четвертому методу.

Решение № 4 — модификация конфигурационного файла

Устранить проблему внутренней ошибки сервера поможет увеличение объема памяти.

Алгоритм модификации
  1. В корневой директории хостинга необходимо найти файл «wp.config.php».
  2. Открыть его в редакторе.
  3. Перейти в конец файла.
  4. Добавить код «define(‘WP_MEMORY_LIMIT’, ’64M’)».
  5. Сохранить и перезагрузить страницу.

Решение № 5 — обновление CMS

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

Ошибка «500» в CMS Joomla

Ошибка с кодом «500» иногда возникает при попытке зайти в административную панель CMS Joomla. При этом сайт и все его функции работают корректно.

Ошибку нужно искать самостоятельно, перебирая каждый из вариантов. В файле «error.php», который расположен в директории «logs», находится описание всех проблем при работе с CMS.

Решение № 1 — установка прав на «logs»

Чтобы устранить проблему, нужно установить права доступа на папки «logs» и «tmp», которые должны соответствовать числовому значению «777».

Решение № 2 — корректность путей к директориям «logs» и «tmp»

Пути к директориям хранятся в файле «configuration.php». Необходимо проверить их правильность, указав при необходимости полные пути.

Решение № 3 — проверка .htaccess

При ошибке «500» в административной панели нужно открыть файл .htaccess» и поочередно комментировать строки. После каждого изменения файл нужно сохранять и проверять работоспособность админ-панели.

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

Ошибка с кодом 500 выдается в том случае, когда причину сбоя нельзя отнести ни к какой другой категории ошибок (502, 503 и т. д.). По сути она означает «что-то произошло, а что — непонятно». В сообщении об ошибке 500, которое выдается на странице браузера, стандартно также нет сведений о ее причинах.

Как же без наличия информации определить и исправить ошибку? На практике чаще всего она вызывается сбоями в одном из основных компонентов сайта:

  • в правах доступа к файлам и каталогам;
  • в файле .htaccess;
  • в скриптах;
  • в CMS (движке сайта).

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

Для определения причины ошибки:

  • смотрим логи сервера — часто по ним можно понять, на каком этапе произошел сбой;
  • если логи не добавили ясности, или вы не можете их посмотреть — перебирайте все возможные варианты, начиная с тех, которые кажутся наиболее вероятными в вашем случае. Например, если вы не трогали перед возникновением ошибки файл .htaccess, но устанавливали новые плагины на сайт, начать нужно с проверки последнего.

500 Internal Server Error

Некорректные права доступа

Каждый каталог и файл на сервере имеет определенную трехзначную кодировку прав доступа к нему. Например, 777 — такой доступ означает, что любой сторонний пользователь может изменять этот файл или папку. Для обеспечения безопасности сервер блокирует файлы, которые имеют такие широкие права доступа. В результате страница сайта не отображается, так как сервер не отдает содержимое нужных файлов, и выдается ошибка 500.

Рекомендуется выставлять права не выше 750 — для папок, и 640 — для исполняемых файлов.

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

права доступа

Как определить, что ошибка 500 возникла именно из-за этого?

Во-первых, посмотрите, какой вид имеет ошибка на экране браузера. Если вы видите текст «Internal Server Error» — то, скорее всего, дело именно в .htaccess. В случаях сбоев в работе скриптов или CMS текст ошибки обычно выглядит как «HTTP ERROR 500».

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

Что может быть неверным в файле и как это исправить?

Самый простой способ устранить ошибку 500 из-за .htaccess — отменить последние изменения в нем или загрузить файл из бекапа. Если это невозможно или нежелательно, проверьте эти варианты:

  • наличие невидимых неразрывных пробелов (BOM). Если вы изменяли файл, используя не совсем подходящий редактор или кодировку, в него могли быть добавлены такие символы. Пересохраните файл в кодировке UTF-8 и загрузите на сервер;
  • знак # не в начале строки. Этот знак ставится перед началом комментария. Некоторые пытаются добавить комментарий в .htaccess в конце строки, но последние версии Apache не поддерживают такой синтаксис, и в результате вы видите ошибку 500. Для комментария нужно выделять целую строку;
  • некорректные директивы Options. В зависимости от версии серверного ПО, можно их либо полностью закомментировать, либо попробовать исправить Options All -Indexes на директиву Options -Indexes, а Options +FollowSymLinks на директиву Options +SymLinksIfOwnerMatch;
  • некорректные директивы +ExecCGI, IfVersion, AddHandler, php_value, php_flag, MultiViews. Если в вашем файле встречаются такие, попробуйте поочередно их удалить (или закомментировать), проверяя, исчезла ли ошибка.

Сбои в скриптах

Ошибка 500 здесь может вызываться двумя основными причинами:

  • Неверный синтаксис или права доступа скрипта.
  • Слишком долгое выполнение скрипта.

В первом случае:

  • включите отображение ошибок в настройках сервера (или обратитесь к техподдержке, они помогут это сделать). Тогда при перезагрузке страницы вы увидите надпись, в которой будет имя файла и конкретная строка в нем, вызывающая ошибку;
  • проверьте, правильно ли вы загружали файлы скриптов через FTP , а лучше перезагрузите их правильным образом — в режиме ASCII. Хотя для некоторых FTP-клиентов, например, для FileZilla, лучше включать двоичный режим передачи: так содержимое файлов будет передано корректно и без искажений;
  • проверьте права доступа к файлу скриптов — они должны быть выставлены на уровне 750 или 755.

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

Ошибки в CMS

Ошибки в CMS

  • Довольно часто ошибка 500 возникает после установки плагинов и дополнений к CMS<. Особенно это актуально на WordPress. Сайт на этом движке, как конструктор, собирается из базы и десятков различных плагинов. При этом плагины могут конфликтовать между собой. Решение простое — отключите дополнения, которые вы недавно устанавливали, и посмотрите, исчезнет ли ошибка. Если да — дело в плагине и лучше поставить другой.
  • Устаревшая версия PHP. Она может конфликтовать с новыми скриптами или плагинами. Для обновления версии обратитесь к специалисту.
  • Обновление версии движка. Такие работы также лучше проводить при поддержке специалистов, которые комплексно проверят совместимость скриптов и дополнений с новой версией. Иначе можем получить конфликт и ошибку 500.

A frustrating interruption to anyone’s day is the infamous 500 error.

When it happens not only do you lose traffic or potential site revenue, but it can also reflect badly on your site’s reputation and even affect your Google rankings. Furthermore, 500 errors can sometimes be an indicator of compromise — the result of unsuccessful malware, damaged .htaccess files, or broken script injections nestled somewhere on the site.

In this article, we’ll explain more about 500 internal server errors, what they mean for you and your website visitors, and how to troubleshoot these errors to get your website back online again.

Contents:

  • What is a 500 error?
  • How are 500 errors different from other internal server errors?
  • What are the most common causes of a 500 internal server error?
  • Can a 500 error be caused by malware?
  • How do I fix a 500 internal server error on my site?
  • Do 500 errors impact SEO?
  • Resolving 500 errors due to malware

The Internet Engineering Task Force defines the 500 Internal Server Error as follows:

“The 500-error status code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.”

A 500 error is a server-side error that indicates that something went wrong on the website’s server, but the server is unable to provide specific details about the problem. It’s is a generic message displayed when no other message is suitable for the situation.

Something has gone wrong with the website, but the problem is not with your browser, your internet connection, or your computer. It’s a message that indicates there is a general problem with the site you’re trying to access or the server where the site resides, as seen below.

Example of 500 error internal server message

Example of 500 error message

500 error messages can come in all sorts of flavors, but they all mean the same thing. Here are a few variations of 500 errors you might encounter in your browser:

  • 500 Internal Server Error
  • 500 Error
  • HTTP Error 500
  • Temporary Error (500)
  • 500
  • The website cannot display the page – HTTP 500.
  • Is currently unable to handle this request. HTTP ERROR 500.

These are only a handful of the possible messages you might find when encountering a 500 error. In fact, some websites even have their own custom internal server error messages.

But if you receive this message, you can be sure that an unexpected problem has been detected by the server.

How are 500 errors different from other internal server errors?

There are many types of internal server status error codes and they all mean different things.

To help you understand the difference between generic 500 errors and other types of internal server errors, we’ve outlined some of the common types of 5xx responses you might encounter on your site.

  • 500 error: indicates that the server encountered an unexpected problem. This error code comes up when something unexpected happens on the server which prevents it from completing the request, but no additional information is shown.
  • 501 error: HTTP status code for not implemented. This indicates that the server is unable to execute the request and is either unable to identify the goal of the request, or does not have enough power to execute the request.
  • 502 error: bad gateway. Essentially, an invalid response was detected. The server was doing a job as a proxy or a gateway and received an invalid response from a different upstream server. If you are using a WAF, this could indicate a problem with your server.
  • 503 error: a service is unavailable. This occurs when the server gets too many tasks and is overloaded, down due to maintenance, or has been taken down by malware.
  • 504 error: Gateway timeout. The server, which was performing as a proxy or a gateway, wasn’t able to identify the request within the fixed time limit.
  • 505 error: HTTP version not supported by server. The server isn’t able to identify the HTTP protocol used in the request.
  • 511 error: network authentication. The server requires user authentication to access the request.

With the exception of a 500 error, the majority of server errors provide clear reasons for the status response that can help you pinpoint the issue and resolve it.

But don’t despair; there are a number of potential causes for the vague and generic 500 server error. Let’s examine some of these sources before we move on to possible solutions.

What are the most common causes of a 500 error?

As the name suggests, a 500 internal server error is a general issue with a webserver. They can be caused by a plethora of issues ranging from relatively benign to serious.

And unlike 503 or 504 errors, a 500 server error won’t clearly outline how to fix the problem nor what the problem is in the first place.

So, let’s take a look at some examples of elements that could be causing the problem.

  • Your browser cache needs to be cleared
  • Incorrect database login credentials have been used
  • The website’s database is corrupt
  • WordPress core files have become corrupted
  • Issues exist within the database server
  • PHP memory limit is exhausted
  • The server has run out of disk space
  • .htaccess file is corrupt or broken
  • Issues exist with third-party plugins and themes
  • There could be PHP timing out or errors with third-party plug-ins
  • There are incorrect file/folder permissions
  • There are CGI or Perl script errors
  • Your hosting company made a change

Furthermore, many of these issues can arise due to a malware infection. Let’s explore how these issues could be indicators of compromise.

Can a 500 error be caused by malware?

Hackers often make modifications to compromised sites — anything ranging from injecting extra code into existing files to creating thousands of malicious files and posts. These can result in 500 errors.

The following scenarios can seriously affect website functioning and result in server errors:

  • Injected malicious code contains bugs
  • Injected malicious code interferes with your website’s functionality
  • Malicious code is injected into the wrong location, breaking legitimate code
  • Hackers completely replace legitimate code their own, breaking any site functionality that depended on the original legitimate file
  • Hackers delete entire files or directories from the server
  • Hackers encrypt legitimate files
  • Too many malicious files (ie. doorways) exhaust disk quota
  • The database becomes corrupted during compromise
  • An attacker runs their own tools on the server, exhausting available resources required for site functionality (ie. cryptominers, DDoS bots, spam servers)

Example of how malware can cause 500 errors

Here’s an excerpt of a decoded black hat SEO doorway script that can lead to 500 errors on your website.

$search_bot=is_search_bot($ua);
if($search_bot){
  $response = post_url($indata_url,$data);
  if($response=="404"){
    header("HTTP/1.0 404 Not Found");
    exit;
  }
  else 
  if($response=="500"){
    header("HTTP/1.0 500 Internal Server Error");
    exit;
  }
  else 
  if($response=="blank"){
    echo '';
    exit;
  }
  else{
    echo $response;
    exit;
  }
}
else{
  header("HTTP/1.0 404 Not Found");
}

Since this code works for search engine crawlers, under certain conditions it can cause search engines and security scanners to return 500’s for your website.

Fortunately, there are a few ways to troubleshoot and resolve 500 internal server error notifications. Let’s dive in!

How do I fix a 500 error on my site?

Here are a few ways to troubleshoot 500 errors to get your site back up and running.

1. Clear your browser cache

This is a good troubleshooting step. This is done before looking for more debugging on your site to confirm that the issue isn’t cached on your end.

Below are instructions on how to clear cache on Google Chrome.

  • Open Chrome.
  • Click on the icon with the three dots icon at the top right of the browser window.
  • Go to More tools then select Clear browsing data.
  • Select the Time Range field, then choose one of the options that appear. To delete everything, select All time.
  • Select Clear data to clear the cache.

You can opt to clear only your browsing history, or you can choose a more thorough clearing of your cache by including cookies and other site data in the cache clearing.

Note: Some website settings will get deleted and you’ll need to sign in to sessions again. You may also find that some websites seem slower, since content and images will need to load again.

2. Reload the page

When you receive the 500 error, wait a minute and then try reloading the page (F5/Ctrl + F5). It is possible that the host or server is overloaded, and the site should come back shortly. You could also try a different browser to rule out the issue.

To ensure that you are not seeing a cached page on the website, try loading the website with an appended variable like this: example.com?nocache

Another option to try is to paste the website into: downforeveryoneorjustme.com

This website can confirm if the problem is on your side, or the website is actually down. If you’re a Sucuri client, you can leverage our uptime monitoring to identify if your site is up and running or problems are detected there.

Something to note is that 500 server errors can happen immediately after you update a plug-in or theme on your WordPress site, but these are usually resolved after a refresh.

3. Check for recently installed or updated software

Investigate to see if any recently installed or upgraded software on your website failed to install or upgrade. To refresh your software, check the vendor’s website for specific instructions.

You’ll also want to audit your website for any new and unfamiliar plugins or themes. If you find anything unusual, this may be an indicator of compromise.

Investigate further to pinpoint:

  • What the unfamiliar software or component is
  • How long it’s been installed on your site
  • Whether or not it’s legitimate

If you encounter anything that looks suspicious, remove the component and scan your website for malware.

Note: It’s always important to keep in mind that attackers regularly scan outdated and poorly maintained plugins, themes, and components for known vulnerabilities. Bad actors regularly run automated scripts to locate and target vulnerable websites. So as a rule of thumb, always keep your software up-to-date with the latest patches and security updates.

4. Check your server logs

Make use of your website monitoring and error logs. Server errors are usually logged in error.log and will contain any important information about what’s broken.

If your host doesn’t have a logging tool, you can also enable WordPress debug mode by adding the following code to your wp-config.php file to enable logging:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Be sure to disable these WordPress debugging options as soon as you’re done troubleshooting. Any error messages found there may disclose sensitive information about your server and website, making it easier for a bad actor to hack it.

5. Check your plugins, extensions or themes

Extensible components like plugins and themes can often cause 500 internal server errors.

Most times you’ll see the error immediately after doing an update or installing something new. It’s advisable to do updates one at a time, otherwise it may become difficult to determine which update caused the internal server error.

You can again use the debug mode to coax your website into providing a specific error that will reference the broken component. As described in the last step, debug mode can be enabled in WordPress by adding the following line to your website’s wp-config.php file:

define( 'WP_DEBUG', true );

If you can get a specific error referencing a specific plugin or theme, try disabling that component and see if your website comes back online.

If not, continue troubleshooting. You can also check the error_log file in your website’s docroot to see if you can find the specific issue.

Another option is to try troubleshooting by deactivating all your plug-ins and testing them individually. We’ll outline a few options depending on whether you can access your Admin panel or not.

If you are still able to access your Admin panel in WordPress:

  1. Navigate to Plugins > Installed Plugins
  2. Select the checkbox at the top of the list to select all plugins
  3. Open Bulk Actions and select Deactivate.
  4. Click Apply to disable all your plugins to start troubleshooting.

If you are unable to access your WordPress Admin panel, try using sFTP to disable plugins:

  1. Connect to your server using your sFTP client.
  2. Navigate to the wp-content folder.
  3. Right-click on plugins and select Rename.
  4. Enter a new name for the folder. (ie. deactivated-plugins)
  5. Your WordPress site won’t be able to locate the folder and all plugins will be deactivated.

And if you find disabling all our plugins does in fact fix the issue, you’ll have to determine one caused the problem. Activate each of them one at a time and then reload the site after each activation. When you see the 500 internal server error return, you will know which one caused the error. Then reach out to the plugin developer for assistance.

Added bonus: You might find that having fewer active plug-ins on your site helps things run more smoothly.

6. Check for errors establishing a database connection

500 internal server errors can also occur from a database connection error.

Depending on your browser you might see a number of different errors, but both generate a 500 HTTP status code in your server logs. With this error, your entire page will appear blank as no data can be retrieved to render the page because the connection is not working properly. This will break the front-end of your site and will also prevent you from accessing your WordPress dashboard.

500 error establishing a database connection in WordPress

A few reasons why this happens:

  • One of the most common reasons is that your database login credentials are incorrect.
  • Your database could be corrupt. With a lot of moving parts with themes, plugins, and users constantly deleting and installing them, databases occasionally get corrupted. This could be due to a missing or individually corrupted table, or perhaps some information was deleted by accident.
  • There are issues with your database server. A number of things could be wrong on the web hosts end. The database could be overloaded from a spike in traffic, or it could be unresponsive from too many concurrent connections.

To troubleshoot a database connection error, first take a backup of your website. Then run through the following steps:

  • Check your database login credentials. This is a common issue that should be ruled out before troubleshooting further, so make sure details in your wp-config.php file are accurate.
  • Check for a corrupted database. If your database has become corrupted, WordPress has a database repair mode you can initiate. Add the following to your wp-config.php file: define(‘WP_ALLOW_REPAIR’, true); then navigate to https://yourdomain.com/wp-admin/maint/repair.php. From here, you’ll have the option to repair and optimize your database.Be sure to remove the WP_ALLOW_REPAIR statement from wp-config once you’re done to ensure nobody else can access the page on your site.
  • Check with your hosting provider. Too many concurrent connections can cause database connection errors and many hosts limit the number of connections that are permitted for any given server.
  • Restore a backup. If you aren’t worried about losing any data, try restoring a backup of your website files and database.

7. Check for problems with your .htaccess file

The .htaccess is a crucial file for Apache server environments. If you are using WordPress with Apache and have recently started encountering 500 errors, your .htaccess file could be corrupt or damaged.

Moreover, the .htaccess file is notorious for being targeted during a compromise. Attackers can use the file to conceal malware, redirect search engines to spam websites, inject malicious content into a website, modify php.ini values, or even conceal backdoors.

To begin, you’ll want to assess if any problems with your .htaccess are the result of a hack or an update to your .htaccess file.

You can locate your .htaccess file by accessing your website files through a file manager like cPanel or via FTP/SFTP. The file will probably be located in your public_html directory. There’s a good chance your server will hide this file from view by default and you’ll need to toggle hidden files to see it.

8. Check for permissions errors

A permissions error for an important file can also result in 500 internal server errors.

You can refer to the WordPress Codex article on changing file permissions for more details.

9. Check for PHP memory limit on your server or website

A 500 internal server error could also be caused by exhausting the PHP memory limit on your server. Try increasing the limit.

PHP timeouts can also occur from the lack of PHP workers, although these typically cause 504 errors — not 500 errors. These determine how many simultaneous requests your site can handle at any given time. Simply put, each uncached request for your website is handled by a PHP Worker.

When PHP workers are already busy on a site, they start to build up a queue. Once you’ve reached your limit of PHP workers, the queue starts to push out older requests which could result in 500 errors or incomplete requests.

Follow the instructions below on how to change this limit in cPanel or Apache.

Increase PHP Memory Limit in cPanel

If you’re running on a host that uses cPanel, you can easily change this from the UI.

  1. Under Software click on Select PHP Version.
  2. To choose the PHP version, select Switch to PHP Options.
  3. Click on the memory_limit attribute and change its value.
  4. Click Save.

Increase PHP Memory Limit in Apache

You can modify server behavior from your .htaccess file right down to a directory specific level:

  1. Log into your site via FTP or SSH.
  2. Locate your .htaccess file.
  3. Add or replace the following line in your .htaccess file, modifying xxx with the new memory limit value in megabytes that you want to set: php_value memory_limit xxx
  4. Save the changes.

You can verify that the new setting is active by creating a PHP test file containing the following code in the same directory as your .htaccess file:

<?php 
phpinfo(); 
?>

Simply load your new test file in a browser and the Local Value should display the value that you set in your .htaccess file.

Increase PHP Memory Limit in WordPress

Sometimes, all that needs to be done is to increase the amount of memory that WordPress itself is able to consume. This can be done by adding the following line to wp-config.php:

define('WP_MEMORY_LIMIT', '256M');

10. Check for server issues with your host

Sometimes these errors can be difficult to troubleshoot without an expert, so you can always check with your host. Ask your service provider to access your error logs and help you pinpoint the issue.

Do 500 errors impact SEO?

500 errors can have a negative impact on SEO if not addressed.

Googlebot will typically retry pages that are serving 500 errors. If they persist, Googlebot will reduce the crawl frequency and over time eventually drop the URLs from the index.

Moreover, if the 500 errors are happening due to a malware infection and Google identifies that your website has been hacked or is serving malicious content, the infection could result in blocklisting — and this can significantly impact your search rankings and organic traffic.

So, the first step is to determine why the 500 errors are occurring and address them to mitigate risk for your SEO.

Resolving a 500 error due to malware

500 internal server errors are extremely frustrating, but after these troubleshooting tips you should be able to get your website back up and running in no time.

Keep in mind that these types of errors can be caused by the plethora of issues outlined in this post, but sometimes malware infections can also result in 500 errors.

  • It’s in malware’s best interest to keep the victim website online, but if a malware injection is buggy and breaks the code on the website it can result in a 500 error.
  • Malware like cryptominers can eat up resources on the server, causing timeouts, slow performance and 500 errors.
  • In the wake of a blackhat SEO infection, thousands of spam pages can be generated on a website. Search engines will continue to try to crawl these pages even after they’ve been removed, and result in degraded performance and sometimes server timeouts or 500 errors.

If you’ve followed these troubleshooting steps and suspect that your website has been hacked, you can refer to our guide on how to clean up malware. If you need a hand, we’d be happy to help clean up your infected website.Get help removing malware from your website

Понравилась статья? Поделить с друзьями:
  • Дееприч оборот ошибки
  • Ддо ошибка адаптации
  • Ддет высокий уровень ошибка приора
  • Двухфакторная верификация social club ошибка аутентификации
  • Двухступенчатый стоп сигнал е70 ошибка