Статьи о SEO-продвижении

Ошибки 404 и битые ссылки в SEO: как находить, исправлять и не терять трафик

Ошибки 404 и битые ссылки в SEO: как находить, исправлять и не терять трафик

SEOProvision

Представим условный разбор: краулер нашёл 800 URL с кодом 404. Цифра выглядит аварийно, но 760 адресов относятся к старым фильтрам, на которые больше нет ссылок. Настоящая потеря оказалась в десяти пунктах меню: они ведут посетителей и робота на удалённые страницы.

Поэтому список 404 нельзя «лечить» одним массовым редиректом. Сначала найдите оборванный маршрут и решите судьбу каждого адреса.

Честная 404 сообщает, что документа нет. Битая ссылка — это переход на такой адрес с другой страницы. Они связаны, но не равны.

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

Код 404 описывает результат запроса, а не диагноз

HTTP-код отвечает на узкий вопрос: что сервер сделал с конкретным запросом. 404 означает, что ресурс по этому адресу не найден. Он не объясняет, почему URL появился, есть ли у него трафик и существует ли подходящая замена. Эти обстоятельства определяют дальнейшее действие.

Корректная 404 нужна для адресов, которые никогда не существовали, были набраны с ошибкой или удалены без эквивалентной страницы. Код 410 передаёт более определённый сигнал: ресурс удалён окончательно. Официальная справка Яндекса допускает оба варианта для удалённых страниц и рекомендует 301 для перемещённых ресурсов.

Проблема начинается, когда статус противоречит судьбе документа. Например, перенесённая статья отвечает 404, хотя новый URL полностью продолжает её содержание. В другой ситуации удалённая карточка уводит на главную и оставляет человека без ожидаемого товара.

Есть и обратная маскировка: несуществующий адрес показывает сообщение об ошибке, но отвечает 200. Эти случаи выглядят по-разному, поэтому одного числа недостаточно для диагноза.

СитуацияОжидаемое действиеПочему
Опечатка во внутренней ссылкеИсправить hrefПравильная цель уже существует
Страница переехала без смены намерения301 на точную заменуСохраняется полезный маршрут
Документ удалён, замены нет404 или 410Нельзя обещать несуществующий ответ
Временный сбой сервераИсправить причину 5xxНе маскировать аварию кодом отсутствия
Шаблон ошибки отвечает 200Вернуть 404/410Иначе возникает мягкая 404

Не назначайте 301 только ради исчезновения строки из отчёта. Редирект — это утверждение, что новый адрес заменяет старый. Если соответствия нет, пользователь попадает в нерелевантный раздел, а аналитика скрывает истинное число тупиков. Хороший статус честно описывает результат; зелёный вид в отчёте не имеет значения.

Битая ссылка начинается на другой странице

Когда посетитель нажимает пункт меню и получает 404, конечный адрес лишь показывает симптом. Причина находится в документе-источнике: там записан неверный href. Если поставить редирект и оставить ссылку, переход будет работать, но сайт продолжит отправлять робота через лишний шаг. Поэтому внутреннюю ссылку исправляют на конечный URL даже при наличии 301.

Зафиксируйте пару «источник → цель». Для каждой битой ссылки нужны URL страницы, где она найдена, текст или элемент, конечный адрес и способ появления: ручной контент, меню, карточка, sitemap, пагинация, JavaScript-шаблон. Такая запись выводит проблему на уровень генератора.

  • Одна ошибка в статье исправляется в редакторе материала.
  • Сотни одинаковых ссылок из меню требуют правки общего шаблона.
  • Неверные адреса в sitemap удаляются из генератора карты.
  • Ссылки из фильтров проверяются в правилах формирования параметров.
  • Переход через JavaScript должен иметь настоящий href с конечным URL.

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

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

Дерево решения выбирает 301, 404, 410 или замену

Для каждого найденного URL пройдите одну и ту же развилку. Сначала откройте адрес и проверьте реальный код ответа, не доверяя внешнему виду страницы. Затем найдите ссылки на него и определите, существовал ли документ раньше. Только после этого ищите замену.

Дерево решения: что делать с найденным URL

  1. URL написан неверно, а нужная страница существует? Исправьте внутренний href. При массовом распространении старого варианта добавьте 301 на правильный адрес.
  2. Документ перенесён на новый URL без смены назначения? Настройте прямой 301 и обновите все управляемые ссылки.
  3. Товар или материал удалён, но есть точный преемник? Перенаправьте только при реальном совпадении намерения, а не на ближайшую категорию по формальному признаку.
  4. Замены нет? Оставьте 404 либо 410, уберите URL из sitemap и удалите внутренние переходы.
  5. Страница должна существовать? Восстановите её или исправьте маршрут приложения; редирект здесь маскирует поломку.

Пример: статья /blog/url-seo получила новый адрес /blog/struktura-url. Содержание и задача сохранились, поэтому нужен прямой 301. В меню и связанных материалах ссылки меняются на новый URL. Старый адрес остаётся точкой входа для внешних переходов и не должен сначала вести через ещё один промежуточный slug.

Другой пример: товар снят с производства, карточка удалена, аналога нет, а категория содержит десятки отличающихся моделей. Редирект на категорию создаст видимость ремонта, но не даст ожидаемого ответа. Лучше оставить полезную страницу 404/410 с поиском и категориями, убрать товар из внутренних ссылок и сохранить честный код.

