Поиск битых ссылок и скрытых 404-ошибок — это парсинг сайта краулером с проверкой кода ответа каждой страницы: внутренние и внешние ссылки, редиректы, картинки и скрипты. Обнаруженные адреса исправляют 301-редиректом, восстановлением или удалением, что восстанавливает связность для посетителей и поисковых роботов.
Краулер обходит сайт по ссылкам так же, как это делает поисковый робот, и собирает все адреса с кодами ошибок. Отдельно стоит смотреть логи сервера: там видны 404, на которые никто не ссылается, но которые запрашивают посетители и боты.
- Подойдёт: владельцам сайтов, контент-менеджерам, SEO-специалистам, кто поддерживает сайт сам или на подряде.
- Не подойдёт: разовая «чистка раз в год» — проверку нужно встраивать в регулярный мониторинг, иначе битые ссылки накапливаются снова.
Кому нужна проверка на битые ссылки, а кому нет
Рекомендуется:
- Сайтам после переработки структуры или миграции на новый домен — именно там ломается больше всего адресов.
- Контентным проектам со старыми статьями: ссылки на сторонние сайты умирают без вашего ведома.
- Магазинам с каталогом: карточки снятых с продажи товаров часто остаются в навигации, фильтрах и статьях.
- Тем, кто только получил сайт в управление и хочет оценить его техническое состояние.
Не подходит:
- Одностраничникам без внутренних ссылок — там проверять нечего, кроме внешних кнопок.
- Сайтам-визиткам на конструкторах, где структура заморожена и не меняется годами: достаточно одной проверки.
Что ломается и почему это не только про «Ошибка 404»
Битая ссылка — адрес, который не отдаёт нужный контент: код 404 (страница не существует), 410 (удалена навсегда), 500 (ошибка сервера) или таймаут. Внутренние битые ссылки возникают после переименования разделов, удаления страниц и правок меню руками. Внешние — когда сторонний сайт переехал, закрылся или начал отдавать 403 по гео или антиботу. Отдельный класс — скрытые 404: страница возвращает код 404, но оформлена как нормальная страница сайта. Посетитель видит дизайн и меню и не понимает, что попал в тупик, а поисковый робот по коду ответа честно исключает адрес из индекса.
Последствия делятся на три группы. Для посетителя битая ссылка — обрыв пути к заявке или товару. Для поисковика — потраченный краулинговый бюджет: робот обходит несуществующие адреса вместо полезных страниц, а несвязные разделы дольше попадают в индекс. Для владельца — потерянные конверсии со старых ссылок, закладок и рассылок. Само по себе несколько 404 сайту не вредят — документация Google Search Central прямо называет отдельные 404 нормальной ситуацией; проблема в системном браке.
Что говорят цифры
Проверяйте связность сайта тем же способом, каким по нему ходит робот: полным обходом по ссылкам. Регулярные отчёты о состоянии обхода дают сами поисковые системы — раздел «Обход» в Яндекс.Вебмастере и «Индексирование страниц» в Google Search Console показывают коды ответов и обнаруженные ошибки, причём Search Console показывает и внешние страницы, ссылающиеся на битые адреса. Дополнительный и самый честный источник — access-логи сервера: каждая строка с кодом 404 — это реально запрошенный несуществующий адрес, включая запросы, о которых краулер вашего же сайта не знает.
Отдельная ловушка — soft 404: страница отдаёт код 200 «ОК», но по содержанию это страница-заглушка «ничего не найдено». Робот считает её валидной, а пользователю она бесполезна. Проверить коды ответов вручную можно и без краулера: в Linux команда curl -s -o /dev/null -w "%{http_code}" https://example.com/page возвращает статус одной строки — удобно для точечной проверки подозрительных адресов.
Инструменты для поиска битых ссылок
| Инструмент | Что даёт | Лимиты и цена | Кому подходит |
|---|---|---|---|
| Screaming Frog SEO Spider | Полный обход, коды ответов, источники битых ссылок, экспорт CSV | Бесплатно до 500 URL, платная лицензия сверх | Сайтам до 500 страниц и аудиторам |
| wget в режиме паука | Рекурсивный обход из консоли, отчёт об ошибках в выводе | Бесплатно, без лимитов | Тем, кто умеет в командную строку |
| Библиотека linkchecker / скрипт на Python | Проверка списка URL по одному, легко автоматизировать | Бесплатно | Регулярным проверкам по расписанию |
| Яндекс.Вебмастер и Search Console | Коды ответов, обнаруженные роботом, битые внешние ссылки | Бесплатно | Всем сайтам как постоянный мониторинг |
Screaming Frog — стандарт индустрии: сканер на Java, который обходит сайт как робот и в одном отчёте собирает внутренние и внешние ошибки, цепочки редиректов и страницы-источники каждой битой ссылки. Бесплатная версия ограничена 500 URL — для большинства сайтов услуг и блогов этого достаточно. Если нужен обзор шире, подберите подходящий вариант в подборке SEO-инструментов.
Пошаговая настройка проверки
-
Шаг 1: Определите границы сканирования
Задайте домен как источник, решите, сканировать ли поддомены, и выставьте лимит глубины. Для больших сайтов запускайте обход ночью и снижайте скорость потоков (в Screaming Frog — настройка Max Threads), чтобы не перегрузить хостинг и не попасть под антибот.
-
Шаг 2: Запустите краулинг
В Screaming Frog: введите адрес сайта, нажмите Start и дождитесь окончания. Затем откройте фильтр Response Codes и смотрите группы Client Error (4xx) и Server Error (5xx).
-
Шаг 3: Выгрузите и разберите отчёт
Экспортируйте список битых адресов. Для каждого URL важно понять не только сам адрес, но и откуда на него ссылаются: в Screaming Frog это колонка Inlinks в вкладке со списком ошибок. Без источника вы исправите симптом, а ссылка-виновник останется.
-
Шаг 4: Проверьте скрытые 404
В отчёте сравните код ответа с содержанием: страницы с кодом 404, у которых внешне нормальный дизайн, помечайте отдельно. Дополнительно просмотрите выборку страниц с кодом 200, но малым объёмом текста — там живут soft 404.
curl -s -o /dev/null -w "%{http_code}" https://example.com/old-page -
Шаг 5: Сверьте с логами сервера
Откройте access.log и выберите строки с кодами 404 и 410. Логи покажут адреса, которые никто не линкует, но которые запрашивают: опечатки в кампаниях, старые URL из закладок, попытки подобрать уязвимости.
grep " 404 " /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20 -
Шаг 6: Исправьте и занесите в регулярный мониторинг
Для каждого адреса выберите стратегию из следующего раздела, затем поставьте проверку в расписание — раз в месяц для небольших сайтов, раз в неделю для крупных. О том, как встроить технический аудит в регулярный процесс, подробнее в материале про SEO-мониторинг сайта.
Как исправлять: 301, восстановление или удаление
Стратегия зависит от причины. Если страница переименована или переехала — настраивайте 301-редирект со старого адреса на новый: он передаёт сигнал о переезде и сохраняет посетителей со старых ссылок. Если страница удалена навсегда, но есть близкий аналог — 301 на аналог. Если аналога нет, корректным ответом остаётся 404 или 410: делить на 301-редирект ради «сохранения веса» не нужно, редирект на нерелевантную страницу поисковики игнорируют как soft 404. Разбор правил переезда адресов — в статье про 301 и 302 редиректы.
После редиректов обязательно чините сами ссылки: замените URL в меню, статьях и sitemap. Настройки карты сайта и файла robots.txt, которые тоже попадают под проверку, разобраны в статье про sitemap.xml и robots.txt. Битые внешние ссылки в старых статьях либо заменяют на работающий источник, либо удаляют — оставлять ссылку «в никуда» в живом тексте не стоит.
Подводные камни и частые ошибки
- Сканирование без ограничений: выжгите весь лимит запросов хостинга, и сайт ляжет для реальных посетителей. Ставьте ограничение потоков и запускайте тяжёлые обходы вне пикового времени.
- Ложные 404 от антибота: некоторые хостинги и CDN отвечают 403 или редиректом на капчу, и краулер фиксирует несуществующую ошибку. Перепроверяйте подозрительные адреса вручную из браузера.
- 301 на главную ради галочки: массовый редирект всех удалённых страниц на главную не восстанавливает ранжирование и маскирует реальную картину для робота. Редирект — только на релевантный адрес.
- Исправление без источника: если починить только целевой адрес и не заменить ссылку на странице-источнике, при следующем обходе ошибка вернётся. Всегда правьте место, где ссылка стоит.
Контрольный чек-лист
- [ ] Полный обход сайта краулером выполнен, отчёт по кодам 4xx и 5xx выгружен
- [ ] Для каждого битого URL найден страница-источник ссылки
- [ ] Логи сервера проверены на 404, которых нет в отчёте краулера
- [ ] Скрытые 404 и soft 404 (код 200 при пустом содержании) найдены и помечены
- [ ] Переименованным адресам настроены 301-редиректы на релевантные страницы
- [ ] Ссылки в меню, статьях и sitemap заменены на актуальные адреса
- [ ] Битые внешние ссылки заменены или удалены
- [ ] Проверка поставлена в регулярное расписание мониторинга
Часто задаваемые вопросы
Что такое скрытая 404-ошибка на сайте?
Скрытая 404 — это страница, которая возвращает код 404 Not Found, но оформлена как обычная страница сайта и не выглядит ошибкой для посетителя. Посетитель видит меню и дизайн, а поисковый робот получает код 404 и исключает страницу из индекса. Обнаружить её можно только сканированием краулером или по логам сервера, глазами она не заметна.
Чем битые ссылки вредят SEO?
Битые внутренние ссылки разрывают маршруты краулинга: поисковый робот тратит лимит обхода на несуществующие адреса и не доходит до важных страниц. Внешние битые ссылки ведут посетителей на страницы-ошибки и ухудшают поведенческие сигналы. Несколько 404 сами по себе сайту не страшны, но системный брак в связности говорит о запущенном техническом состоянии.
Можно ли проверять сайт на битые ссылки бесплатно?
Да. Screaming Frog SEO Spider сканирует бесплатно до 500 URL — этого хватает для небольших сайтов и лендингов. Альтернативы без лимитов: утилита wget в режиме паука, библиотека linkcheck в Python, онлайн-сервисы проверки мёртвых ссылок. Также логи сервера бесплатны: строки с кодами 404 показывают все реально запрошенные несуществующие адреса.
Что делать со страницей, которая удалена навсегда: 301 или 404?
Если у удалённой страницы есть близкий по смыслу аналог, настройте 301-редирект на него — так вес и посетители со старых ссылок сохранятся. Если аналога нет, корректный ответ — код 404 или 410. Делать 301 на главную ради галочки не стоит: редирект на нерелевантную страницу поисковики трактуют как soft 404 и игнорируют.
Вывод
Битые ссылки — не разовая неприятность, а свойство любого живого сайта: страницы переезжают, товары снимаются с продажи, сторонние ресурсы закрываются. Лечится это системно: полный обход краулером, сверка с логами сервера, осознанный выбор между 301-редиректом и честной 404, а затем починка самих ссылок на страницах-источниках. Начните с бесплатного лимита Screaming Frog и панелей вебмастера — для сайта до 500 страниц этого хватает, чтобы закрыть проблему за один вечер.
Инструмент Дня