В прошлой статье мы рассмотрели несколько самых популярных операционных систем, которые обычно выбирают для установки на VPS серверы. А сегодня мы хотим познако...
Блог компании 3v-Hosting
7 мин.
Ошибка «404 Not Found» - это один из самых узнаваемых и часто встречающихся кодов статуса HTTP в Интернете. Независимо от того, являетесь ли вы владельцем веб-сайта, разработчиком или обычным пользователем, вы, вероятнее всего, сталкивались с этой ошибкой не единожды, при просмотре веб-страниц. Несмотря на ее распространенность, многие люди не до конца понимают, что такое ошибка 404, почему она возникает и как ее исправить. В этой статье мы подробно рассмотрим данную тему, что такое ошибка 404, причины её возникновения и последствия возникновения данной ошибки для администрирования веб-сайта. Ну и конечно опишем несколько методов её устранения.
Прежде чем мы рассмотрим особенности кода ошибки 404, важно понять контекст, в котором он работает, а именно коды состояния HTTP (протокола передачи гипертекста). Эти коды представляют собой стандартизированные ответы, отправляемые серверами для указания результата запроса клиента. Они делятся на пять категорий, которые начинаются с цифр от единицы до пятерки:
Ошибка 404 относится к категории 4xx и означает, что клиент сделал допустимый запрос, но сервер не может найти запрошенный ресурс.
Теперь давайте подробнее разберемся именно с 404 кодом ответа.
Ошибка 404 возникает, когда клиент (например, веб-браузер) запрашивает ресурс (например, веб-страницу), который сервер не может найти. Эта ошибка не означает, что сервер отключен или работает со сбоями; скорее, она указывает на то, что введенный URL-адрес не соответствует ни одному ресурсу, доступному на сервере в данный момент.
Полное сообщение об ошибке обычно выглядит так: «404 Not Found» или «Ошибка 404 Not Found». Этот ответ отправляется сервером, когда он не может найти запрошенный контент. Сервер успешно обработал запрос, но запрошенный ресурс (например, определенная веб-страница, изображение или файл) недоступен, обычно потому, что он был перемещен, удален или URL-адрес был введен неправильно.
Чтобы лучше понимать природу ошибки 404, полезно разложить по шагам, что происходит между моментом, когда пользователь вводит адрес сайта в строке браузера, и появлением страницы «404 Not Found».
Пользователь вводит URL
Браузер разбирает введённый адрес на части: протокол (http или https), доменное имя (site.com), порт (по умолчанию 80 или 443) и путь к ресурсу (/page.html или /blog/article-1/).
DNS-резолвинг домена в IP-адрес
Браузер обращается к системе доменных имён (DNS), чтобы получить IP-адрес сервера, на котором размещён сайт.
Если домен найден, DNS-сервер возвращает IP (например, 203.0.113.10). Если DNS настроен неправильно, ошибка может возникнуть ещё до этапа 404, но в нормальной ситуации резолвинг проходит успешно.
Установка сетевого соединения с сервером
Далее браузер устанавливает соединение с сервером по протоколу TCP.
При https поверх TCP настраивается шифрованный канал (TLS/SSL-рукопожатие). После успешного установления соединения браузер может отправлять HTTP-запросы.
Отправка HTTP-запроса к конкретному ресурсу
Браузер формирует и отправляет запрос примерно в таком виде:
GET /does-not-exist/ HTTP/1.1 Host: site.com User-Agent: Mozilla/5.0 ... Accept: text/html,application/xhtml+xml
Ключевые элементы запроса: метод (GET), путь (/does-not-exist/) и заголовок Host, по которому веб-сервер понимает, к какому сайту относится запрос (особенно важно при виртуальном хостинге).
Обработка запроса веб-сервером и/или приложением
Запрос попадает на веб-сервер (Nginx, Apache, LiteSpeed и т.д.). Дальше возможны два варианта:
сервер ищет статический файл по заданному пути (например, root /var/www/html; и файл /var/www/html/does-not-exist/index.html),
сервер передаёт запрос приложению или CMS (PHP-скрипт, фреймворк, WordPress, Django и т.п.), которое само решает, существует ли запрошенная страница.
Если нужный файл не найден и CMS сообщила, что такого маршрута (URL) нет, сервер приходит к единственному возможному решению - запрошенный ресурс отсутствует.
Формирование ответа с кодом 404
В результате сервер генерирует ответ:
HTTP/1.1 404 Not Found Content-Type: text/html; charset=utf-8 Content-Length: ... ...
После заголовков сервер отправляет HTML-код страницы ошибки. Это может быть стандартная минималистичная страница веб-сервера или кастомная 404-страница сайта.
Отображение страницы ошибки в браузере
Браузер получает ответ, видит код состояния 404 в статусной строке и отображает полученный HTML как страницу «Не найдено». Для пользователя это выглядит как привычная страница 404 с текстом о том, что ресурс отсутствует.
По сути, ошибка 404 может появиться в двух местах:
location/rewrite),Поэтому, если вдумчиво разобраться в этой цепочке, тогде становится совершенно не сложно найти причину и правильно настроить сервер, редиректы или CMS. А чтобы это стало ещё проще, мы прилагаем упрощенную схему возникновения ошибки 404.