Дерево предотвращает две крайности: удаление любого редиректа ради «чистоты» и массовое перенаправление всего на главную. В центре остаётся намерение человека, который пришёл по старой ссылке, и фактическая судьба документа.

Вопросы и ответы

Можно ли перенаправлять все 404 на главную?

Нет. Главная редко заменяет удалённый товар, статью или услугу. Массовый редирект скрывает тупики, создаёт нерелевантный переход и мешает понять источник ошибочных URL. 301 ставят на точный смысловой аналог.

Должна ли страница 404 иметь полезный дизайн?

Да: объяснение, поиск и ссылки на основные разделы помогают человеку продолжить путь. При этом сервер всё равно должен вернуть статус 404, иначе полезный шаблон превратится в мягкую 404.

Что делать с битой ссылкой на чужом сайте?

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

Мягкая 404 маскирует ошибку успешным ответом

Мягкая 404 выглядит как отсутствующая страница, но отвечает кодом 200. CMS показывает текст «ничего не найдено», сохраняет общий title и возвращает успешный документ для любого выдуманного адреса. Робот вынужден самостоятельно распознавать, что полезного содержания нет.

Проверка занимает минуту. Возьмите заведомо несуществующий URL в том же разделе, откройте вкладку Network или выполните запрос без переходов. Если document отвечает 200, а экран сообщает об отсутствии, шаблон настроен неверно. Не ориентируйтесь на надпись в браузере: важен HTTP-ответ.

Исправление не требует делать страницу ошибки пустой. Сохраните понятное сообщение, поиск, ссылку на главную и популярные категории, но настройте серверный статус 404. Если ресурс удалён окончательно и это осознанное решение, может использоваться 410. В обоих случаях навигация помогает пользователю, а код объясняет роботу состояние URL.

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

Источники битых ссылок требуют разных проверок

Краулер видит то, что доступно по внутренним ссылкам из выбранной стартовой точки. Яндекс Вебмастер показывает URL, известные роботу, и последний полученный код. Серверные логи фиксируют фактические запросы к серверу. Эти наборы не обязаны совпадать, потому что у каждого свой охват и момент наблюдения.

ИсточникЧто находитОграничение
Краулер сайтаБитые внутренние ссылки и цепочкиНе видит адрес без доступного пути
Яндекс ВебмастерОшибочные коды у известных роботу URLДанные относятся к последнему визиту
Серверные логиРеальные запросы роботов и людейНужно отдельно определить источник и ценность
АналитикаПереходы пользователей на ошибкиНе охватывает запросы без загрузки счётчика
SitemapОшибочно заявленные адресаНе показывает ссылки из HTML

Сведите находки в одну таблицу по нормализованному URL. Рядом сохраните источник обнаружения, код, страницу-ссылку, число переходов и выбранное действие. Не удаляйте повторяющиеся строки до сохранения происхождения: один адрес из меню и внешней статьи имеет более высокий приоритет, чем тот же URL только из старого лога.

Для большого сайта анализируйте шаблоны. Если 10 000 ошибок отличаются только ID, найдите правило, которое их производит. Несколько ручных редиректов не остановят рост. Исправление генератора ссылки или карты сайта убирает причину сразу для всей группы.

Трафик и частота обхода задают приоритет

Срочность 404 зависит от сломанного маршрута и его ценности. Первыми исправляйте ссылки из меню, главных категорий, карточек с трафиком и страниц, которые робот часто обходит. Затем — старые адреса с внешними переходами и точной заменой. Единичный выдуманный URL без ссылок может остаться честной 404.

СигналВысокий приоритетНизкий приоритет
Внутренние ссылкиМеню, хлебные крошки, массовый шаблонСсылка отсутствует
ПереходыЕсть пользователи или заявкиЗапросов не наблюдается
ЗаменаСуществует точный новый документЭквивалента нет
ОбходРобот возвращается частоЕдиничный старый запрос
МасштабОшибка генерируется шаблономОдин ручной URL

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

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

Повторный обход подтверждает ремонт цепочки

После исправления запросите страницу-источник заново и проверьте href. Затем откройте конечный адрес без кэша и запишите всю цепочку ответов. Рабочий результат — прямая ссылка на 200 либо один 301 на релевантную замену. Цепочка из нескольких редиректов остаётся техническим долгом.

  • внутренняя ссылка ведёт сразу на конечный URL;
  • старый ценный адрес отвечает одним 301 на точную замену;
  • удалённая без замены страница возвращает 404 или 410;
  • URL исключён из sitemap и массовых шаблонов;
  • страница ошибки сохраняет полезную навигацию;
  • повторный краул не находит прежнюю пару источник → битая цель.

Данные Вебмастера обновятся после следующего визита робота, поэтому мгновенное присутствие старой строки не доказывает неудачу. Сначала подтвердите новый ответ собственным запросом и сохраните дату. Затем сравните её с датой обхода в отчёте.

Не закрывайте URL в robots.txt только для того, чтобы убрать его из списка. Если роботу запрещён запрос, он не увидит новый 301, 404 или 410. Ограничение обхода может быть уместно для бесконечных технических пространств, но судьба конкретного уже известного адреса подтверждается доступным ответом.

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