Евгений Горяев
aka floor12

CheckCheck - мой проект по автоматической валидации сайтов

Обложка для статьи CheckCheck - мой проект по автоматической валидации сайтов

Последнее время мне стал необходимо новый инструмент мониторинга сайтов. Обычно в своей повседневной работе я пользуюсь такими инструментами как Screaming Frog, lighthouse в хроме, а также несколькими плагинами для браузера. Плагины для браузера я использую сугубо для быстрого анализа разметки мета- и опенграф- тегов без открытия инструментов разработчика.

Идея необходимого мне инструмента состоит в совмещении функций всех вышеописанных программ в одной, а еще лучше - в виде сервиса, который может делать этот анализ регулярно и автоматически.

Одна из проблем, которую такой инструмент может решить - это ежедневный контроль корректной работы всех внутренних страниц сайта. Проблема регулярного мониторинга усугубляется, если сайт очень большой и имеет десятки тысяч страниц (новостной или интернет магазин, к примеру). На таких сайтах бывает сложно уследить, если часть контента по технически причинам "выпала". Такие ежедневные обходы позволяют обнаружить и устранить целый спектр проблем: от ошибок разработчиков, пропущенных тестами, до недоработок контент-менеджеров или сторонних поставщиков данных.

Сообщения об ошибках, пропавших страницах и прочих неприятностях можно получать из сервисов типа яндекс,вебмастер или гугл.вебмастер - но задержка их реакции может составлять недели.

В начале 2021 года я приступил к реализации такого инструмента в виде онлайн сервиса cc.floor12.net. Самые первые версии, которые были написаны мною в первые недели сразу дали свои плоды - на одном из обслуживаемых мною интернет магазинов обнаружилась пропажа из каталога 50 000 товаров из-за ошибок в механизме импорта данных от партнеров. Тот факт, что первые реализации сразу показали свою практическую полезность подтолкнул меня продолжить разработку. Проект получил название CheckCheсk.

На данный момент, после четырех месяцев работы реализована первая версия, который обходит заданный сайт в несколько потоков и генерирует отчеты в виде html, pdf и excel-документов. Интерфейс сайта и отчеты реализованы с поддержкой русского, английского и испанского языков. Список проверок, осуществляемых на данном этапе невелик и составляет около 25-30 базовых проверок, которые можно сгруппировать следующим образом:

  • наличие и валидность canonical
  • изображения, наличие alt и пути,
  • title и мета-теги, их длина
  • все основные типы OpenGraph тегов и валидность их заполнения
  • наличие и длина h1
  • коды и время ответа сервера
  • наличие хлебных крошек с микро-разметкой на внутренних страницах

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

На данный момент уделяю проекту почти все свободное время, чтобы скорее наделить его новыми функциями.