Большинство пользователей интернета знакомы с ошибками, которые иногда возникают при работе с сайтом или поиске той или иной информации в поисковых системах. Если вы являетесь владельцем сайта, который вдруг начал выдавать подобные ошибки, вам важно понимать, что они означают, причину их возникновения и способ их устранения.
Часто на различных форумах в интернете можно увидеть обсуждения на тему устранения ошибок на сайте. Порой возникшие проблемы незначительны и могут быть решены пользователем самостоятельно, без обращения к специалистам.
Для того, чтобы знать, что делать в непредвиденной ситуации, стоит познакомиться с описанием самых распространенных ошибок, а также прочитать руководство по их устранению.
Типы ошибок
Ошибки протокола HTTP возникают в том случае, если веб-сервер по какой-то причине не может успешно отправить пользователю запрашиваемый документ. В этом случае сервер сообщит пользователю в HTTP-заголовке код возникшей ошибки.
Коды ошибок бывают положительными и отрицательными или успешными и не успешными.
Всего существует 4 типа кодов (хх — сочетание любых цифр):
- 2xx — запрос выполнен успешно;
- 3xx — запрос успешно перенаправлен (тоже положительный код);
- 4xx — ошибка — документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента;
- 5xx — ошибка сервера — критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.
Наибольший интерес для владельца сайта представляют коды, указывающие на ошибки со стороны клиента или сервера. Причины возникновения и способы устранения данных ошибок представлены ниже.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Ошибка 400
Bad Request
При переходе на сайт браузер может выдавать “400 Bad Request”. Это означает, что сервер обнаружил синтаксическую ошибку в запросе, который ввел пользователь. Однако подобная ошибка может появляться не только, когда вы вводите адрес сайта, но и, например, при входе в панель управления вашим сайтом. Причин возникновения может быть несколько:
- блокировка браузера антивирусом;
- блокировка брендмауэра Windows браузером;
- большое количество файлов cookies и данных в сache;
- перебои в работе интернета.
Для того, чтобы определить, какой из перечисленных вариантов относится к вашей ситуации, необходимо провести проверку каждого из них до полного устранения проблемы. Начнем с первой возможной причины.
Блокировка браузера
- Изучите настройки вашего антивируса в разделе под названием “Правила для приложений” или схожим с ним.
- Проверьте, есть ли ваш браузер в списке, и каков уровень доверия к нему.
- Повысьте уровень доверия к вашему браузеру, если он низкий.
- Сохраните новые настройки и попробуйте снова зайти в панель управления.
Если ошибка сохраняется, то переходите к проверке следующей причины.
Блокировка брендмауэра Windows
- Попробуйте отключить брендмауэр на время: меню Пуск — Панель управления — Система и безопасность — Брандмауэр Windows — Включение и отключение.
- Очистите кэш и куки.
- Обновите страницы с ошибкой.
- Если проблема устранена, то для завершения добавьте в брандмауэр разрешенные программы: Пуск — Панель управления — Система и безопасность — Брандмауэр — Разрешение запуска программы через брандмауэр.
Если проблема осталась — продолжайте проверку.
Cache и cookies
- Удалите cookies и очистите cache: нажмите Shift + Ctrl + Delete в то время, когда браузер открыт.
- Удалите ненужные файлы.
- Проверьте работу вашего браузера.
Перебои в работе интернета
- Свяжитесь со своим интернет-провайдером и узнайте, проводятся ли у них какие-то работы.
- Уточните, сколько времени займут работы.
Ошибка 403
Forbidden
Ошибка 403 означает, что сервер не может выполнить запрос из-за запрета на доступ к запрашиваемым файлам или страницам. Эта ошибка может возникать по ряду причин. Рассмотрим самые распространенные:
- Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm или index.php.
- Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
- Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site — название вашего сайта.
Ошибка 404
Not Found
Ошибка 404 означает, что сервер не может найти данные по запросу пользователя.
Причины возникновения данной ошибки:
- Некорректный URL, введенный в адресное поле браузера. Для устранения данной ошибки проверьте, корректно ли указана ссылка.
- Файл, запрашиваемый по URL, отсутствует на сервере. Для устранения этой ошибки необходимо проверить наличие запрашиваемого файла в директории public_html вашего сайта.
Ошибка 500
Internal Server Error
Ошибка 500 означает, что на сервере есть внутренняя ошибка. Эта проблема может возникнуть по двум причинам:
- Невозможно запустить скрипт. Скорее всего, указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
- Неправильная инструкция в файле .htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.
Ошибка 502
Bad Gateway
Данная ошибка — результат запроса, при котором был получен недопустимый ответ от сервера. Причин возникновения проблемы может быть несколько:
- Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
- Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера информацию о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.
Ошибка 503
Service Temporarily Unavailable
У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет, и вместо результата браузер выдаст оповещение “Сервис временно недоступен”.
Чтобы исправить данную ошибку нужно знать причины, по которым она может появляться:
1. Зависание скриптов при передаче больших статичных файлов через PHP. Скрипты работают определенное время, а не постоянно. При окончании времени работы скрипта прерывается передача файла, соответственно, файл не будет передан полностью, а также запрос оставит процесс веб-сервера работать еще длительное время. Устранить ошибку вы сможете посредством следующих шагов:
- Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов или поищите более быстрый аналог.
- Проверить наличие у вас медленных запросов — в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
- Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.
2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько:
- Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
- DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее про DDoS-атаки вы можете прочитать в статье «DDoS-атаки: взгляд со стороны Timeweb».
Nothing is more terrifying than when your WordPress site goes down, especially when you get an alarming message like “There has been a critical error on this website.”
When you’re locked out and the frontend is entirely down, you need to know how to fix the critical error now. Every minute that passes is driving away visitors as they encounter a glaring error screen.
Luckily, fixing this critical error is usually just a matter of adding a small PHP function or deleting a problem plugin. Here we’ll go over a variety of ways to troubleshoot this issue and get your site up and running again fast.
Check out our video guide to fixing the ”There Has Been a Critical Error on Your Website” Error
What Causes the “There Has Been a Critical Error on Your Website” Error?
If you’ve been using WordPress for some time, you’ve likely heard of or possibly even encountered its most infamous error: the White Screen of Death. This startling glitch would cause your entire website, and sometimes even your backend, to load as a blank white page.
In recent versions of WordPress, this blank screen has been replaced with the critical error and the text “There has been a critical error on your website. Please check your site admin email inbox for instructions.”
While this is less panic-inducing than your site simply refusing to load at all, the error text isn’t much more helpful than before, and it’s likely to leave you wondering: What causes this critical error?
Much like the White Screen of Death, the issue can usually be traced back to an issue with PHP: either your memory limit being surpassed, or an error in your code, plugins, or theme. It may also be an issue of database corruption.
While the error text itself may not be very helpful, knowing this makes troubleshooting much easier.
You may also want to look into these other WordPress errors, as you could be experiencing multiple of them:
- ERR_CONNECTION_TIMED_OUT — Caused by a slow or overloaded web server.
- ERR_CACHE_MISS — If you see this, look into your website’s cache or PHP tools like plugins, as they’re very likely the cause.
- 500 Internal Server Error — A serious error that can usually be traced back to server file corruption.
- Error Establishing a Database Connection — Corruption in your database or a database server issue can be the root of this problem.
- HTTP 503 Service Unavailable — Indicates an issue with your server.
- HTTP 502 Bad Gateway — Yet another server issue, often caused by too many visitors overloading it.
And if you see any other strange errors, look through these HTTP status codes.
How to Fix the “There Has Been a Critical Error on Your Website” Error?
You’re here to get your site up and running again, and to that end, we’ve collected several different potential ways to fix the issue. Knowing that the cause is likely PHP-related, these may involve editing core WordPress files. Even with your site in a broken state, make sure to back it up before implementing any of these suggestions, as we don’t want to make it worse!
If you’re able to log in to your website’s backend, that will help immensely. But as your entire site is likely down, you’ll very likely need to access it through FTP (or SFTP).
Contact your web host or look through your hosting dashboard to find your FTP login credentials, and make sure to install an FTP client like FileZilla. This guide on connecting to WordPress over FTP can help too.
Enable Debug in WordPress
If you’re having trouble with WordPress, one of the first things you should do is enable debugging. With debug mode on, you’ll be able to see the various PHP errors occurring on your site, and you can use this to trace back to the root of the issue.
As you may be unable to access your dashboard, you’ll also need to enable the debug log. This will write all PHP errors to a file.
If you’re hosting with Kinsta, enabling debugging with MyKinsta is very easy. Just log in to the hosting dashboard, then go to Sites > Tools > WordPress debugging and click Enable. You can then look around your site to find the cause of the issue or check the log. Make sure to disable debugging when you’re done, as it’s visible to your visitors as well as you.
If you need to manually turn on debugging, or you need to access the debug log, follow these steps.
- Step 1: Connect to your site with FTP.
- Step 2: Find wp-config.php in the root folder and open it with a text editor or IDE.
- Step 3: Place the following code at the bottom of the document, just before the final message, then save and close the file:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );
Here’s what it will look like when done:
Debugging is now enabled on your site and errors will be written to the log. You can find the debug log in the wp-content folder, named debug.log.
Look for names of your theme or plugins which will point to them being the cause or references to a specific file. Even if you aren’t sure what to do with this information, save it someplace — it can help you if you need to reach out for support.
When you’re finished debugging, make sure to remove these lines of code.
Roll Back Your Site
When WordPress errors rear their head, restoring a backup can be a quick and easy way out. While it won’t always solve the issue, it’s definitely worth a shot. And if the problem happens again, you may be able to retrace your steps next time.
How you restore your website all depends on how you backed it up. If you use a plugin, follow the instructions in the documentation. If backups are included with your web host, you’ll likely be able to do it from your hosting dashboard.
For instance, Kinsta users can restore a backup by logging into MyKinsta, finding your site under Sites, going to the Backups tab, then clicking Restore to…
Before restoring to your live site, try it on a staging site to ensure that the site is indeed functioning and you’re not overwriting your hard work.
Revert to a Default Theme
Sometimes the critical error can be traced back to a conflict within your theme. The best way to test for this is to temporarily delete it and revert to a default theme, which should immediately clear up the issue.
Make sure you back up your site first, as you’ll need a way to get your theme files back once they’re gone. Simply reinstalling the theme may cause you to lose your custom styling.
If you have access to your dashboard, this is easy. Just go to Appearance > Themes, click on the theme to select it, and then click Delete in the lower right corner of the pop-up window.
If you don’t see the option, then try downloading and switching to a different theme. The safest bet is to try a default theme like Twenty Twenty-One.
If you don’t have access to your backend, follow these instructions to revert to a default theme with FTP.
- Step 1: Connect to your site with FTP.
- Step 2: Navigate to wp-content/themes. You have two choices here: either rename your theme folder (will allow you to turn the theme back on later) or simply delete it.
- Step 3: If you don’t have a backup theme here already, manually download Twenty Twenty and place its files into the themes folder.
Your site should now revert to Twenty Twenty. If it loads properly now, you know it was a theme conflict.
To restore your theme files, simply reinstall the theme or change the folder back to its original name.
Disable All Plugins
When you’re having a critical error, a plugin is often to blame. If you have several or even dozens of plugins on your site, trying to locate the one that’s the issue may seem like a daunting task.
But there’s an easy way to find the problem plugin: simply turn them all off and see if that fixes the problem. If it does, enable them one by one until your site breaks again. And there’s the culprit!
To disable your plugins from the dashboard, visit Plugins > Installed Plugins and tick the checkbox at the top of the list to select them all. Then click Bulk Actions > Deactivate, which should be enough to disable any conflicts and restore your site.
You can also click Delete instead to entirely remove their files, though you will need to reinstall them manually or restore a backup.
You can then turn them on one by one by returning to Installed Plugins and clicking Activate on each.
You can do essentially the same thing through FTP.
- Step 1: Log in to your site with FTP.
- Step 2: Open the wp-content folder to find your plugins.
- Step 3: Rename the plugins folder to plugins_old and verify that your site is working again.
- Step 4: Rename the folder back to “plugins”. The plugins should be disabled still, so you should be able to log in to your dashboard and activate them one by one. If the plugins reactivate automatically, rename individual plugin folders with _old until your site is restored.
Raise the PHP Memory Limit
Even if a plugin or theme is the cause of your broken website, the PHP memory limit is often the real one to blame.
What is the PHP memory limit? Your web server only has a certain amount of RAM, or memory, so WordPress sets a hard limit on how much memory a single PHP script can take up. When this limit is exceeded, you’ll encounter the white screen of death or the critical error.
While you don’t want to set the memory limit too high and allow misconfigured scripts to slow your site to a crawl, the default value may be far too low. Raising your PHP limit just a bit could instantly fix your broken website.
- Step 1: Access your site through FTP and open wp-config.php.
- Step 2: Insert the following code right before the final line and save.
define( 'WP_MEMORY_LIMIT', '128M' );
You can also try 256M if this doesn’t fix the issue, but anything higher is definitely unnecessary unless specifically called for in plugin documentation. If the issue is with the memory limit, the plugin you’re using is almost certainly broken and needs to be disabled.
A side note: Some hosts may enforce an extremely low memory limit and won’t allow you to raise it. If this is the problem, your only option is to switch to a better host or delete the plugin causing the problem.
While Kinsta does enforce a memory limit, it’s set to 256 MB. You should have no issues with legitimate working plugins on a Kinsta plan.
Raise the Max Upload File Size and Text Processing Functions
If you’re only seeing the critical error in certain situations and not constantly on every page, a small tweak to a few PHP functions might be able to fix it.
Uploading large files and finding yourself on an error screen is probably a result of the max upload file size being too small, while certain large pages breaking can be fixed by increasing recursion and backtrack limits.
First, check what your maximum upload size is and compare it to the file you’re trying to upload. You can find this by visiting Media > Add New and checking beneath the file uploader.
To fix either of these issues, you’ll need to log into FTP and edit the wp-config.php file, placing the new code right above the final comment line.
To increase the max upload file size, add this code:
ini_set('upload_max_size' , '256M' );
ini_set('post_max_size','256M');
And to fix the breaking of large pages on your site, add this code:
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);
Clear Your Site Cache
Caching is a great way to speed up your website, and most of the time it’s strictly a good thing. But sometimes the cache can get corrupted, leaving your site throwing out errors.
When this happens, a simple solution is to clear the cache, which should be all you need to get rid of the problem and restore your site to working order.
No fear: The cached version of your pages will soon be restored, allowing your site to load quickly again. Clearing the cache will simply delete the stuck corrupted files.
MyKinsta users can clear their site’s cache through their hosting dashboard. Visit Sites > Tools and then click Clear Cache.
Using a different host, or maybe a caching plugin? Check out their documentation; they should be able to give you detailed instructions.
Upgrade Your PHP Version
Outdated PHP can cause your site to break, and other conflicts are sure to occur. You usually want your site on the latest version of PHP supported by WordPress, which is currently PHP 7.3 to 8.0.
Some WordPress users prefer to stay on PHP 7.4 as they’re concerned about theme and plugin compatibility. Usually, this won’t cause problems. But if you’re using PHP 5.x, it’s imperative you upgrade as it can cause serious conflicts.
A PHP upgrade is a big deal, so make sure you have a backup ready before trying it.
Kinsta users can upgrade PHP version with MyKinsta without needing to do anything complicated. Just log in and go to Sites > Tools, then click Modify under PHP engine. Select the version you want and, after a short wait, your site will be running on the latest PHP version.
If you’re not using Kinsta, upgrading PHP will rely on your host. Contact them for help.
Check for Malware
Sometimes a critical error can be caused by malware, especially if you’re noticing strange PHP scripts that can’t be traced back to your plugins or theme. Removing malware is a tough task, more so when you’re locked out of your website and can’t even run a scan.
It can be hard to tell the difference between legitimate files and suspicious ones added by malware, and deleting random core files isn’t likely to end well. Malware can also modify PHP files, hiding scripts in them you won’t notice as malicious unless you’re a developer.
If you suspect malware is the cause, then it may be best to turn to your web host for help.
Where to Get WordPress Support If All Else Fails?
If you’ve tried all these options and nothing is working, you definitely have a real problem on your hands. But you can always turn to your web host for help identifying and fixing the issue. A good web host will provide you with the support you need to get your site up and running again.
Along with every plan, Kinsta offers live WordPress support 24/7. With our support tools integrated into your MyKinsta dashboard, getting help at any time is only a click away. Response times are fast — often less than two minutes — so you won’t be waiting around with a down site for hours or days.
So how does the scope of support compare to this particular issue? Kinsta offers technical support when errors appear on your site, including the titular critical error. We can help you identify exactly which files or plugins are causing the problem.
While you’ll need to go in and fix the issue either yourself or with the help of a developer, Kinsta support is happy to offer instructions on how to do so (for instance, how to access the file through FTP).
Every plan includes access to the same great support; there’s no priority support plan, and no special treatment given to certain customers. So if you’re stuck on a critical error and need help resolving it, turn to Kinsta support for assistance.
Summary
The WordPress critical error can have a variety of causes, though the issue often has to do with PHP. Either the PHP memory limit has been exceeded, or your plugins or themes are having issues.
The quickest way to fix the problem is to roll back your website if you have a backup, but there are a variety of other methods you can try, from raising the PHP memory limit to identifying and disabling a problem plugin.
Troubleshooting may require trying a few different things, but don’t get discouraged if you can’t fix it yourself. You can always get WordPress support from a host like Kinsta. When in doubt, turn to the experts.
And if your site is often plagued by errors, check out our guide to the 65+ most common WordPress errors.
Понимать суть и знать, как действовать — то, что необходимо, когда встречаешься лицом к лицу с ошибками на своём сайте. Особенно если речь идёт об ошибках на стороне клиента, код которых начинается с цифры 4. Объясним смысл самых частых ошибок такого рода и расскажем, что можно предпринять в каждом из случаев.
400 Bad Request (Неверный запрос)
Сервер сообщает, что обнаружена ошибка в синтаксисе запроса к нему, то есть в правилах его написания. Обычно это происходит из-за проблем на устройстве или в браузере, однако есть небольшая вероятность, что всему виной неполадки на самом сервере. Но сначала исходим из того, что сервер здесь ни при чём.
Если вы открыли свой сайт и увидели ошибку 400, то в первую очередь сделайте то, что вы сделали бы в случае посещения любого другого сайта:
1. Проверьте, что адрес страницы написан верно (нет неподходящих символов, нет проблем с регистром букв и отсутствуют пробелы).
2. Посмотрите, происходит ли то же самое в других браузерах. Если нет, то обновите браузер, показывающий ошибку, и очистите куки.
3. Ошибка продолжает появляться? Проверьте устройство антивирусом, затем отключите антивирус и/или брандмауэр, если вредоносная активность не была обнаружена. В случае исчезновения ошибки настройте антивирус / брандмауэр так, чтобы он больше доверял вашему браузеру.
4. Ошибка всё-таки видна во всех браузерах? Обновите компонент .NET Framework, если вы используете компьютер с Windows, затем просканируйте саму Windows на предмет «мусора» и неполадок, обновите необновлённые драйвера и обновите сам Windows. После каждого из этих шагов проверяйте, продолжает ли появляться ошибка.
5. Если всё это не помогло, обратитесь к интернет-провайдеру — возможно, проблема на его стороне.
Теперь разбираемся с ошибкой как администраторы сайта:
1. Обратитесь к хостингу, если ошибка появляется при посещении сайта с других устройств.
2. В случае, когда ошибка возникает только на одном устройстве, посмотрите, всё ли хорошо с заголовками HTTP-запросов. Они могут считываться как слишком длинные либо ошибочные или вовсе не обнаруживаться.
3. Если при запросе загружается большой по размеру файл, попробуйте загрузить файл меньшего размера.
4. Ошибка возникла после обновления CMS либо установки расширения, модуля или плагина? По возможности верните предыдущую версию CMS и удалите недавно установленные компоненты.
5. Посмотрите лог-файлы сервера и поищите в них причину неполадок.
6. Проведите аудит кода.
При всех действиях с сайтом убедитесь, что сохранена свежая резервная копия файлов сайта и баз данных.
401 Unauthorized (Не авторизован)
Такой код состояния сервера возникает, когда пользователю не удаётся авторизоваться на сайте. Возможно, дело в неверных логине и пароле или в попытке посмотреть контент, доступный только для авторизованных пользователей.
Но если это не так, то искать причину ошибки нужно на стороне сайта:
1. Обратитесь к хостинг-провайдеру для выяснения причины ошибки.
2. Удостоверьтесь в том, что уровни доступа для пользователей указаны верно.
3. Ограничьте индексацию поисковиками страниц с ошибкой, написав в файле robots.txt строку Disallow: /адрес страницы. После этого организуйте перенаправление с этих страниц на страницу с авторизацией, указав в файле .htaccess следующее:
Redirect 301 /стараястраница.html http://example.com/новаястраница.html
4. Проверьте, не установлена ли слишком маленькая длительность сессии в файле php.ini на сервере. Установите для параметров session.gc_maxlifetime и session.cookie_lifetime значения 1440 и 0 соответственно.
5. Посмотрите код сайта и скрипты на наличие ошибок.
403 Forbidden (Запрещено)
Здесь ситуация схожа с 401-ой ошибкой: не удаётся войти в систему. Но если в том случае система просто не может определить пользователя, то здесь система понимает, кто перед ней, и сознательно не предоставляет доступ.
Что можно сделать?
1. Просто подождать, если ошибка возникла после переноса домена с одного аккаунта хостинга на другой.
2. Уведомление появилось после установки нового плагина? Найдите этот плагин, затем измените его параметры или удалите его.
3. Удостоверьтесь, что в имени индексного файла нет ошибок: index, точка, расширение файла строчными буквами.
4. Также проверьте, что файлы сайта загружены в предназначенную для них папку.
5. Уточните, какие права установлены на папке, где находится запрашиваемый файл или папка. Рекомендуется установить права 744 (выполнять может только владелец) или 755 (выполнять могут и владелец, и пользователи).
6. Посмотрите файл .htaccess на предмет неверно указанных редиректов и излишнего ограничений доступа к файлам.
404 Not Found (Не найдено)
Наверное, самая известная всем ошибка. Она говорит о том, что запрашиваемой страницы нет из-за отсутствия файла с ней или из-за ошибки в URL.
1. Если страница по указанному адресу была удалена случайно, верните её.
2. На сайте имеются ссылки, по которым выдаётся ошибка 404? Удалите их или сделайте редирект 301 в файле .htacсess на подходящую страницу-замену.
3. На будущее создайте свою собственную страницу с 404-ой ошибкой. Оформите её в стиле других страниц сайта, также разместите на ней ссылку на главную страницу и, если потребуется, на другие важные разделы ресурса.
Остались вопросы? Посмотрите ответы на вопросы из нашего раздела FAQ:
- Отчего возникает ошибка 403 (Forbidden)?
- Отчего возникает ошибка 404 (Not Found)?
- Как изменить страницы ошибок 403, 404 и 500?
Также мы раньше в целом рассказали о кодах состояния сервера, к которым относятся в том числе и коды ошибок.
Главная » WordPress » На сайте возникла критическая ошибка WordPress | Как исправить?
Ошибка, которую вы увидели на экране: «На сайте возникла критическая ошибка WordPress«, полный текст выглядит следующим образом:
На сайте возникла критическая ошибка. Пожалуйста, проверьте входящие сообщения почты администратора для дальнейших инструкций.
Существуют различные другие версии этой ошибки, которые появляются в зависимости от того, какие изменения вы делаете: обновления php, ошибка wordpress install, ошибка при неудачном входе, ошибка при активации woocommerce и т.д.
Начиная с версии WordPress 5, благодаря режиму отладки, на экране появляется сообщение о том, что на сайте возникли технические проблемы. В WordPress 5.2 — 5.3 мы получали сообщение об ошибке «На сайте возникли технические проблемы«. Но в последнем выпуске WordPress 5.4 разработчики WordPress изменили сообщение. В этой статье я рассмотрю, как это исправить.
Существует множество распространенных ошибок wordpress, с которыми вы можете столкнуться, например:
- 500 internal server error,
- 504 Gateway Timeout error,
- 404 Page Not Found ,
- 405 Method Not Allowed Error,
- WordPress File And Folder Permissions Error,
- Error Establishing a Database Connection in WordPress,
- White Screen of Death (WSOD) Error и многие другие. Я подробно рассматривал все эти ошибки в других статьях моего блока.
Содержание
- Что означает эта критическая ошибка WordPress?
- Как исправить критическую ошибку в WordPress?
- Включите режим отладки в WordPress
- WordPress обновление PHP до версии 7.4 или выше
- Проверка версии PHP в WordPress
- Устранение проблем, связанных с конфликтом тем
- Устранение проблем, связанных с конфликтом плагинов
- Исправление ошибочных пользовательских кодов
- Вывод
- Нужна помощь от эксперта по WordPress?
Что означает эта критическая ошибка WordPress?
WordPress 6.2.2 имеет встроенную функцию, которая обнаруживает, когда плагин или тема вызывают фатальную ошибку на сайте. Она уведомляет вас об этом автоматическим письмом. Такого рода проблемы генерируют PHP FATAL ошибки. Фатальные ошибки возникают, когда PHP перестает работать и требует, устранение неполадки, прежде чем вы сможете завершить процесс.
Существует довольно много причин, по которым вы можете столкнуться с критической ошибкой в WordPress, поэтому постарайтесь вспомнить, каким было ваше последнее действие.
- Вы установили или удалили плагин?
- Вы активировали или деактивировали плагин?
- Загрузили, активировали или деактивировали новую тему?
- Вносили ли вы какие-либо изменения в веб-хостинг?
- Обновляли ли вы что-либо через FTP?
- Обновляли ли вы версию PHP?
CMS WordPress и некоторые из активных плагинов требуют использования большого количества памяти, либо на сайте много одновременных посещений, может возникнуть высокое потребление памяти PHP. Если потребности в памяти превысят установленные лимиты, на сайте возникнет ошибка: «На сайте произошла критическая ошибка WordPress«.
Эта ошибка является очень общей и не несет никакой информации, поскольку она показывается всем пользователям, которые просматривают сайт. Поэтому логично, что в целях безопасности она не показывает больше информации.
При фатальной ошибке ваш запрос не может быть выполнен. Вместо того чтобы показывать сломанные страницы с многочисленными ошибками, WordPress теперь показывает приличный экран. Вот и все.
Для отладки фактической возникшей ошибки и ее причины необходимо активировать режим отладки в WordPress. Далее я объясню, как это сделать.
Как исправить критическую ошибку в WordPress?
Включите режим отладки в WordPress
Войдите на свой сайт с помощью FTP и проверьте журналы ошибок. Если это не поможет, попробуйте включить режим отладки.
Существует несколько вариантов активации режима отладки в WordPress. Один из самых быстрых и эффективных — изменить файл wp-config.php, который будет находиться в корне нашего сайта. Для этого подключитесь к файлам сайта по FTP и откройте файл wp-config.php из корневой папки WordPress в текстовом редакторе. Найдите следующие строки и отредактируйте добавив следующие строки:
|
define(‘WP_DEBUG’, true); define( ‘WP_DEBUG_LOG’, true ); define( ‘WP_DEBUG_DISPLAY’, false ); @ini_set( ‘display_errors’, 0 ); |
Измените значения false на true и сохраните. Теперь, когда вы обновите страницу сайта, вы можете увидеть другие ошибки, которые могут дать вам лучшее понимание того, откуда исходит ошибка. Вы также можете проверить журналы отладки через FTP. Не забудьте вернуть значение false после завершения работы.
Возможно, файл уже содержит некоторые из этих строк, если это так, проверьте, что они одинаковые, и оставьте одну из них WP_DEBUG_LOG. Сохраните изменения в файле wp-config.php, и с этого момента WordPress будет записывать в этот файл любое предупреждение, уведомление или ошибку, возникающую на сайте. Расположение будет в папке wp-content/debug.log
Предыдущими строками мы указываем WordPress сохранять возможные ошибки, которые могут возникнуть, в файле debug.log и не показывать их на экране.
Это настоятельно рекомендуется, чтобы не показывать конфиденциальную информацию пользователю, который переходит на наш сайт. Если мы разрабатываем сайт и он еще не опубликован, то можем выводить ошибки на экран.
Как только активировали режим отладки, можем загрузить или прочитать файл напрямую /www/wp-content/debug.log, который будет иметь содержание, аналогичное следующему:
В зависимости от уровня журнала он покажет нам предупреждения, уведомления, ошибки или все вместе. В нашем случае он покажет все уровни журнала. В основном сосредоточимся на строках, которые начинаются с «PHP Fatal error» или «Error», которые являются теми ошибками, которые могут привести к тому, что веб-страница не будет показана пользователю.
Существуют и другие уровни ошибок, но эти — самые важные. Теперь давайте узнаем, как решить эту проблему, обновив версию PHP.
WordPress обновление PHP до версии 7.4 или выше
WordPress написан на языке PHP, и ваш хостинг устанавливает его версию.
Прежде чем приступить к обновлению версии PHP, мы настоятельно рекомендуем вам сделать резервную копию вашего сайта и базы данных. В случае если что-то пойдет не так, вы сможете восстановить сайт из резервной копии.
Как и при обновлении WordPress, плагинов и тем, также важно обновить PHP WordPress до последней версии. Есть две причины, по которым вам необходимо обновить версию PHP.
- Сайт WordPress будет работать быстрее
- Новая версия PHP более эффективна. Вы можете увеличить производительность вашего сайта в 3-4 раза.
Также сайт будет более безопасным. WordPress — самая популярная CMS, построенная на PHP. Следовательно, хакерам легко взломать сайт wordpress. Обновив PHP, вы получите новейшие функции безопасности, которые отсутствуют в предыдущей версии PHP. Поэтому очень важно обновить PHP до последней версии.
Проверка версии PHP в WordPress
Чтобы проверить текущую версию PHP, вы можете создать новый файл, допустим serverinfo.php. Теперь отредактируйте этот файл и добавьте в него следующий код. После этого запустите файл, и он предоставит вам всю информацию о системе, на которой работает ваш сервер.
|
<?php phpinfo(); // Функция информации о версии php |
Устранение проблем, связанных с конфликтом тем
Для этого просто активируйте тему по умолчанию, например, Twenty Twenty или выше.
К сожалению, поскольку ваш сайт отображает ошибку, вам придется устранять неполадки с помощью файлового менеджера вашего хостера (например, файлового менеджера cPanel) или использовать FTP или sFTP (это защищенная версия FTP).
Важно отметить, что при смене темы вы не потеряете настройки выбранной темы.
Для этого переименуйте папку с активной темой, добавив в конце названия папки DISABLE или DISABLED. Например, если вы используете Twenty Nineteen и папка называется «twentynineteen «, вы назовете ее «twentynineteenDISABLE» или «twentynineteenOLD». Вернитесь в верхнюю часть сайта и обновите страницу.
Цель — посмотреть, исчезнет ли ошибка. Если не исчезнет, то это что угодно, но не тема.
Устранение проблем, связанных с конфликтом плагинов
Если дело не в теме, это может быть проблема с плагином. В некотором смысле, поиск и устранение неисправностей схожи. Однако гораздо проще переименовать папку плагина в «pluginsOFF». Посетите сайт и войдите в систему. Это приведет к закрытию всех плагинов. Обратите внимание, что это не удалит первоначальные настройки этих плагинов, так как они сохранятся, когда вы снова включите их позже.
После того, как плагины будут отключены, вернитесь и переименуйте папку в начальный вид «plugin». Зайдите в админку WordPress и снова включите каждый из них по очереди, пока не появится сообщение «На сайте возникла критическая ошибка».
Когда вы обнаружили проблему, вам, вероятно, нужно восстановить объект или модуль, который ее вызвал. Вы можете сделать это несколькими способами.
Скачайте оригинальные файлы плагина прямо из каталога плагинов WordPress и замените плагин через Файловый менеджер вашего хостера (или cPanel) или через FTP или sFTP.
Использовать плагин WP Rollback для восстановления плагина до предыдущей версии.
Если вы используете WP Rollback, есть несколько версий на выбор. Он подскажет вам, какая версия у вас установлена. Выберите плагин для восстановления. Нажмите на «Rollback», если он доступен в списке плагинов в вашем администраторе WordPress.
Исправление ошибочных пользовательских кодов
Если ничего из вышеперечисленного не помогло, то ни плагины, ни темы не являются виновниками, и следующее, что нужно сделать, это проверить, не имеют ли какие-либо из ваших пользовательских кодов несовместимости с текущей версией WordPress, темы, плагинов или PHP.
Чтобы исправить это, просто удалите пользовательские коды из файла functions.php темы или из того места, куда вы их добавляли, и проверьте, нет ли больше критических ошибок WordPress.
Если критические ошибки исправлены, то вы уже знаете, что виновником является:
- Ваш пользовательский код.
- Или версия PHP, из-за проблем с совместимостью между ними.
Вывод
Увидеть сообщение «На сайте возникла критическая ошибка WordPress» может показаться тревожным сигналом, но теперь она предупреждает вас и даже предлагает ссылку, по которой можно узнать, как отладить такие ошибки WordPress.
Кроме того, сайт WordPress отправит вам электронное письмо с инструкциями, а иногда даже активирует режим восстановления WordPress.
Если вы не получили письмо от WP, вы можете посмотреть в журналы сервера и получить запись, связанную с этой проблемой?
Это также может помочь вам найти решение. Вы можете получить доступ к журналу ошибок через FTP или cPanel, зайдя в корневой каталог установки WordPress. Вы также можете поговорить с вашим хостинг-провайдером, чтобы узнать, где хранятся журналы ошибок, так как у каждого хостера они разные.
Нужна помощь от эксперта по WordPress?
Нет технических знаний? Поможем исправить. На вашем веб-сайте произошла критическая ошибка? Свяжитесь с нами прямо сейчас и мы мгновенно исправим проблемы с WordPress.
#Руководства
- 7 июн 2023
-
0
Рассказываем, почему запрос плохой и как сделать его хорошим.
Иллюстрация: Оля Ежак для Skillbox Media
Журналист, изучает Python. Любит разбираться в мелочах, общаться с людьми и понимать их.
Когда мы заходим на сайт, браузер отправляет ему HTTP-запрос. Если всё хорошо, то сервер присылает в ответ нужную страницу.
Но иногда что-то идёт не так и вместо веб-страницы мы получаем сообщение 400 Bad Request. Так происходит, когда браузер отправил серверу не то, что тот ожидал увидеть. При этом проблема не всегда на стороне пользователя — дело может быть и в неправильных настройках сайта.
Из этой статьи вы узнаете:
- Что означает ошибка 400
- Как её исправить на стороне пользователя
- Как её исправить администратору сайта
Сообщение «400 Bad Request» (в переводе «неправильный запрос») буквально означает, что сервер не понял, что от него хотят. Он получил запрос, но не может его обработать.
Bad Request появляется по двум глобальным причинам:
- В запросе есть ошибка. В таком случае проблема на стороне пользователя. Нужно найти ошибку и исправить.
- Запрос корректен, но сайт почему-то не может его обработать. Это более редкий случай, и решать проблему нужно администратору сайта.
Теперь подробно о том, что с этим делать рядовому пользователю и администратору сайта.
В первую очередь зайдите на сайт с другого устройства. Идеально, если оно будет подключено к другому роутеру или сетевому коммутатору. В случае, если другой сети поблизости нет, перезагрузите роутер — иногда это помогает.
Если после описанных действий сайт открылся, значит, проблема возникла на вашей стороне. Проверьте самые распространённые причины:
- URL-адрес введён с ошибкой;
- в кэше или cookies браузера сохранились неверные данные;
- вы пытаетесь загрузить на сайт слишком большой файл;
- программы на вашем компьютере меняют запрос к сайту (возможно, это вирусы);
- в DNS-кэше хранятся неверные данные.
Пройдёмся по каждой причине.
Внимательно прочтите адресную строку: туда могла закрасться опечатка. Даже если вы не вводили адрес вручную, а перешли по ссылке, в ней тоже может быть ошибка. При этом обратите внимание на регистр. Некоторые части адреса могут быть чувствительны к тому, написана в них заглавная или строчная буква.
Также попробуйте найти эту страницу в одном или нескольких поисковиках: обычно в них указаны правильные ссылки.
Когда вы путешествуете по интернету, браузер автоматически сохраняет данных о ваших действиях в кэше и cookies. Они могут устареть или вступить друг с другом в конфликт.
Зайдите в настройки браузера, очистите кэш и cookies. Ещё это можно сделать программой для очистки компьютера (например, CCleaner).
Почти у каждого сайта установлен предельный размер файла, который можно на него загрузить. Если размер превышает допустимый предел, это может вызвать ошибку 400. Следовательно, чтобы исправить ошибку, попробуйте сжать файл и повторить загрузку.
Некоторые программы могут вмешиваться в работу вашего браузера и изменять запросы. Это могут быть вирусы, антивирусы, приложения от вполне добросовестных поставщиков и даже встроенные программы операционной системы. Проверить стоит все варианты:
- Установите антивирус и просканируйте устройство. Вредоносная программа могла использовать ваш запрос для кибератаки.
- Если доверяете сайту, на который хотите попасть, временно отключите антивирус. Возможно, это он блокирует страницу. Попробуйте отключить брандмауэр или добавить браузер в список его исключений.
- Обновите драйверы для сетевых устройств — они могли устареть.
На самом деле есть куда больше вариантов того, что на компьютере могло помешать запросу. Если у вас Windows, может помочь удаление и переустановка .NET. Также можно попробовать обновить операционную систему или просканировать системные файлы на ошибки.
На самом деле сетевые устройства ищут сайты не по URL, а по IP-адресам. Информация о том, какой URL соответствует какому IP, хранится на DNS-серверах. Чтобы не обращаться к DNS-серверам за одними и теми же IP, компьютер кэширует их.
Если сайт сменил IP-адрес, а в кэше остались устаревшие данные, это может вызвать ошибку 400. Решение — очистить DNS-кэш. Способ зависит от операционной системы.
В Windows
- Нажмите Win + R.
- В открывшемся приложении введите cmd.exe или powershell.
- Введите команду ipconfig /flushdns и нажмите Enter.
В macOS
- Нажмите Command + Пробел.
- Введите «Терминал» и откройте найденное приложение.
- Введите команду sudo killall -HUP mDNSResponder и нажмите Enter.
В Linux DNS по умолчанию не кэшируется. Всё зависит от вашего дистрибутива и службы кэширования.
Если вы проверили каждый пункт и ничего не помогло, обратитесь к интернет-провайдеру или владельцу сайта. Возможно, проблема у них, а они об этом не знают. Подробно опишите действия, которые вы предпринимали, укажите модель устройства и адрес страницы, на которую хотите попасть.
Привести к ошибке Bad Request может и неправильная работа сайта или приложения. Здесь тоже есть целый ряд возможных причин. Имеет смысл проверить логи: вполне вероятно, что ответ вы сможете найти в них.
Если в требованиях к HTTP-заголовкам есть ошибка, то сервер может воспринимать верные запросы как ошибочные. Более того, каких-то важных заголовков в настройках сервера может вовсе не быть.
Проверьте эти требования и удостоверьтесь, что они прописаны правильно.
Если ошибка появилась после обновления CMS, установки или обновления нового плагина, то проблема можно крыться в этом.
Чтобы ничего не потерялось, сделайте резервную копию данных. Затем откатите CMS и плагины до старой версии и удалите новые плагины.
Если проблема в плагинах, то их откат или удаление не всегда помогает. Во время работы они могли внести изменения в базу данных, которые и нарушили работу сайта.
Базу данных придётся просматривать вручную: ищите записи, на которые могли повлиять проблемные плагины.
Зачастую проблема возникает из-за ошибки в скрипте. В таком случае порядок решения стандартный:
- запустите дебаггер;
- воспользуйтесь автотестами;
- просмотрите код вручную, запустите его по частям;
- исправьте проблемную функцию;
- залейте изменения на продакшн-сервер.
Если ни один из способов не помог, обратитесь к своему хостинг-провайдеру — возможно дело в нём. А даже если это не так, служба техподдержки поможет вам починить сайт или приложение.

Научитесь: Профессия Веб-разработчик
Узнать больше
















