404 Not Found: что означает эта ошибка и как её исправить на сервере
Ошибка 404 Not Found появляется, когда сервер не находит запрошенную страницу — из-за опечатки в адресе, удалённого файла или сбитого редиректа. В инструкции разберёте, что означает код 404, чем он отличается от 403 и 503, и какими шагами восстановить страницу или настроить свою страницу-заглушку. Ещё больше практических гайдов по серверам — в разделе Блог, а подобрать стабильный VPS для сайта можно в каталоге тарифов.

Коротко
Главные выводы статьи о теме «Ошибка 404 Not Found» в семи пунктах:
- HTTP-код 404 входит в группу клиентских ошибок 4xx — наравне с 400, 403 и 410
- В логах nginx и Apache код ответа фиксируется в access.log вторым числом после метода запроса
- Кастомная страница ошибки задаётся директивой error_page 404 /404.html; в nginx или ErrorDocument 404 в .htaccess для Apache
- Google Search Console показывает отчёт «Страница не найдена (404)» отдельно от «Ошибка сервера (5xx)»
- После сброса кэша CDN изменения на сайте обычно применяются за 5–10 минут
- Типичная причина 404 на всех страницах WordPress, кроме главной, — сбитые правила ЧПУ в .htaccess
- Восстановление файла через FTP-клиент занимает 2–5 минут при наличии резервной копии
Что означает ошибка 404 Not Found
Код 404 — это ответ сервера на HTTP-запрос, который означает «ресурс не найден по указанному адресу». Он входит в группу клиентских ошибок 4xx (диапазон 400–499) наравне с кодами 400, 403 и 410. Полная строка ответа выглядит так: HTTP/1.1 404 Not Found, и её видно в консоли разработчика браузера или в логах сервера.
Ошибка 404 появляется не только в браузере. Она встречается при обращении к API — например, когда мобильное приложение или скрипт запрашивает несуществующий эндпоинт, а также при загрузке картинок, скриптов и других файлов на странице. В логах nginx и Apache код ответа фиксируется в файле access.log вторым числом после метода запроса, что удобно для быстрой диагностики. Если хотите разобраться, как формируются такие ответы на уровне протокола, загляните в словарь терминов по сетям и серверам.
Важно не путать 404 с соседними кодами: 403 Forbidden означает, что ресурс существует, но доступ к нему запрещён, а 500 Internal Server Error сигнализирует о сбое на стороне сервера, а не об отсутствии страницы. Google Search Console показывает эти категории раздельно: отчёт «Страница не найдена (404)» отдельно от «Ошибка сервера (5xx)», что упрощает диагностику проблем сайта.
Чтобы не путаться в кодах, держите короткую памятку:
- 404 — ресурс отсутствует по данному URL
- 403 — ресурс есть, но доступ ограничен
- 500 — на сервере произошла внутренняя ошибка
- 4xx — вся группа клиентских ошибок, включая 400 и 410
Почему сервер возвращает 404: механизм и типичные причины
Когда вы открываете страницу, браузер отправляет серверу GET-запрос с адресом файла или маршрута. Веб-сервер — nginx или Apache — ищет соответствующий файл на диске или правило маршрутизации. Если совпадения нет, сервер формирует ответ с кодом 404 вместо содержимого страницы.
Этот код входит в группу клиентских ошибок 4xx — туда же относятся 400, 403 и 410. Каждый такой ответ фиксируется в access.log вторым числом после метода запроса, поэтому историю 404-ошибок легко найти в логах сервера. Google Search Console собирает их отдельно, в отчёте «Страница не найдена (404)», не смешивая с ошибками 5xx.
Причин у 404 обычно немного, и почти все они на стороне сайта или пользователя. Разобраться, какая именно сработала в вашем случае, помогут шесть типичных сценариев:
- Опечатка в адресе — лишний символ или неверный регистр в URL.
- Страница удалена или перенесена без создания редиректа на новый адрес.
- Настроен неверный редирект, который ведёт на несуществующий путь.
- Сбиты правила ЧПУ (человекопонятных урлов): типичный случай — все страницы WordPress, кроме главной, отдают 404 из-за повреждённого
.htaccessпосле сброса настроек CMS или обновления плагина. - Отключён модуль или плагин, который отвечал за конкретный маршрут.
- Устарел кэш CDN (сети доставки контента) — браузер получает старую версию страницы, которой уже нет.
Если причина в кэше Cloudflare, изменения на сайте обычно применяются за 5–10 минут после сброса — раньше проверять бессмысленно. Если проблема серьёзнее, разберитесь, как исправить 404 на своём сайте.
Как исправить 404 на своём сайте: пошаговая инструкция
Прежде чем менять код или конфиги, убедитесь, что проблема действительно на стороне сервера, а не в самом запросе. Часто причина банальна: опечатка в адресе, лишний слэш или неверный регистр символов в пути. Только после этого имеет смысл лезть в логи и файлы сайта.
Если URL корректный, ищите причину в логах и на диске: сервер честно записывает каждый ответ клиенту, а файл мог пропасть или сместиться при обновлении темы или плагина. Как найти и устранить причину 404 по шагам:
- Проверьте адрес вручную: скопируйте URL из ошибки, сверьте регистр символов и лишние символы вроде пробела или двойного слэша.
- Откройте лог ошибок:
/var/log/nginx/error.logдля nginx или/var/log/apache2/error.logдля Apache — там видно, какой файл сервер не нашёл. - Подключитесь по FTP-клиенту (протокол передачи файлов, порт
21) и проверьте, существует ли нужный файл в каталоге сайта. - Если файла нет, восстановите его из резервной копии — при наличии бэкапа это займёт 2–5 минут.
- Проверьте правило ЧПУ (человекопонятный урл) в файле
.htaccessдля Apache или блокlocationв конфиге nginx — на WordPress 404 на всех страницах, кроме главной, почти всегда означает сбитые правила ЧПУ. - Если страница переехала на новый адрес, настройте 301-редирект: директива
RewriteRuleв.htaccessилиreturn 301в блокеservernginx. - Сбросьте кэш CDN (сеть доставки контента) в панели провайдера — изменения обычно применяются за 5–10 минут.
- Перезапустите сервер командой
systemctl restart nginx(или аналогичной для Apache), чтобы новая конфигурация вступила в силу. - Проверьте результат командой
curl -Iпо адресу страницы — в ответе должен появиться код200вместо404.
Если после всех шагов ошибка сохраняется, а не хватает ресурсов сервера для нормальной диагностики — стоит поменять тариф. Разница особенно заметна при частых деплоях и больших логах, когда нужен запас по диску и оперативной памяти: подобрать VPS с нужными ресурсами.

