Проверка битых ссылок

Введите URL — сканер обойдёт внутренние ссылки (до 200 страниц) и сообщит о каждой ссылке, которая не работает: 404 и другие 4xx, 5xx, тайм-ауты и ошибки DNS — внутренние ссылки, найденные при обходе, внешние — проверенные HEAD-запросом (до 100). К каждой битой ссылке прилагаются страницы, которые на неё указывают, и текст ссылки, чтобы вы могли исправить ссылку или страницу, а не просто знать, что что-то сломано. Скачивание в CSV. Ничего не хранится дольше 24 часов.

Один HEAD-запрос на каждый уникальный внешний URL, не более 100. Снимите галочку для более быстрого сканирования.

Сканирование выполняется на нашем сервере: один запрос в секунду, с соблюдением robots.txt, без JavaScript. Хранятся только стартовый URL и эта сводка — 24 часа.

Как это работает

1. Наш сканер (InsighthackerzBot, один запрос в секунду, без JavaScript) сначала загружает robots.txt и объявленные в нём sitemap, затем начинает с указанного URL и обходит внутренние ссылки в ширину — только тот же хост; www и домен без www считаются одним сайтом
2. Ограничения: 50, 100 или 200 страниц за запуск, 2 МБ на страницу, 15 с на запрос, 5 редиректов на URL; URL, закрытые в вашем robots.txt для нашего user-agent, пропускаются и подсчитываются; страницы с nofollow загружаются, но их ссылки не обходятся
3. Каждая HTML-страница проходит через тот же движок, что и проверка on-page SEO: title, description, H1, canonical, директивы robots, число слов, изображения без alt — предупреждения и ошибки сохраняются по странице, HTML — нет
4. Внутренние ссылки, оказавшиеся битыми при обходе (4xx, 5xx, тайм-ауты), перечисляются вместе со страницами, которые на них ссылаются; внешние ссылки проверяются только HEAD-запросом (один GET, если сервер отвергает HEAD), не более 100 за запуск, ссылки с nofollow исключены
5. Результат — одна задача на нашем сервере: она содержит только стартовый URL и сводку, удаляется через 24 часа и ни для чего другого не используется
6. Ссылка считается битой, если ответ 4xx или 5xx либо запрос не удался (тайм-аут, DNS, TLS, отказ в соединении). Редиректы для внутренних страниц отслеживаются и отражаются во вкладке аудита, а не здесь

О битых ссылках и о том, как их находит проверка

Битая ссылка — это ссылка, цель которой больше не отвечает: 404, потому что страницу удалили или переименовали, 410, 5xx, потому что сервер за ней упал, или вообще нет ответа, потому что домен истёк. Для посетителей это тупик; для поисковых систем — впустую потраченное сканирование и сигнал, пусть и небольшой, что сайт не поддерживается. Внутренние битые ссылки целиком ваша забота и обычно возникают из-за смены URL, о которой никто не позаботился; внешние ломает кто-то другой, а замечать приходится вам.

Проверка намеренно обращается с двумя видами по-разному. Внутренние ссылки обнаруживаются при обходе — каждая страница 4xx/5xx, на которую натыкается сканер, и есть битая ссылка, и сканер уже знает, какие страницы туда привели. Внешние ссылки не обходятся; каждый уникальный внешний URL получает один HEAD-запрос (GET, если сервер отвергает HEAD), по одному в секунду на хост, не более 100 за запуск. Этого достаточно, чтобы поймать мёртвые домены и удалённые страницы, не нагружая чужие серверы и не тратя на них ваш краулинговый бюджет.

Исходные страницы важнее самого битого URL. 404, на который ссылается одна старая запись в блоге, чинится за пять секунд; тот же 404 в подвале стоит на каждой странице и заслуживает редиректа. Таблица показывает до пяти исходных страниц на ссылку и текст ссылки, чего обычно хватает, чтобы догадаться, куда ссылка должна была вести.

Некоторые «битые» ссылки таковыми не являются. Сайты за защитой от ботов отвечают на HEAD-запросы незнакомых сканеров 403 или 429; ссылка на страницу, требующую входа, возвращает 401; некоторые серверы отвечают на HEAD 405, а на GET 200 — проверка обрабатывает это повторной попыткой через GET. 403 на известном сайте почти всегда означает, что сайт отверг сканер, а не что страница мертва — откройте её в браузере, прежде чем удалять ссылку.

Частые вопросы

