Логотип seo-prodvizhenie-biznesa.ru
+7 (921) 333-77-45

Поиск битых ссылок на сайте

Поиск битых ссылок на сайте
Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога seo-prodvizhenie-biznesa.ru о продвижении и доработке сайтов.

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

На блоге, которым я занимался, разовый обход нашёл 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-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Игорь Хабаров

Прогнал магазин краулером, нашлось 214 битых ссылок. Почти все ведут на карточки товаров, которых больше нет в наличии. Их же тысячи будет со временем — неужели на каждую делать редирект руками?

Анатолий Кузнецов автор

Руками не надо, здесь работает правило на уровне каталога. Товар, снятый с продажи, лучше вообще не удалять: оставьте карточку, уберите кнопку покупки, напишите, что позиция снята, и покажите блок с аналогами из той же категории. Тогда адрес остаётся живым, внешние ссылки и закладки работают, а человек видит замену вместо ошибки. Если удалять всё-таки нужно, настройте редирект на категорию товара — не на главную, а именно на родительскую категорию: содержимое там близкое, и это не будет мягкой 404. Такое правило пишется один раз и дальше работает само для всех новых удалений. А ваши 214 адресов разберите по тому же принципу: сначала те, на которые есть внешние ссылки или заметный трафик из поиска, остальные — общим правилом на категорию.

Марина Чекалина

У нас Вебмастер показывает 40 страниц с кодом 404, но на сайте их вроде нет — таких адресов мы никогда не создавали. Откуда робот их вообще берёт?

Анатолий Кузнецов автор

Источников три, и все они внешние по отношению к текущей версии сайта. Первый — старые адреса, которые существовали раньше: робот помнит их годами и периодически проверяет, не вернулись ли они. Второй — чужие ссылки с опечатками: кто-то скопировал ваш адрес и потерял часть символов, робот пришёл по этой ссылке и получил ошибку. Третий и самый частый на практике — адреса, которые сайт генерирует сам: сломанная разметка, где кусок текста попал внутрь ссылки, или скрипт, подставляющий несуществующий путь. Проверьте в отчёте столбец с источником ссылки. Если источник — страница вашего сайта, это ваш случай и чинится в коде. Если источника нет или это чужой домен, реагировать нужно только на те адреса, куда действительно кто-то ходит.

Виталий Черкасов

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

Ольга Шапошникова

А если страница отдаёт 404, но по ней всё ещё идёт трафик из поиска — она же ещё в индексе. Ускорить выпадение как-то можно или только ждать?

Анатолий Кузнецов автор

Сначала решите, нужно ли вам вообще выпадение. Если по адресу идёт живой трафик из поиска, значит люди туда приходят по запросу — и правильный ход не убрать страницу, а поставить редирект на материал, который отвечает на тот же запрос. Трафик сохранится, а ошибка исчезнет. Если содержимого-заменителя действительно нет, отдавайте код 410 вместо 404: он означает «удалено окончательно», и робот выбрасывает адрес быстрее. Дополнительно отправьте адрес на переобход в Вебмастере — робот придёт в ближайшие сутки и увидит новый код. Обычно из индекса такие адреса уходят за две-три недели. Ускорять сильнее нечем, но и вреда от их присутствия в индексе почти нет.

Денис Шапошников

Бесплатной версии краулера на 500 адресов для нашего каталога не хватает, а платить за лицензию ради разовой проверки не хочется. Есть смысл гонять по частям?

Анатолий Кузнецов автор

Есть, и это рабочая практика. Ограничьте обход одним разделом каталога через настройку стартового адреса и правила включения путей — тогда в лимит поместится осмысленный срез, а не случайные 500 адресов со всего сайта. Пройдите так по разделам поочерёдно, за несколько запусков соберёте всю картину. Второй приём: отключите в настройках обход картинок, скриптов и стилей, если они там включены, — они съедают лимит впустую. И третий, самый полезный на больших каталогах: сначала прогоните только меню, подвал и десяток типовых страниц каждого шаблона. Битые ссылки в шаблонах дают основную массу находок, а их поиск в лимит укладывается всегда.

Алла Эсаулова

Не поняла момент про внешние ссылки. Как узнать, что чужой сайт ссылается на удалённую у нас страницу, если у нас этого адреса уже нет?

Анатолий Кузнецов автор

Именно потому, что адреса нет, ссылку и видно. Откройте в Вебмастере раздел внешних ссылок и выгрузите список целиком — там есть колонка с адресом страницы вашего сайта, на которую ведёт ссылка. Прогоните этот список адресов через краулер в режиме проверки по списку. Всё, что вернулось с кодом 404, — ссылки, которые сейчас уходят в пустоту. Обычно набирается от пяти до тридцати адресов, и по каждому нужно решение: на какую действующую страницу его перенаправить. У меня на практике именно эта выгрузка даёт самый быстрый эффект из всей работы с битыми ссылками — правок мало, а каждая возвращает реальную рекомендацию с чужого сайта.

Павел Юдин

Ежемесячная проверка за 10 минут — это как? У нас каждый раз выгрузка на несколько тысяч строк, разбирать её быстрее часа не выходит.

Светлана Яковлева

Добавлю к списку источников: у нас битые ссылки массово породил редактор. Вставлял адреса вместе с параметрами отслеживания из рассылки, а те через год перестали обрабатываться на сервере.

Роман Чагин

Страница 404 с поиском по сайту — сделали, конверсия в переход дальше выросла заметно. Раньше был просто текст «страница не найдена» и всё.

Нина Чижова

Вопрос про 410 вместо 404. Наш хостинг такой код отдавать умеет, но разработчик говорит, что разницы никакой и это лишняя работа. Кто прав?

Артём Шилов

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

Лариса Хрусталёва

А цепочки редиректов вы считаете отдельной проблемой? После двух переездов у нас старый адрес идёт через три шага, прежде чем открыть нужную страницу.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 Нажимая «оставить комментарий» вы принимаетеправила конфиденциальности 

Прокрутить вверх