Перенести сайт на другой сервер
При частых сбоях и повторяющихся 404 после обновлений проще перейти на более надёжный VPS
Настройка страницы 404: директивы nginx и Apache
Стандартная страница 404 веб-сервера — это белый экран с одной строкой текста. Замените её своей: создайте файл 404.html с логотипом, поиском по сайту и ссылкой на главную, а затем укажите этот файл в конфигурации сервера. Файл должен весить не больше 50–100 КБ, чтобы страница открывалась сразу.
Загрузите HTML-файл (HyperText Markup Language — язык разметки страниц) в корневую папку сайта, например в /var/www/example.ru/. Если вы не работаете с SSH (Secure Shell — защищённый удалённый доступ к серверу), используйте FTP (File Transfer Protocol — протокол передачи файлов): подключитесь к серверу через FileZilla и перетащите файл в нужную папку. На это уйдёт 2–3 минуты.
Главное — чтобы страница отдавала правильный HTTP-код (HyperText Transfer Protocol — протокол передачи данных в вебе). Если вместо 404 сервер отвечает 200 OK, поисковые системы добавляют страницу ошибки в индекс, а Google Search Console помечает такие адреса как «мягкие 404» (soft 404). Чаще всего это происходит в двух случаях: в nginx стоит знак = в строке error_page 404 = /404.html;, а в Apache в ErrorDocument указан полный адрес страницы. Во втором случае сервер отвечает не 404, а переадресацией с кодом 302.
| Параметр | nginx 1.25 | Apache 2.4 |
|---|---|---|
| Директива | error_page 404 /404.html; |
ErrorDocument 404 /404.html |
| Где прописать | /etc/nginx/sites-available/example.ru, блок server |
/etc/apache2/sites-available/example.ru.conf или .htaccess |
| Запрет прямого доступа к файлу | location = /404.html { internal; } |
не требуется |
| Проверка синтаксиса | sudo nginx -t |
sudo apache2ctl configtest |
| Применение изменений | sudo systemctl reload nginx |
sudo systemctl reload apache2 |
Как проверить, что страница 404 работает правильно:
- Выполните команду
curl -I https://example.ru/net-takoy-stranicy. - Проверьте первую строку ответа: там должно быть
HTTP/1.1 404 Not Found, а не200 OKили302 Found. - Откройте тот же адрес в браузере и убедитесь, что показывается ваша страница, а не стандартная.
- Если сайт работает через CDN (Content Delivery Network — сеть доставки контента), сбросьте кэш и повторите проверку через 5–10 минут.

