Перестал работать счетчик LiveInternet на Wordpress - решение проблемы

WordPress. Не работает счетчик LiveInternet

Столкнулся с исчезновением счетчика LiveInternet на одном из своих сайтов после обновления WordPress до версии 5.2.

Код счетчика остался на страницах, однако сам счетчик перестал отображаться на сайте. Сбор статистики, соответственно, тоже остановился.

Присмотревшись более внимательно заметил, что код счетчика на сайте немного отличается от эталонного. Код счетчика LiveInternet должен выглядеть так:

Перестал работать счетчик LiveInternet на WordPress - решение проблемы

Но на сайте он отображается вот так:

Перестал работать счетчик LiveInternet на WordPress - решение проблемы

Как видно, WordPress принудительно подставляет в код атрибут “noopener noreferrer”. Подстановка этого атрибута исправляет уязвимость в ссылках с target=”_blank”, о которой стало известно еще 3 года назад.

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

Из релиза в релиз в WordPress продолжают допиливать новые “фишки” в плане безопасности, похоже одна из них и стала как-то особенно взаимодействовать с установленной темой.

Перестал работать счетчик LiveInternet на WordPress - решение проблемы

Решение проблемы

Нужно жестко прописать код счетчика в файлах используемой темы.

До этого код был установлен в один из виджетов. Содержимое виджетов WordPress может обрабатывать и видоизменять, что и происходило в данном случае. Но если прописать код в файл с футером, то движок будет вынужден обрабатывать его “как есть”, чем и стоит воспользоваться.

Футер редактируется в админке:

Внешний вид Редактор тем Подвал (footer.php)

Находим наиболее удачное место и вставляем код счетчика.

Недостаток такого решения – при обновлении темы все изменения в ее файлах слетают.

Как быть:

  • Не обновлять тему вообще (не рекомендую такой вариант)
  • Заносить все свои правки кода в файлах темы в текстовый файл и после обновления темы осуществлять их повторно
  • Создать дочернюю тему на основе используемой, тогда на нее не будут прилетать обновления от основной темы

Наиболее удобен третий вариант, а второй вариант более правильный в плане безопасности.

Последнее обновление статьи: 9 мая 2019 года

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *