Ниже пойдёт речь об использовании парсера sitemap.xml для поиска «битых» ссылок на страницах сайта. О том, что это за парсер и как его установить есть отдельные статьи.
Поиск и проверка ссылок запускается командой:
./sp links website.url
,
, где website.url — это адрес сайта вместе с протоколом. Например: https://example.com.
Первым делом скрипт обратится к каждой странице из sitemap.xml и соберёт с них все ссылки. При этом скрипт даст информацию о доступности каждой проверенной страницы.
После этого парсер удалит из полученного списка ссылки на якоря (#name), ссылки с протоколом tel: и mailto:, все повторяющиеся ссылки и ссылки, которые присутствуют в sitemap.xml. Для каждой ссылки из очищенного таким образом списка, будет получен HTTP-код ответа.
Результат работы скрипта можно наблюдать сразу же в консоли. Выглядит он так:
4130/5757 =================>----- ok: 3143 301: 978 500: 1 ERR: 68
Вначале показано число проверенных ссылок и общее число проверяемых, а также индикатор прогресса. После этого идёт список разных HTTP-кодов ответа и количество страниц с таким кодом.
ok: 3143
— 3141 страницы доступны
301: 978
— 978 страниц вернули HTTP-код 301
500: 1
— 1 страница вернула HTTP-код 500
ERR: 68
— 68 вызвали ошибку cUrl, что может означать, что ссылки записаны в неправильном формате.
Информация о том, какая именно страница какой код вернула сохранится в таблицах check и links в базе данных {DOMAIN_NAME}.sqlite3 в папке reports. Доступ к этим данным можно получить используя консольную программу sqlite3.