1. Внутренние ссылки
Скрипт анализа ссылок на сайте позволяет получить отчет по коду ответа сервера и определить битые, выдающие ошибку 404 (страница не найдена).
Со временем любой сайт по мере добавления страниц и связующих ссылок претерпевает изменения и те, что добавлены давно бывают устаревшими, что приводит посетителей на несуществующие страницы. Особенно это важно, когда у Вас не сайт визитка, а сайт имеющий большое количество страниц.
Проанализировав все ссылки Вы увидите в отчете на каких страницах размещены битые ссылки и сможете их исправить.
2. Внешние ссылки
Все сайты так или иначе связаны друг с другом ссылками. Ссылки, указанные на другие сайты спустя некоторое время устаревают. Причины могут быть разные, например изменение структуры, создание нового сайта или вовсе его закрытие. Так как Вы ссылаетесь на материал, скрипт или сервис на стороннем сайте это не зависит от Вас, им управляет другой владелец.
Данный скрипт также анализирует доступность внешних ссылок ведущих с Вашего сайта. В отчете также будут указаны страницы, которые содержат устаревшие, несуществующие более ссылки, что даст Вам возможность это увидеть и исправить.
3. Установка скрипта
В нашем примере мы устанавливаем на Debian 12 необходимые пакеты: php8.2 и сам скрипт проверки в формате phar, который будем запускать из консоли Linux.
apt install php php-xml
apt install wget
wget https://github.com/dantleech/fink/releases/download/0.10.3/fink.phar
4. Пример использования
Укажите свой домен вместо domain.tld и при необходимости скорректируйте путь до файла отчета.
php /root/fink.phar https://domain.tld -x0 -o /root/report.json
По завершению работы скрипт сгенерирует отчет, Вы также в реальном времени можете наблюдать весь процесс обхода ссылок указанных на страницах Вашего сайта.
В нашем примере сайт с 5000 страниц был обработан за 14 минут, что значительно быстрее, чем использования предлагаемых онлайн-сервисов.
4.1 Проанализируем файл отчета
apt install jq
cat /root/report.json | jq -c '. | select(.status==404) | {url: .url, referrer: .referrer}' | jq
В файле будут указаны страницы, на которых находятся битые ссылки по примеру:
4.1.1 Вывести все кроме хороших
cat /root/report.json | jq -c '. | select(.status!=200) | {url: .url, referrer: .referrer}' | jq
В данном примере будут отображены все найденные страницы, кроме содержащих код 200.
В зависимости от частоты добавления контента - регулярная проверка и анализ ссылок сделают Ваш сайт еще более комфортным для посетителей.