Битые ссылки должен находить скрипт, а не пользователь
Битая ссылка редко шумит как упавший сервис. Она просто ждёт в старой статье, документации или меню — до первого неудачного клика.
Страница переехала, внешний материал удалили, в адресе появилась опечатка. В итоге человек вместо нужной информации получает 404. Искать такие места вручную можно, но эту проверку легко отложить на потом.
Для такой проверки не нужно вручную открывать каждую страницу. Есть более простой вариант — Site Linkcheck, открытый CLI-инструмент на Playwright. Достаточно указать адрес сайта и параметры обхода. Инструмент пройдёт по внутренним страницам, соберёт ссылки и проверит внутренние и внешние адреса.
В отчёте будет видно: - какой URL не открылся; - какой статус вернулся; - на какой странице стоит ссылка; - на какой глубине она нашлась.
Результаты сохраняются в JSON и CSV. Разовую проверку можно запустить локально, а регулярную — встроить в CI и выполнять по расписанию. С флагом --fail-on-broken задача завершится отдельным кодом, если найдены проблемы.
Отчёты можно отправлять в Slack или Telegram. Для закрытых разделов поддерживаются Playwright storage state и HTTP-заголовки.
Site Linkcheck не чинит ссылки автоматически, зато показывает, что сломалось и на какой странице искать проблему. Сейчас опубликована версия 0.1.0, для работы нужен Node.js 24+.
Команда для запуска: npx site-linkcheck crawl https://example.com --max-depth 1 --max-links 100 --reports-dir reports
Репозиторий: https://github.com/dev-ik/site-linkcheck
Если в вашем проекте битые ссылки уже ловят иначе, интересно, где именно стоит проверка: в CI, по расписанию или перед релизом?