Ошибки при работе с 404 и как их избежать
Даже после настройки страницы ошибки владельцы сайтов допускают промахи, которые портят статистику и раздражают посетителей: чаще всего это редирект всех битых адресов на главную и страница 404, которая отдаёт код 200. Часть проблем не видна глазами — нужна проверка кодов ответа и логов, а не просто визуальный осмотр страницы.
Первая ошибка: редирект всех 404 на главную
Все несуществующие адреса ведут на главную страницу вместо релевантного раздела. Посетитель ищет конкретный товар или статью, а попадает на витрину сайта и уходит — так теряется до 70% случайных переходов.
Как решить: вместо общего редиректа настройте переадресацию на ближайшую по смыслу категорию или оставьте корректную страницу 404 с формой поиска.
Вторая ошибка: страница ошибки с кодом 200
Самодельная страница ошибки внешне выглядит правильно, но сервер отдаёт для неё код 200 вместо 404. Такую страницу поисковые системы индексируют как обычный контент, а отчёт Google Search Console «Страница не найдена (404)» её не увидит.
Как решить: проверьте реальный код за 5 секунд командой curl -I — она покажет заголовки ответа без загрузки всей страницы. В логах код ответа смотрите в access.log: он идёт вторым числом после метода запроса в строке лога.
Третья ошибка: неверный регистр в ссылке
Файловая система Linux регистрозависима: Page.html и page.html — разные файлы, отсюда 404 при неверном регистре в ссылке.
Четвёртая ошибка: битые пути после переезда
После переезда на другой сервер часть ссылок из старых закладок и внешних сайтов бьёт мимо новых путей. Включите мониторинг свежих 404 в первые 2 недели.
Пятая ошибка: случайно удалённый файл
Если нужный файл удалили по ошибке, его восстановление через FTP-клиент занимает 2–5 минут при наличии резервной копии.
Регулярно сверяйте список найденных 404-адресов и настраивайте по ним точечные переадресации — это быстрее, чем ждать жалоб от пользователей. Как подобрать VPS с удобным доступом к логам, разберём отдельно.
404 или другой код: чем отличается от 301, 410 и 503
Код 404 входит в группу клиентских ошибок 4xx — наравне с 400, 403 и 410. Он означает: адрес запрошен, но сервер не нашёл по нему контент. Страница может появиться позже, поэтому поисковик проверяет её снова и снова, тратя на это краулинговый бюджет.
410 Gone — более честный код для того, что удалено навсегда. Разница на практике заметна быстро: страницы с 410 Google исключает из индекса ощутимо оперативнее, чем с 404, потому что серверу не нужно перепроверять адрес раз за разом. В Google Search Console оба случая видно в отчёте «Страница не найдена (404)», а ошибки сервера отображаются отдельно, в разделе «Ошибка сервера (5xx)».
301 и 503 решают другую задачу — они не про отсутствие контента, а про его статус. 301 Moved Permanently сообщает, что страница переехала на новый адрес насовсем, и передаёт ему вес. 503 Service Unavailable говорит, что сервис недоступен временно, например на время техобслуживания, и вернётся в течение нескольких часов. Такой код не даёт поисковику повода выбрасывать страницу из индекса.
Разница хорошо видна на примере интернет-магазина с карточками товаров:
- Товар снят с продажи навсегда, поставок не будет — карточке нужен код
410, чтобы страница быстрее ушла из индекса. - Товара временно нет на складе, но он вернётся — карточка остаётся с кодом
200и пометкой «нет в наличии», ссылки и SEO-вес сохраняются. - Раздел каталога переименован — здесь уместен
301на новый URL, а не404или410. - Плановые работы на сервере — на время обслуживания стоит отдавать
503, а не показывать посетителям обычную ошибку.
Выбор кода напрямую влияет на скорость переиндексации и на то, сколько трафика сайт теряет за это время. Если такие ситуации возникают часто, разумнее держать сайт на ресурсах с запасом по производительности — например, посмотреть варианты на странице подобрать VPS для сайта.

