
Поиск битых ссылок на сайте почти никогда не начинается с плана. Начинается он с неприятности: клиент пишет «у вас страница не открывается», владелец проверяет — и выясняется, что таких страниц не одна и не десять. Ссылки ломаются молча. Раздел переименовали, статью удалили, шаблон подставил адрес с лишним слэшем — и сайт годами водит людей в тупик, пока кто-нибудь не сообщит об этом случайно.
На блоге, которым я занимался, разовый обход нашёл 328 внутренних ссылок на несуществующие адреса. Их накопили за восемь лет: часть статей переносили в другие рубрики, часть удаляли, часть переписывали с новыми адресами. Ни одна из этих правок не сопровождалась проверкой ссылок — и в итоге каждая двадцатая ссылка в текстах вела в никуда. Ниже — как это находить, как отличать безобидную находку от дорогой и что именно делать с каждым типом ошибки.
Откуда на сайте появляются битые ссылки
Источников немного, и все они связаны не со сбоями, а с обычной работой над сайтом. Именно поэтому проблема накапливается: каждое отдельное действие выглядит безобидным.
- Страницу удалили, а ссылки на неё остались. Самый частый случай. Удаляют устаревшую услугу, снятый с производства товар, старую акцию — а десяток ссылок из статей и меню продолжает на неё указывать.
- Изменили адрес страницы. Поправили заголовок, а вместе с ним автоматически сменился адрес. В некоторых системах управления это происходит без предупреждения и без редиректа.
- Перестроили структуру разделов. Товар перенесли в другую категорию, статью — в другую рубрику. Если адреса включают путь по разделам, меняются все адреса внутри.
- Опечатка при ручной вставке. Лишний пробел, пропущенный слэш, скопированный вместе с адресом кусок текста. Такие ссылки не работают с первого дня, но замечают их через год.
- Переезд на другой домен или на защищённый протокол без постраничных редиректов. Массовое событие: ломается сразу всё, что было записано в текстах абсолютными адресами.
- Внешний сайт закрылся или сменил структуру. Ссылки на источники, справочники и сервисы живут ровно столько, сколько живёт чужой сайт.
- Ошибка в шаблоне. Самый дорогой вариант: одна неверная строка в шаблоне порождает битую ссылку на каждой странице сайта сразу.
Вывод из списка простой: на сайте с историей битые ссылки есть всегда. Вопрос не в том, есть ли они, а в том, сколько их и где именно они стоят.
Чем битая ссылка вредит на самом деле
Вокруг ошибок 404 много преувеличений. Сами по себе они не являются наказанием и не понижают сайт в выдаче — несуществующие адреса есть у всех крупных проектов. Вред другой, и он складывается из трёх разных механизмов.
Потеря человека. Посетитель, который дошёл до статьи, заинтересовался и нажал на ссылку, попадает на ошибку. В лучшем случае он вернётся назад, в худшем — закроет вкладку. Особенно обидно, когда битая ссылка стоит на странице услуги и вела на форму заявки или на страницу с ценами.
Расход квоты обхода. Робот идёт по ссылкам, которые находит в коде. Каждый несуществующий адрес он всё равно запрашивает, получает ошибку и запрашивает повторно ещё несколько раз в последующие недели — вдруг это временный сбой. На сайте с сотней битых ссылок это сотни лишних обращений, которые не потрачены на новые страницы. На небольшом сайте разница незаметна, на каталоге в несколько тысяч адресов — заметна очень.
Обрыв внутреннего веса. Внутренние ссылки распределяют вес между страницами. Ссылка на несуществующий адрес этот вес выбрасывает: страница-источник его отдала, а получить его некому. Если на важный раздел вело пять ссылок и три из них сломались, раздел стал заметно слабее внутри собственного сайта.
Отдельная категория — внешние ссылки на удалённые страницы. Здесь потери прямые: чужой сайт когда-то сослался на ваш материал, эта ссылка работает как рекомендация, а ведёт она на ошибку. Возвращается такая ссылка одним редиректом и стоит это ноль рублей.
Внутренние битые ссылки: чем искать
Внутренние ссылки — те, что стоят в ваших собственных текстах, меню, подвале и виджетах. Их вы контролируете полностью, поэтому и чинятся они полностью.
Обход сайта краулером. Основной инструмент. Программа вроде Screaming Frog, Netpeak Spider или их аналогов открывает главную страницу, собирает все ссылки, идёт по ним, собирает следующие — и так до конца сайта. На выходе список всех адресов с кодами ответов. Фильтруете по коду 404, открываете вкладку с входящими ссылками — и видите, на каких страницах стоит каждая битая ссылка. Это единственный способ узнать не только что сломано, но и где это исправлять. Бесплатной версии на 500 адресов хватает сайту услуг целиком, каталогу — как разведке по одному разделу.
Смежный материал по теме — «Как улучшить поиск в Яндексе».
Яндекс.Вебмастер. В разделе со статистикой обхода видно, какие адреса робот запрашивал и что получил в ответ. Отфильтруйте код 404 — получите список несуществующих страниц, которые робот всё же нашёл. Плюс метода в том, что это реальные данные о поведении робота, а не модель обхода. Минус — Вебмастер показывает не все источники ссылок. Подробнее о том, какие отчёты стоит смотреть в первую очередь, я писал в материале про три отчёта Вебмастера.
Google Search Console. Отчёт об индексировании, категория «Не найдено (404)». Тот же срез со стороны Google. Полезно сверять оба источника: списки почти всегда различаются, потому что роботы ходят по сайту разными маршрутами.
Помогу с продвижением: продвижение бизнеса в Яндексе — вывожу сайты в топ Яндекса белыми методами.
Плагины системы управления. Для сайтов на популярных движках есть расширения, которые проверяют ссылки прямо из админки и показывают, в какой записи стоит каждая. Удобно для блогов: правку можно сделать в один клик, не выходя в отдельную программу. Ограничение — такие плагины нагружают сайт, поэтому проверку лучше запускать разово, а не держать включённой постоянно.
Отдельно проверяю меню, подвал и сквозные блоки. Ссылка оттуда стоит на каждой странице сайта, поэтому одна ошибка в шапке весит столько же, сколько тысяча ошибок в старых статьях. Краулер это показывает по числу входящих ссылок: если у битого адреса их несколько сотен, ищите его в шаблоне, а не в текстах.
Внешние ссылки на несуществующие страницы
Это самая ценная часть работы, и её почти всегда пропускают. Речь не о ваших ссылках наружу, а о чужих ссылках, которые ведут на ваш сайт и попадают на ошибку.
Схема, по которой они появляются, обычная: несколько лет назад вы опубликовали материал, на него сослались с форума, из подборки, из чужой статьи. Потом вы перестроили блог и адрес поменялся. Ссылка осталась висеть на чужом сайте и теперь ведёт на 404.
Ищутся такие ссылки в разделе внешних ссылок Вебмастера: выгружаете список входящих ссылок и сопоставляете адреса-получатели с кодами ответов. Всё, что отдаёт 404, — потерянные рекомендации. Лечение — редирект 301 с несуществующего адреса на страницу, которая ближе всего по теме.
Почему это стоит делать первым: любая работа по наращиванию ссылок стоит денег и времени, а здесь ссылки уже есть, они уже проставлены живыми людьми на живых сайтах, и вернуть их в работу — вопрос нескольких строк в настройках сервера. Дешевле не бывает.
Что делать с каждой находкой
Список из краулера сам по себе бесполезен. Ценность появляется, когда каждая строка получает решение. Решений всего пять, и выбор между ними зависит от того, существует ли на сайте содержимое, ради которого человек шёл по ссылке.
Если нужны детали, смотрите «Хлебные крошки на сайте что это».
| Ситуация | Что делать | Почему именно так |
|---|---|---|
| Страница переехала на новый адрес | Редирект 301 со старого адреса на новый | Передаёт накопленные сигналы и не теряет посетителя |
| Страница удалена, но есть близкая по смыслу | Редирект 301 на близкую страницу | Человек получает то, за чем шёл; ссылка продолжает работать |
| Страница удалена, замены нет | Оставить 404, а саму ссылку убрать из текстов | Редирект «в никуда» вредит больше, чем честная ошибка |
| Ссылка с опечаткой в адресе | Исправить в тексте страницы-источника | Адрес рабочий, ломает его только ошибка набора |
| Внешний сайт закрылся | Убрать ссылку или заменить источник на действующий | Редирект здесь невозможен: чужой домен вам не подчиняется |
| Битая ссылка в меню или подвале | Править в шаблоне, а не на отдельных страницах | Одна правка снимает сотни находок разом |
Порядок работы такой: сначала правки в шаблоне — они снимают больше всего строк из отчёта. Потом редиректы для адресов с внешними ссылками. Потом редиректы для адресов, на которые много внутренних ссылок. И только в конце — ручная чистка одиночных ссылок в старых статьях, где выгода от каждой правки минимальна.
Почему нельзя редиректить всё на главную
Соблазн понятен: одно правило на сервере, любой несуществующий адрес ведёт на главную, отчёт очищается за пять минут. Так делать не надо, и вот почему.
Поисковая система сопоставляет запрошенный адрес и то, что она получила после редиректа. Если содержимое конечной страницы не соответствует ожиданию, это трактуется как мягкая ошибка 404: формально страница отвечает кодом успеха, фактически человек не получил того, за чем шёл. Такие редиректы не передают сигналов и не спасают посетителя — он попадает на главную, не понимает, что произошло, и уходит.
Второй эффект хуже. Пока любой адрес отдаёт редирект на главную, вы теряете возможность отличить настоящую ошибку от опечатки. Отчёт по кодам ответов становится пустым, битые ссылки в текстах остаются, и следующая волна проблем обнаружится только через отзыв клиента.
Правило простое: редирект уместен там, где содержимое конечной страницы действительно закрывает тот же вопрос. Со страницы удалённого товара — на карточку аналога или на его категорию. Со старой статьи — на новую по той же теме. С раздела, который расформировали, — на раздел, куда переехало содержимое. Во всех остальных случаях честная 404 полезнее.
Страница 404: как сделать её полезной
Ошибка 404 — нормальное состояние адреса, которого нет. Задача не в том, чтобы её избежать, а в том, чтобы не потерять человека, который на неё попал. Требований к такой странице два: технические и содержательные.
Если нужна помощь по теме — проверить сайт.
Техническое требование одно, но обязательное. Страница должна отдавать именно код 404 (или 410, если содержимое удалено навсегда), а не 200 с надписью «ничего не найдено». Если код 200, робот считает адрес живой страницей и добавляет его в индекс. Дальше он сам же признает её малополезной — но обход уже потрачен, а в индексе накопились пустышки. Проверяется за секунду: добавьте к адресу любой произвольный хвост и посмотрите код ответа в консоли браузера на вкладке «Сеть».
Содержательно на странице ошибки полезны четыре вещи:
Подробнее об этом — в статье «Файлы-сироты и технологические отходы на сайте».
- Понятное объяснение без технических терминов. Не «Error 404 Not Found», а фраза о том, что такой страницы нет — возможно, она переехала или в адресе опечатка.
- Поиск по сайту прямо на странице. Человек уже знает, что искал; дайте ему возможность найти это, не возвращаясь на главную.
- Ссылки на основные разделы. Каталог, услуги, блог, контакты — короткий список, а не полная карта сайта.
- Несколько популярных материалов или товаров. Работает как витрина: часть посетителей уходит по ним вместо того, чтобы закрыть вкладку.
Чего на странице ошибки быть не должно: автоматического перенаправления через несколько секунд (человек не успевает прочитать, что произошло) и юмора вместо навигации. Смешная картинка не помогает найти нужный раздел.
Регламент: как часто проверять и что смотреть
Разовая чистка снимает накопленное, но через полгода список нарастает заново. Поэтому проверку лучше превратить в привычку с понятной периодичностью — и обязательно привязать её к событиям, после которых ссылки ломаются массово.
| Когда проверять | Что смотреть | Сколько занимает |
|---|---|---|
| Раз в квартал, планово | Полный обход краулером, отчёт 404 в Вебмастере и Search Console | 1–2 часа с разбором |
| После смены структуры разделов | Обход целиком плюс сверка старых и новых адресов | Полдня, включая настройку редиректов |
| После переезда на другой домен или протокол | Постраничные редиректы, внешние ссылки, абсолютные адреса в текстах | День и контрольная проверка через неделю |
| После чистки старых материалов | Ссылки на удалённые страницы из оставшихся текстов | Час на каждые сто удалённых страниц |
| После правки шаблона | Сквозные ссылки в меню, подвале, сайдбаре | 15 минут |
| Ежемесячно, коротко | Отчёт по кодам ответов в Вебмастере — только новые адреса | 10 минут |
Отдельно про переезды. Смена протокола или домена — самое частое событие, после которого битые ссылки появляются сотнями сразу: старые адреса записаны в текстах целиком, и после переезда каждый из них ведёт на несуществующий вариант. Что ломается в таких случаях и в каком порядке это чинить, я подробно разбирал в статье про ошибки переезда сайта.
Частые вопросы
Сколько битых ссылок считается нормой?
Абсолютного числа нет, есть доля и расположение. Пять битых ссылок в подвале хуже, чем пятьдесят в архивных статьях десятилетней давности. Смотрите на два признака: стоят ли битые ссылки на страницах, которые приносят обращения, и есть ли среди несуществующих адресов те, на которые ссылаются с чужих сайтов.
Ошибки 404 понижают сайт в выдаче?
Напрямую нет. Несуществующие адреса есть у любого сайта, и поисковые системы это нормально воспринимают. Вред идёт косвенно: через потерю посетителей, расход квоты обхода и обрыв внутренних ссылок. Опасен не сам код 404, а код 200 на несуществующем адресе — вот он действительно засоряет индекс.
Что делать, если битых ссылок несколько сотен и всё сразу не осилить?
Разбить по источникам. Сначала шаблон: одна правка обычно снимает половину списка. Затем адреса с внешними ссылками — их немного, но выгода на каждую правку максимальная. Затем адреса с большим числом внутренних ссылок. Остаток — фоном, по десять-двадцать штук в неделю.
Стоит ли ставить плагин, который автоматически исправляет битые ссылки?
Автоматическое проставление редиректов по совпадению слов в адресе часто уводит человека не туда, а массовые правки текстов без просмотра приводят к странным результатам. Плагин удобен как средство поиска и как журнал изменений, но решение по каждому адресу лучше принимать самому.
Ссылки на закрывшиеся внешние сайты — обязательно убирать?
Обязательно, если это ссылка-источник внутри текста: читатель идёт за подтверждением и попадает на ошибку, доверие к материалу падает. Если ссылка вела на второстепенный сервис и без неё абзац не теряет смысла, проще снять её целиком, чем искать замену.
Как проверить, что редиректы после правки действительно работают?
Прогоните список старых адресов через краулер в режиме проверки списка и убедитесь, что каждый отдаёт ровно один шаг 301 и конечный код 200. Две типичные ошибки — цепочка из нескольких редиректов подряд и редирект, который сам ведёт на несуществующий адрес.
Показываю, как выглядит проверка сайта на технические ошибки и что она находит, включая битые ссылки:
Коротко
- Битые ссылки есть на любом сайте с историей — они появляются не от сбоев, а от обычных правок структуры и удаления страниц.
- Вред идёт тремя путями: потерянный посетитель, потраченная впустую квота обхода и оборванный внутренний вес.
- Внутренние ссылки ищут полным обходом краулером, внешние — в разделе входящих ссылок Вебмастера.
- Внешние ссылки на удалённые страницы возвращают одним редиректом 301: самая дешёвая работа со ссылочным профилем.
- Массовый редирект всех несуществующих адресов на главную вредит: система расценивает это как мягкую 404.
- Страница ошибки обязана отдавать код 404, а не 200, и предлагать поиск и основные разделы вместо тупика.
Если нужен разбор конкретного сайта — со списком битых ссылок, картой редиректов и порядком правок, а не общими рекомендациями, — это SEO-консультация: смотрю проект, показываю находки с указанием страниц-источников и говорю, что чинить первым.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Игорь Хабаров
Прогнал магазин краулером, нашлось 214 битых ссылок. Почти все ведут на карточки товаров, которых больше нет в наличии. Их же тысячи будет со временем — неужели на каждую делать редирект руками?
Анатолий Кузнецов автор
Руками не надо, здесь работает правило на уровне каталога. Товар, снятый с продажи, лучше вообще не удалять: оставьте карточку, уберите кнопку покупки, напишите, что позиция снята, и покажите блок с аналогами из той же категории. Тогда адрес остаётся живым, внешние ссылки и закладки работают, а человек видит замену вместо ошибки. Если удалять всё-таки нужно, настройте редирект на категорию товара — не на главную, а именно на родительскую категорию: содержимое там близкое, и это не будет мягкой 404. Такое правило пишется один раз и дальше работает само для всех новых удалений. А ваши 214 адресов разберите по тому же принципу: сначала те, на которые есть внешние ссылки или заметный трафик из поиска, остальные — общим правилом на категорию.
Марина Чекалина
У нас Вебмастер показывает 40 страниц с кодом 404, но на сайте их вроде нет — таких адресов мы никогда не создавали. Откуда робот их вообще берёт?
Анатолий Кузнецов автор
Источников три, и все они внешние по отношению к текущей версии сайта. Первый — старые адреса, которые существовали раньше: робот помнит их годами и периодически проверяет, не вернулись ли они. Второй — чужие ссылки с опечатками: кто-то скопировал ваш адрес и потерял часть символов, робот пришёл по этой ссылке и получил ошибку. Третий и самый частый на практике — адреса, которые сайт генерирует сам: сломанная разметка, где кусок текста попал внутрь ссылки, или скрипт, подставляющий несуществующий путь. Проверьте в отчёте столбец с источником ссылки. Если источник — страница вашего сайта, это ваш случай и чинится в коде. Если источника нет или это чужой домен, реагировать нужно только на те адреса, куда действительно кто-то ходит.
Виталий Черкасов
Про массовый редирект на главную — согласен на сто процентов. Сделали так два года назад по совету подрядчика, потом полгода разгребали, потому что в отчётах стало вообще не видно, что сломано.
Ольга Шапошникова
А если страница отдаёт 404, но по ней всё ещё идёт трафик из поиска — она же ещё в индексе. Ускорить выпадение как-то можно или только ждать?
Анатолий Кузнецов автор
Сначала решите, нужно ли вам вообще выпадение. Если по адресу идёт живой трафик из поиска, значит люди туда приходят по запросу — и правильный ход не убрать страницу, а поставить редирект на материал, который отвечает на тот же запрос. Трафик сохранится, а ошибка исчезнет. Если содержимого-заменителя действительно нет, отдавайте код 410 вместо 404: он означает «удалено окончательно», и робот выбрасывает адрес быстрее. Дополнительно отправьте адрес на переобход в Вебмастере — робот придёт в ближайшие сутки и увидит новый код. Обычно из индекса такие адреса уходят за две-три недели. Ускорять сильнее нечем, но и вреда от их присутствия в индексе почти нет.
Денис Шапошников
Бесплатной версии краулера на 500 адресов для нашего каталога не хватает, а платить за лицензию ради разовой проверки не хочется. Есть смысл гонять по частям?
Анатолий Кузнецов автор
Есть, и это рабочая практика. Ограничьте обход одним разделом каталога через настройку стартового адреса и правила включения путей — тогда в лимит поместится осмысленный срез, а не случайные 500 адресов со всего сайта. Пройдите так по разделам поочерёдно, за несколько запусков соберёте всю картину. Второй приём: отключите в настройках обход картинок, скриптов и стилей, если они там включены, — они съедают лимит впустую. И третий, самый полезный на больших каталогах: сначала прогоните только меню, подвал и десяток типовых страниц каждого шаблона. Битые ссылки в шаблонах дают основную массу находок, а их поиск в лимит укладывается всегда.
Алла Эсаулова
Не поняла момент про внешние ссылки. Как узнать, что чужой сайт ссылается на удалённую у нас страницу, если у нас этого адреса уже нет?
Анатолий Кузнецов автор
Именно потому, что адреса нет, ссылку и видно. Откройте в Вебмастере раздел внешних ссылок и выгрузите список целиком — там есть колонка с адресом страницы вашего сайта, на которую ведёт ссылка. Прогоните этот список адресов через краулер в режиме проверки по списку. Всё, что вернулось с кодом 404, — ссылки, которые сейчас уходят в пустоту. Обычно набирается от пяти до тридцати адресов, и по каждому нужно решение: на какую действующую страницу его перенаправить. У меня на практике именно эта выгрузка даёт самый быстрый эффект из всей работы с битыми ссылками — правок мало, а каждая возвращает реальную рекомендацию с чужого сайта.
Павел Юдин
Ежемесячная проверка за 10 минут — это как? У нас каждый раз выгрузка на несколько тысяч строк, разбирать её быстрее часа не выходит.
Светлана Яковлева
Добавлю к списку источников: у нас битые ссылки массово породил редактор. Вставлял адреса вместе с параметрами отслеживания из рассылки, а те через год перестали обрабатываться на сервере.
Роман Чагин
Страница 404 с поиском по сайту — сделали, конверсия в переход дальше выросла заметно. Раньше был просто текст «страница не найдена» и всё.
Нина Чижова
Вопрос про 410 вместо 404. Наш хостинг такой код отдавать умеет, но разработчик говорит, что разницы никакой и это лишняя работа. Кто прав?
Артём Шилов
Проверил подвал, как советуете. Там ссылка на страницу с реквизитами, которую переименовали ещё в прошлом году. То есть битая ссылка стояла на всех 1200 страницах сайта разом.
Лариса Хрусталёва
А цепочки редиректов вы считаете отдельной проблемой? После двух переездов у нас старый адрес идёт через три шага, прежде чем открыть нужную страницу.