К возникновению ошибки "404 Not Found" могут привести несколько основных факторов, среди которых:
Когда ошибка 404 уже возникла, важно не ограничиваться своими догадками и простым визуальным осмотром сайта. Гораздо продуктивнее пройтись по простому чеклисту и провести диагностику, от запроса к серверу до работы CMS и прав на файлы. Ниже приведена последовательность шагов, которая поможет быстро локализовать проблему и в результате устранить её.
Для начала убедитесь, что ресурс действительно возвращает 404, а не какую-то другую ошибку или редирект.
curl -I https://site.com/does-not-exist/
Обратите внимание на строку HTTP/1.1 в ответе:
HTTP/1.1 404 Not Found - реальная ошибка 404;HTTP/1.1 301 Moved Permanently или 302 Found - идет перенаправление, проверьте конечный URL;HTTP/1.1 200 OK при явно несуществующей странице - потенциальный soft 404, который может негативно влиять на SEO.
Для просмотра полного ответа можно использовать команду для более детального ответа:
curl -v https://site.com/does-not-exist/
Это поможет увидеть цепочку редиректов и заголовки сервера.
Следующий шаг - это посмотреть, что именно видит сервер при обработке запроса. В логах Nginx и Apache обычно четко видно, какой URL запрашивался и с каким кодом он был отдан.
Пример строки в access-log Nginx:
203.0.113.5 - - [12/Nov/2025:10:15:23 +0000] "GET /does-not-exist/ HTTP/1.1" 404 612 "-" "Mozilla/5.0 ..."
Пример для Apache:
203.0.113.5 - - [12/Nov/2025:10:15:23 +0000] "GET /does-not-exist/ HTTP/1.1" 404 612 "-" "Mozilla/5.0 ..."
Есть пара команд, которые помогут в работе с логами. Например, чтобы вывести последние сто строк access лога Nginx - используйте команду tail:
tail -n 100 /var/log/nginx/access.log
А чтобы найти в логе только те запросы, которые содержат текст "404", выполните:
grep " 404 " /var/log/nginx/access.log | tail -n 50
По логам можно понять:
Если в логах видно, что запрос вообще не попадает в нужное приложение или папку, стоит проверить конфигурацию виртуального хоста.
Базовый пример блока server:
server {
server_name site.com;
root /var/www/site.com;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
На что в первую очередь стоит обратить внимание:
root;location нужный путь и не отдаёт ли он свою 404;try_files для CMS/фреймворка, который должен обрабатывать «красивые» URL.
После любых изменений обязательно проверяйте конфигурацию и перезапускайте сервис:
sudo nginx -t sudo systemctl reload nginx
Аналогичная логика применима и к Apache (директивы DocumentRoot, RewriteRule, ErrorDocument).
Иногда ресурс физически существует, но сервер не может прочитать файл из-за некорректных прав на данный ресурс, что в итоге также приводит к ошибке 404 или даже 403.
Команда быыстрой проверки прав выглядит так:
ls -l /var/www/site.com
Есть несколько рекомендаций общего характера, придерживаясь которых вы сможете избежать большинства проблем:
755;644;www-data).Если приложение или CMS генерирует файлы динамически (например, изображения, кэш), убедитесь, что у сервера есть права на запись в соответствующие каталоги.
Если сайт работает на CMS (WordPress, Joomla, Drupal) или фреймворке (Laravel, Symfony, Django), ошибка 404 может возникать не на уровне веб-сервера, а внутри самого приложения.
Что стоит проверить:
Настройки постоянных ссылок (permalinks)
В WordPress, например, иногда достаточно заново сохранить структуру постоянных ссылок, чтобы обновить .htaccess и восстановить маршрутизацию.
Файлы конфигурации маршрутов
В фреймворках проверьте конфигурацию роутинга: не изменился ли путь к контроллеру/обработчику, не удалён ли маршрут.
Плагины и модули
Отключите недавно установленные или обновленные плагины, которые могли изменить структуру URL или добавить собственную обработку 404.
Кеш и SEO-плагины
Очистите кеш на уровне CMS и серверного кеша (OPcache, FastCGI cache, reverse-proxy). Иногда старые правила или шаблоны страниц 404 сохраняются в кэше и продолжают отдаваться даже после исправления.
Наконец, важно убедиться, что ошибка воспроизводится не только у вас локально:
Если с внешних сервисов ресурс открывается корректно, а у части пользователей - нет, то проблема может быть в локальных настройках DNS, кешировании провайдера или географической маршрутизации. В таком случае можно попробовать очистить кеш браузера и использовать VPN для проверки.
Ошибка 404 на первый взгляд кажется совершенно простой и понятной: страница не найдена. Однако поисковые системы различают два принципиально разных сценария - Hard 404 и Soft 404, - и их влияние на SEO заметно различается.
Hard 404 - это классическая ситуация, когда веб-сервер честно сообщает, что ресурса по указанному адресу нет. Ответ содержит корректный статус 404 Not Found, и поисковый робот получает однозначный технический сигнал, что индексировать нечего. Такие ошибки нормальны для любого сайта - ведь страницы удаляются, материалы устаревают, ссылки могут вести на уже несуществующий контент.
Совсем иначе работает Soft 404. Здесь сервер возвращает «успешный» код - например, 200 OK или перенаправляет пользователя по цепочке 301/302, - но Google всё равно классифицирует страницу как отсутствующую. По сути, это ситуация, когда страница технически существует, но фактически бесполезна, например на ней слишком мало контента, отображается только шаблон с сообщением «ничего не найдено», категория CMS пуста или несуществующий URL ведёт на главную страницу вместо корректной ошибки. В таких случаях поисковая система считает, что сайт вводит её в заблуждение.
Чтобы различие было наглядным, приведём краткое сравнение:
| Критерий | Hard 404 | Soft 404 |
|---|---|---|
| Код ответа | 404 Not Found | 200, 301 или 302 |
| Кто определяет | Сервер | |
| Страница существует | Нет | Может существовать |
| Влияние на SEO | Умеренное | Сильно негативное |
| Нужно исправлять | Не обязательно | Практически всегда |
| Индексация | Нет | Может выпадать или индексироваться неправильно |
Soft 404 чаще всего появляются в Google Search Console в разделе индексирования. Обычно Search Console помечает их как «Страница имеет характер soft 404» или «Страница не содержит полезного контента». На практике такие ошибки возникают на пустых разделах, фильтрах, результатах поиска внутри сайта, тонких или автоматически сгенерированных страницах, а также там, где CMS или сервер неправильно отдают HTTP-коды.
Именно Soft 404 чаще всего влияют на позиции сайта. Если Hard 404 - это нормальный сигнал о том, что страницы нет, - то Soft 404 воспринимается Google как проблема качества. Они расходуют crawl budget впустую, затрудняют поиску определять структуру сайта и со временем могут снижать доверие к домену. В крайних случаях это приводит к падению видимости и по тем страницам, которые не имеют прямого отношения к ошибке.
Определить Soft 404 можно довольно быстро. Если выполнить простой запрос curl -I https://example.com/страница/ и увидеть код 200 при том, что страница фактически пуста или выглядит как ошибка, то это явный признак Soft 404. Точно так же стоит обратить внимание на случаи, когда несуществующий URL внезапно ведёт пользователя на главную или другой нерелевантный раздел и именно такие редиректы Google рассматривает как попытку скрыть отсутствие страницы.
Хотя одна ошибка 404, которая появилась на сайте, может показаться незначительной, частое возникновении таких ошибок может иметь значительные негативные последствия для веб-сайта, особенно в отношении пользовательского опыта и SEO (поисковой оптимизации).
С точки зрения пользователя, возникновение ошибки 404 может быть неприятным. Она прерывает поток просмотра и может создать впечатление, что веб-сайт плохо поддерживается или ненадежен. Это может привести к увеличению показателей отказов, когда пользователи покидают сайт после просмотра только одной страницы, что потенциально снижает общую вовлеченность пользователей и сильно влияет на поведенческие факторы, которые учитывает Google для ранжирования сайта в поисковой выдаче в будущем.
Ошибки 404 также могут негативно влиять на эффективность SEO веб-сайта, о чем мы уже кратко упомянули выше. Поисковые системы, такие как Google, интерпретируют частые ошибки 404 как индикаторы плохого обслуживания веб-сайта. Это может привести к снижению рейтинга на страницах результатов поисковой системы (SERP). Кроме того, поисковые системы могут деиндексировать страницы, которые часто возвращают ошибки 404, что приводит к потере трафика.
Однако важно отметить, что не все ошибки 404 вредны для SEO. При правильной обработке с использованием соответствующих страниц ошибок и перенаправлений их влияние можно свести к минимуму. Тем не менее, допущение слишком большого количества неразрешенных ошибок 404 может нанести вред общей видимости и авторитету сайта.
Эффективное устранение всех ошибок 404 на сайте требует комплексного подхода. Ниже приведены некоторые стратегии, которые можно использовать для этого:
Иногда решение ошибки 404 так же просто, как исправление опечатки в URL. Администраторы веб-сайтов должны регулярно проверять точность своих URL-адресов и следить за тем, чтобы все внутренние и внешние ссылки указывали на правильные ресурсы.
Когда веб-страница перемещается или удаляется, важно настроить перенаправление (редирект 301) со старого URL-адреса на новый. Редирект 301 - это постоянное перенаправление, которое передает SEO-значение исходного URL-адреса на новый URL-адрес, помогая сохранить рейтинг сайта в поисковых системах.
Настройка перенаправления 301 зависит от серверной среды: В сервере Apache это можно сделать, добавив правило перенаправления в файл .htaccess, а в сервере Nginx необходимо добавить правило перезаписи в конфигурацию блока "server".
Кастомизированная страница ошибок 404 может улучшить пользовательский опыт, предоставляя полезную информацию при возникновении ошибки 404. Вместо отображения общего сообщения об ошибке пользовательская страница 404 может включать ссылки на другие части сайта, строку поиска или сообщение, побуждающее пользователей проверить URL или обратиться в службу поддержки.
Создание пользовательской страницы 404 обычно включает изменение конфигурации сервера для указания на определенный HTML-файл, который служит страницей ошибки. Например, на сервере Apache вы добавляете следующую строку в файл .htaccess:
ErrorDocument 404 /404.html
Регулярный мониторинг вашего сайта на наличие ошибок 404 позволяет вам быстро их выявлять и устранять. Такие инструменты, как Google Search Console, Screaming Frog или журналы сервера, могут помочь отслеживать ошибки 404 на вашем сайте. После их обнаружения вы можете предпринять шаги для исправления ошибок, например, настроить перенаправления или исправить неработающие ссылки.
Неработающие ссылки являются частой причиной ошибок 404. Регулярный аудит вашего сайта на предмет неработающих внутренних и внешних ссылок гарантирует, что пользователи всегда смогут получить доступ к контенту, который они ищут. Такие инструменты, как Broken Link Checker, могут автоматизировать этот процесс, сканируя ваш сайт на предмет неработающих ссылок.
Неправильная конфигурация сервера может привести к ошибкам 404. Крайне важно убедиться, что ваш сервер правильно настроен и все необходимые файлы (например, .htaccess) находятся на месте. Этот шаг особенно важен для веб-сайтов, которые часто обновляются или мигрируют.
Предотвращение ошибок 404 требует постоянной бдительности и передовых методов управления веб-сайтом. Вот несколько советов по снижению вероятности возникновения ошибок 404 на вашем сайте:
Выбор надежной системы управления контентом (CMS) и ее регулярное обновление может снизить риск возникновения ошибок 404. Хорошо поддерживаемая CMS гарантирует сохранение структуры URL-адресов и то, что обновления не приведут к непреднамеренному созданию неработающих ссылок.
Проведение регулярных аудитов веб-сайтов может помочь выявить и устранить потенциальные проблемы до того, как они приведут к ошибкам 404. Это включает проверку неработающих ссылок, проверку корректной работы перенаправлений и обеспечение правильной организации вашего контента.
Поддержание согласованной структуры URL-адресов помогает предотвратить возникновение ошибок 404. Избегайте переименования или перемещения файлов и страниц без необходимости. Если необходимы изменения, убедитесь, что установлены правильные редиректы.
Если на вашем сайте есть несколько администраторов или контент-менеджеров, важно обучить их лучшим практикам создания ссылок на контент. Это включает проверку URL-адресов перед публикацией и понимание последствий перемещения или удаления контента.
Понимание причин, приводящих к возникновению ошибки 404 имеет важное значение для всех, кто занимается веб-разработкой, администрированием или управлением контентом. Хотя часто это воспринимается как незначительное неудобство, частые ошибки 404 могут иметь серьезные последствия как для пользовательского опыта, так и для SEO. Понимая основные причины этих ошибок и реализуя стратегии по их предотвращению или исправлению в случае возникновения - вы можете обеспечить высокую надежность работы ресурса и и удобнство для пользователя вашего веб-сайт.
Эффективное управление ошибками 404 включает в себя регулярный мониторинг, правильную настройку сервера, последовательную структуру URL и использование пользовательских страниц ошибок. Кроме того, настройка перенаправлений 301 для перемещенного или удаленного контента гарантирует, что пользователи и поисковые системы будут направлены на правильные страницы, сохраняя ценность вашего сайта для SEO.
Подробно о том, как работают IP-адреса, различия IPv4 и IPv6, публичные и приватные IP, DNS, маршрутизация, безопасность и применение в серверной инфраструктуре...
Ускорение WordPress на уровне Nginx: правильные настройки PHP-FPM, try_files, статика, кеширование, Brotli, защита wp-login и безопасные заголовки для стабильно...
Эффективные стратегии резервного копирования Docker-приложений: как защищать тома, данные и конфигурации, избегая при этом типичных ошибок, а также быстро восст...