Когда стандартной страницы 404 недостаточно
Ручная проверка ссылок работает для визитки на 20 страниц, но не для каталога с тысячами товаров. Если проверяете больше нескольких сотен URL в месяц — это сигнал переходить на автоматический мониторинг. Отчёт «Страница не найдена (404)» в Google Search Console и аналогичный раздел в Яндекс.Вебмастере показывают битые ссылки без ручного обхода сайта.
Для API-сервисов отдавать HTML-страницу с кодом 404 — ошибка. Клиентское приложение ждёт JSON с телом ошибки: полем error и понятным сообщением, а не разметку, рассчитанную на браузер. Иначе фронтенд не сможет корректно обработать ответ и покажет пользователю пустой экран вместо диагностики.
Отдельный случай — сезонные товары. Если позиция временно отсутствует, но вернётся через 1-2 месяца, отдавать 404 неверно: страница потеряет позиции в поиске. Правильнее оставить карточку с кодом 200 и пометкой «нет в наличии», как в примере выше. Временный редирект с кодом 302 на страницу категории уместен, только если саму карточку на это время снимают с сайта, — после появления товара редирект убирают.
Каким проектам нужен особый подход к ошибке 404:
- Каталоги и агрегаторы с сотнями и тысячами URL — нужен краулер вроде
Screaming Frogплюс регулярная выгрузка из Search Console - API-эндпоинты — JSON с телом ошибки вместо HTML-страницы 404
- Сезонные и временно недоступные товары — код 200 с пометкой «нет в наличии» или 302, если карточку временно сняли с сайта, но не 404
- Высоконагруженные проекты — мониторинг логов
access.logпо расписанию, а не разовая сверка
Для проектов такого масштаба важна и сама инфраструктура: чем стабильнее диск и сеть, тем реже 404 возникает из-за таймаутов при генерации страницы. Подобрать конфигурацию под нагрузку каталога можно на странице сравнения тарифов VPS.
Частые вопросы
Что означает ошибка 404 Not Found простыми словами
Почему сайт пишет 404, хотя страница точно существует
Чем 404 отличается от 403 Forbidden
Что делать, если WordPress выдаёт 404 на всех страницах, кроме главной
Можно ли сделать свою страницу для ошибки 404
Влияет ли ошибка 404 на позиции сайта в поиске
Как найти все страницы сайта с ошибкой 404
Что делать, если 404 появились после переезда на новый сервер
Нужно ли делать редирект со страницы, которая отдаёт 404
Чем 404 отличается от 503 Service Unavailable
Итоговый чек-лист
Используйте список как порядок действий, когда на сайте появилась ошибка 404: от простой проверки адреса до мониторинга. Пункты расставлены так, чтобы сначала исключить самые частые причины.
- Проверили точный URL на опечатки и регистр символов
- Посмотрели лог ошибок сервера и нашли путь, который не находится
- Убедились, что файл или маршрут действительно существуют на сервере
- Настроили корректный error_page или ErrorDocument для кастомной страницы 404
- Проверили через curl -I, что кастомная страница отдаёт код 404, а не 200
- Настроили 301-редирект там, где у страницы есть логичная замена
- Подключили мониторинг 404 через Search Console или Вебмастер для крупного сайта
Когда найдёте причину, не забудьте проверить через curl -I код ответа. Страница, которая выглядит как 404, но отдаёт код 200, мешает индексации.
Источники
На сайте есть партнёрские ссылки: если вы оформите заказ по ним, мы получим вознаграждение от провайдера. Это не влияет на цену для вас и на место в рейтинге.