Для запрета счетчику Яндекс Метрика изменять HTML страницу сайта можно использовать методом Content Security Policy (CSP) или альтернативные способы.
1. Использование Content Security Policy (CSP):
- Добавьте заголовок Content-Security-Policy в HTTP-ответ сервера или использовать мета-тег <meta> с атрибутом http-equiv="Content-Security-Policy" в HTML.
- Определите политику безопасности, запрещающую сторонним скриптам изменять HTML.
- Для счетчика Яндекс Метрика вы можете разрешить только отправку данных о посещении без доступа к DOM.
- Пример политики безопасности для разрешения только отправки данных в Яндекс Метрику: Content-Security-Policy: script-src 'self' mc.yandex.ru yastatic.net; connect-src 'self' mc.yandex.ru yastatic.net
- Подробнее о CSP можно узнать на сайте Content Security Policy: https://content-security-policy.com/
2. Использование JavaScript:
- Используйте атрибут nonce для скриптов движком счетчика.
- Создайте функцию, которая будет удалять или отключать все вставленные элементы Яндекс Метрика.
- Пример использования nonce и функции удаления элементов Яндекс Метрика:
<script src="https://mc.yandex.ru/metrika/tag.js" nonce="YOUR_NONCE"></script> <script nonce="YOUR_NONCE"> function removeYandexMetrica() { var elements = document.getElementsByClassName('ym-viewport'); while(elements.length > 0){ elements[0].parentNode.removeChild(elements[0]); } } window.addEventListener('load', removeYandexMetrica); </script>
В данном примере мы добавляем атрибут nonce к скрипту счетчика и создаем функцию removeYandexMetrica, которая будет вызываться после загрузки страницы для удаления элементов Яндекс Метрика с классом "ym-viewport".
Оба метода - использование Content Security Policy и JavaScript - помогут запретить счетчику Яндекс Метрика изменять HTML страницу вашего сайта.