Блог/Несуществующие страницы с URL параметрами

Как отслеживать несуществующие страницы с заданными URL параметрами (включая UTM метки)

Автор: Кудашев Сергей

В очередной раз на крупном клиентском проекте, где настроены все виды контекста, обнаружил, что опять была изменена структура сайта и часть объявлений стала вести на несуществующие страницы. И если Google Adwords об этом хотя бы честно предупреждает, хоть и не сразу, то Яндекс Директ молчит как партизан. В общем решил, что надо разобраться с этим вопросом.

Изначально появилась идея настроить учет 404 ошибок в Я.Метрике или Google Analytics. Но тут есть один нюанс, что хотелось бы получать информацию об обнаруженных неработающих страницах сразу, и чтобы процесс был максимально гибок. И если первое вполне реально решается настройкой уведомлений на события, то вот с гибкостью не все так гладко. Поэтому было принято решение пойти другим путем, а именно созданием отдельного компонента, который бы этим занимался.

Так как этот сайт работает на MODx Revolution, как и большая часть проектов, то и компонент был разработан специально для него. Возможно, он будет портирован еще на пару CMF, только если к нему будет интерес и найдется время.

Разберем работу компонента NotFoundParamAlert. Логика работы с ним проста: на событие ‘OnPageNotFound’, которое срабатывает на любую не найденную страницу, вешается плагин, который сравнивает параметры указанные в URL с заданными ему параметрами, и в случае совпадения генерирует уведомление. На данный момент сгенерированное уведомление может быть послано по email, указанный в настройках, или может быть залогировано средствами MODx Revolution.

На данный момент компонент поддерживает следующие настройки:

  • parameters – список URL параметров, через запятую, для отслеживания.
  • parameters_all – учитывать ли в сообщении все переданные URL параметры или только совпадающие.
  • alert_method – способ уведомления: log – логирует сообщение, mail – отправляет сообщение на email, log, both – использует оба способа доставки сообщения.
  • alert_log_level – уровень логирования сообщений.
  • email_to – email на который отправлять уведомления.

Компонент был добавлен в официальный репозиторий и на modstore.pro.
Если будут предложения или пожелания по работе компонента, предлагайте :)

Комментарии (2)

  1. Юрий24 февраля 2018, 21:59#
    Уважаемый автор, заметил ошибку в работе сайта. Если в блоке с тегами на вашем сайте выбрать тег «MODX», то первая страница статей отображается нормально. А вот на следующую страницу статей по этому тегу зайти уже не получается… url в браузере изменяется, а вот содержимое страницы отображается как на первой страничке
    1. Кудашев Сергей24 февраля 2018, 23:25#
      Уважаемый Юрий. Спасибо большое за информацию. Баг поправил :)