Почему рабочая ссылка показывает 403 или 429?
Целевой сайт отверг наш запрос, а не страницу. Cloudflare и подобные сервисы встречают незнакомых сканеров проверкой с 403, а лимиты частоты отвечают 429. Проверка не может решить такую задачу и не пытается. Откройте URL в браузере: если он загружается, ссылка в порядке, а статус — это политика сайта в отношении ботов.
В чём разница между внутренней и внешней битой ссылкой?
Внутренние ссылки ведут на ваш хост и находятся при обходе; сканер загрузил страницу, получил ошибку и знает, откуда пришла ссылка. Внешние ведут в другое место и проверяются одним лёгким запросом каждая. Внутренние исправляйте редиректом или обновлением ссылки; для внешних обновите ссылку, найдите архивную копию или удалите её.
Почему некоторые внешние ссылки не проверены?
Запуск ограничивает внешние проверки 100 уникальными URL, по одному запросу в секунду на хост, чтобы быть вежливым к другим сайтам и уложиться в несколько минут. Проверка сообщает, сколько пропущено. Ссылки с rel="nofollow" не проверяются вовсе. Снимите галочку внешних ссылок, чтобы пропустить их полностью и сканировать быстрее.
Отслеживает ли проверка редиректы?
Для внутренних страниц — да: ссылка на URL, который через 301 ведёт на рабочую страницу, не битая, хотя редирект показан в аудите сайта, чтобы вы могли сократить цепочку. Для внешних ссылок редирект считается рабочим; дальше проверка его не отслеживает.
Почему проверка не находит ссылку, о которой я знаю, что она битая?
Либо страница, содержащая её, была вне обхода (за пределами лимита страниц, запрещена в robots.txt или недостижима по ссылкам от стартового URL), либо ссылка вставляется через JavaScript — сканер читает HTML как есть и не выполняет скрипты. Вкладка аудита показывает, какие страницы были просканированы.
Как часто проверять?
Внешние ссылки отмирают сами — несколько процентов в год на большинстве сайтов, — так что ежеквартальный запуск ловит большую часть. Внутренние ссылки ломаются при смене URL; проверяйте сразу после любого переезда, редизайна или массового переименования. Сайтам больше 200 страниц нужен инструмент, способный обойти их целиком; этот даёт выборку.
SEO-аудитВведите URL — сканер проверит до 200 страниц так, как это сделал бы первый проход поисковой системы: коды статуса, директивы noindex и canonical, отсутствующие или дублирующиеся title и description, отсутствующие H1, тонкие страницы, изображения без alt, цепочки редиректов, битые ссылки, страницы-сироты, покрытие robots.txt и sitemap. Каждая страница получает те же on-page проверки, что и проверка одной страницы; отчёт группирует их по проблеме и по странице. Без баллов, без выдуманных приоритетов — находки с числами. Скачивание в CSV. Ничего не хранится дольше 24 часов.Анализ внутренних ссылокВведите URL — сканер построит граф внутренних ссылок до 200 страниц: сколько страниц ссылается на каждый URL, сколько ссылок отдаёт каждая страница, на сколько кликов каждая страница отстоит от старта и на какие страницы никто не ссылается — сироты, о которых знает только sitemap. Таблица отсортирована по входящим ссылкам, так что страницы, которые ваш собственный сайт считает неважными, оказываются внизу. Скачивание в CSV. Ничего не хранится дольше 24 часов.Генератор SitemapВведите URL — сканер обойдёт внутренние ссылки (до 200 страниц), оставит только страницы, которые поисковик мог бы проиндексировать (статус 200, без noindex, canonical на саму себя), и запишет простой XML sitemap, который можно скачать или скопировать. Он также прочитает sitemap, который сайт уже публикует, и покажет оба пробела: индексируемые страницы, которых в нём нет, и URL из sitemap, до которых обход не добрался. lastmod, priority и changefreq не выдумываются. Ничего не хранится дольше 24 часов.Проверка редиректовВставьте до 20 URL и увидьте каждый переход цепочки редиректов: код статуса, цель, Cache-Control и время на переход, конечный URL и статус, циклы, цепочки длиннее трёх переходов, временные 302/307 вместо 301, двойные цепочки http→https→www, meta refresh и JavaScript-редиректы на конечной странице, canonical, не совпадающий с конечным URL, — а также, по желанию, отправляют ли Googlebot не туда, куда браузер. Экспорт в CSV. Ничего не сохраняется.