не установлен код счетчика установлен запрет на отображение страницы во фрейме
Запрет отображения страницы во фрейме Битрикс
В данной заметке рассматривается решение относительно распространенной проблемы с Яндекс Метрикой у сайтов на Битриксе (возможно, что и на других CMS эта проблема существует, но у автора проблемы были только на битриксе): При открытии, например, «Карты кликов» в Метрике показано сообщение: «Невозможно воспроизвести посещение на данной странице. Возможные причины: Не установлен код счётчика Установлен запрет на отображение страницы во фрейме«. Собственно, ниже и представлено решение данной проблемы для 1С-bitrix. Данное решение основано на переписке с ТП Метрики и Битрикса и изучения различных источников (форумов, блогов), где люди сталкивались с аналогичной проблемой.
Итак, проблема достаточно распространенная и известная. Смоделировать её можно достаточно легко: Заходите в свой аккаунт Метрики, переходите в раздел «Карты» > «Карта ссылок» и видите следующее сообщение:
Если вы уверены, что счетчик установлен (посещения страниц засчитываются, цели отрабатывают корректно и т.п.), то, вероятно, проблема на стороне CMS и/или сервера. Для её устранения нужно последовательно выполнить 3 следующих шага (на каждом этапе проверяя, не решило ли выполнение шага проблему)
Шаг 1. Добавление исключений в «Защите от фреймов»
В админке сайта следует перейти в «Настройки» > «Проактивная защита» > «Защита от фреймов»
На открывшейся странице будет вкладка «Исключения». В неё нужно вписать (по одной строчке в каждое поле):
После применения настроек следует подождать какое-то время (желательно почистив кеш сайта) и посмотреть, помогло ли данное решение.
Шаг 2. Отключение «Защиты от фреймов»
На той же странице есть вкладка «Защита от фреймов». Перейдя на неё, следует нажать кнопку «Отключить….» — это, очевидно, отключит ограничение работы во фрейме для данного сайта. Далее, почистить кеш, подождать какое-то время. Если это не помогло, то следует перейти к шагу 3.
Шаг 3. Заголовок x-frame-options: SAMEORIGIN
В самом деле, это самая распространенная проблема. И она уже не в CMS, а на сервере. У автора данной заметки, к слову, проблема была именно в этом. Решается всё достаточно просто: Внесением изменения в конфигурацию сервера — через ТП хостинга, или же самостоятельно. В данном случае, это не имеет значения.
Как узнать, что сервер отдает такой заголовок? Автор пользуется следующим бесплатным сервисом. В принципе, свою задачу он выполняет.
Результат проверки без данного заголовка:
Результат проверки с данным заголовком:
В заключение, стоит сказать, что логично начать проверку с последнего шага — и если вы видите блокировку X-frame, то начать с решения этого вопроса.
Невозможно воспроизвести посещение на данной странице. Возможные причины ошибки в Вебвизоре Яндекса
Невозможно воспроизвести посещение на данной странице. Возможные причины ошибки в Вебвизоре Яндекса
Иногда может возникнуть ситуация, когда не работает вебвизор в метрике. При попытке просмотреть запись посещения выскакивает сообщение об ошибке примерно с таким текстом:
Невозможно воспроизвести посещение на данной странице. Возможные причины:
Сначала вообще проверим, включен ли у нас вебвизор в настройках счетчика. Быстро проверить это можно перейдя в режим просмотра кода (Ctrl+U). Ищем там код метрики и вызов вебвизора, а именно строку webvisor:true.
Если вебвизор не воспроизводит, но код на странице есть, тогда у нас осталось несколько вариантов:
Вариант 1. Не работает вебвизор в метрике по причине блокировки клиентом
Доступ к ним может быть закрыт антивирусом, фаерволом или на уровне корпоративной сети. Добавьте эти адреса в список доверенных и проверьте, осталась ли проблема.
Если проблема осталась, то попробуйте зайти с «чистого» браузера, где нет плагинов (особенно блокировщиков рекламы и антивирусных аддонов).
Этот подход в большинсве случаев решает проблему воспроизведения в вебвизоре на уровне клиента.
Вариант 2. Установлен запрет на отображение страницы во фрейме
Тут всё немного сложнее. Но определить ошибку достаточно просто. Для этого в Яндекс Метрике:
Если стоит блокировка показа сайта во фрейме, то в консоли вы увидите строчку X-Frame-Options: SAMEORIGIN, которая говорит, что данный сайт:
Сейчас идет активная работа над внедрением разрешения показов в ифреймах выбранного хоста, но пока это решение браузерами не поддерживается.
Убрать этот запрет — значит осознанно внести на сайт уязвимость.
Поэтому каждый разработчик использует на свой страх и риск.
Чтобы убедиться, что на сайте действительно стоит запрет, и по этой причине не работает вебвизор в яндекс метрике, можно еще проверить ответ сервера в любом доступном сервисе, например здесь. Вводим адрес нашей страницы и получаем такой результат:
Мы видим эту строчку, значит причина найдена!
Как снять запрет показа страницы во фрейме?
Тут тоже может быть несколько вариантов. Запрет может стоять на уровне:
Например, в WordPress базовая защита стоит на уровне скрипта (wp-includes/functions.php). Или она может вызываться через плагин безопасности (известно, что плагин Security Pack может давать такой эффект).
Но и тут нет ничего сложного. Нужно просто пробежаться по файлам системы управления и поиском по фразе найти нужные файлы, из которых вырезать (или закомментить нужную строку). Нужная строка, это: header(«X-Frame-Options:sameorigin»);
Как убрать запрет в CMS Drupal?
В друпале начиная с версий 7.50 заголовок X-Frame-Options: SAMEORIGIN внедрен как система безопасности на уровне ядра по умолчанию. И это правильно! Но все же если вам нужно его отключить, советую воспользоваться самым простым на мой взгляд способом. Для этого переходим в /sites/default/setting.php, и в любом удобном месте (советую в самом конце) вставляем следующий код:
После этого снова проверяем ответ сервера, и теперь мы должны получить следующее:
Также для для управления заголовком X-Frame-Options для Друпал уже создан модуль Panels HTTP Response Header Pane, но как по мне проще прописать одну строку в файле конфигурации чем устанавливать несколько модулей для решения одной задачи.
Не установлен код счетчика установлен запрет на отображение страницы во фрейме
С недавних пор ни вебвизор, ни карта кликов не работают. Открываю, грузится страничка, а затем всплывает pop-up с таким содержанием:
Но дело в том, что код счётчика установлен (с режимом вебвизора), а запрета на отображения во фрейме нет (он был ранее, но сейчас уже снят, а ошибка все равно возникает).
Кто-то сталкивался с подобным? В чем может быть проблема?
danforth, напишите в техподдержку Я.Метрики (если еще не писали), несколько раз были косяки с Вебвизором, они подробно и по делу отвечали. Иначе так можно долго угадывать )
Чтож, отписал в поддержку, посмотрим что ответят.
danforth, сталкивался. Из-за adblock и ему подобных расширений бывает. У меня uBlock просмотр в вебвизоре ломал.
На чем сайт? Если CMS, ставили плагины для оптимизации, сжатия и т п css и js?
Сталкивались несколько раз с такой проблемой на wp, всегда была из за подобных плгинов, которые сжимали код и пихали в хедер.
demiux, да, вы правы. uBlock как раз и ломал. Решение: добавить в White-List следующие строки:
danforth, большое спасибо. Давно эта фишка, но всё лень было разбираться, что ему надо) Действительно, режет адблок.
Тогда яндекс будет наблюдать за вашей деятельностью в интернете:)
Лучше создать в браузере разных пользователей (профили). Для работы и серфинга например. Заодно и безопасность выше.
Популярные ошибки настройки Яндекс.Метрики
Отчеты Яндекс.Метрики дают массу информации для принятия решений о развитии сайта и корректировки стратегии. Если ориентироваться на неверные данные статистики, можно навредить сайту, поэтому важно настроить Метрику правильно.
В этом материале разберем частые ошибки в настройке Яндекс.Метрики. Если у вас мало опыта настройки или вы видите неестественные данные, советуем провести проверку — вдруг найдете описанные в статье ошибки
Подробное руководство по регистрации и начале работы с Метрикой — «Яндекс.Метрика от А до Я».
Разберем ошибки, которые чаще встречаются при работе с Метрикой.
Некорректная установка счетчика Я.Метрики
Причины того, что в Метрике появляются не все данные, могут быть связаны с особенностями работы счетчика:
Это просто нужно иметь в виду при работе с данными. Но если вы установили счетчик, но он не фиксирует данные с сайта, возможно, установка прошла неправильно.
Как проверить установку счетчика
Если все установлено правильно, в консоли отобразится номер счетчика и данные, которые отправляет код.
Счетчик Метрики установлен
Если в Params вместо данных написано undefined, значит счетчик работает корректно, но параметры визитов не передает.
Счетчик не передает визиты
Если в консоли есть данные, но отчеты не отображаются, зайдите в настройки Метрики во вкладку Фильтры, возможно, фильтры стоят слишком жесткие.
Если информации вообще нет, что-то не так со счетчиком:
Как установить счетчик Яндекс.Метрики правильно
Процесс регистрации в Яндекс.Метрике и установки счетчика описан в обновленном Руководстве со скриншотами.
Для добавления кода на сайт, есть несколько способов. На странице ресурсов собраны дополнения для разных CMS, которые помогут установить счетчик на страницы сайта.
Если установка прошла правильно, довольно скоро он начнет собирать данные.
На странице Метрики со всеми счетчиками у каждого отмечен его статус. Для определения статуса счетчика робот запрашивает главную страницу сайта. Если на главной счетчика нет, в статусе будет «Не найден», но это никак не повлияет на корректность сбора данных на других страницах, если на них он установлен правильно.
Красный обычно появляется у недоступных и зараженных сайтов, но если таких проблем нет, то причина может быть в другом:
Использование другой версии кода при настройке событий в Яндекс.Метрике
Отслеживание JavaScript-событий, при которых не меняется URL сайта, требует настройки. Если следовать руководствам из интернета, а не советам из Справки Яндекса, есть риск скопировать из статьи код, который не будет подходить вашей версии Метрики.
Есть две версии: старая и новая, которая доступна в настройках с декабря 2018 года. Тогда Яндекс обновил код счетчика и набор методов.
Если вы используете новую версию, для настройки понадобятся новые методы, там есть примеры для установки на кнопку, форму, ссылку и другие.
Если используете старую, методы будут другие, они перечислены на странице Справочника методов предыдущей версии.
Яков Осипенков в эксперименте проверил метод Reach goal, который используют для настройки целей. Он выяснил, что методы новой версии не будут работать с устаревшим счетчиком, но методы старой работают с обеими версиями.
Если вы пользуетесь руководствами из интернета, вероятнее всего, в актуальных материалах используют методы для новой версии. Так что если у вас старая, они не сработают, проще обновить Метрику до новой и не думать об этом.
Короткий тайм-аут визита
Тайм-аут визита — это максимальное время для бездействия пользователя на сайте. Обычно его оставляют стандартным, но некоторые меняют под особенности поведения своей аудитории. По истечению установленного веб-мастером времени бездействия визит пользователя автоматически завершается и расценивается как новый, источником считается внутренний переход.
Настройка тайм-аута визита
В разделе «Отчеты» — «Источники» — «Источники, сводка» — «Внутренние переходы» видно, сколько переходов относятся к внутренним.
Внутренние переходы в Метрике
Если вы выяснили, что слишком много пользователей не укладываются в установленный тайм-аут и внутренних переходов слишком много — к примеру, больше половины — то тайм-аут лучше увеличить. Иначе долгие сессии пользователей будут делиться на два визита, а по факту это не так. Также проверьте, на всех ли страницах стоит счетчик.
Часовой пояс по офису, а не по клиентам
Обычно веб-мастеры ставят в настройках тот часовой пояс, в котором находится компания, в которой работают.
Часовой пояс в настройках
В разделе «Отчеты» — «Аудитория» есть статистика посещений сайта по времени суток. Время суток определяется по указанному в настройках часовому поясу. Если он выбран некорректно, данные будут неверны.
Визиты в Метрике
Причем выбирать часовой пояс стоит по целевой аудитории, а не местоположению самой компании, ведь люди заходят на сайт по своему времени, а время в отчетах стоит по настройке Метрики.
Геоположение большинства клиентов можно определить по сводке «География» в разделе «Аудитория».
География клиентов
По ней видно, из каких стран идет трафик. Найдите, откуда большая часть аудитории, и выберите ее часовой пояс. Если получилось, что основной аудиторией вашего сайта оказались жители региона, с которым вы не работаете, стоит пересмотреть продвижение ресурса.
Блокировка Вебвизора
Иногда бывает, что Вебвизор выдает ошибку и не показывает посещения страницы. В качестве возможных причин ошибки высвечивается:
«Невозможно воспроизвести посещение на этой странице. Возможные причины:
Проверьте, включен ли Вебвизор в настройках счетчика. Иногда Вебвизор выключается — если не смотреть записи в течение последнего полугода. Тогда нужно просто включить опцию заново.
Блокировщик рекламы заблокировал и Вебвизор
Если счетчик установлен корректно и дело не в нем, возможно, виноват блокировщик рекламы. Попробуйте посмотреть с браузера, где нет блокировщиков.
Если дело в этом, зайдите в настройки блокировщика рекламы и добавьте в «белый список» webvisor.com и metrika.yandex.ru, после чего перезагрузите Метрику.
Фаервол блокирует Вебвизор
Антивирус, фаервол компьютера или корпоративной сети может блокировать доступ к доменам:
Чтобы исправить это, нужно добавить домены в доверенные.
Сервер блокирует Вебвизор
Проблема может заключаться в защите от показов в iframe.
Решить эту проблему можно, если убрать запрет в конфигурации сервера, файле htaccess или настройках CMS. Придется удалить код защиты, это увеличивает уязвимость сайта. Веб-мастерам приходится выбирать, что приоритетнее: безопасность или работа Вебвизора.
Расскажите, с какими еще ошибками в настройке Метрики вы сталкивались?
Не работает Вебвизор при включенном X-Frame-Options
Владельцем сайтов рекомендуется запрещать отображение страниц во фреймах на сторонних доменах, что защитит от атак типа clickjacking и некоторых других. Особенно актуально это для интернет-магазинов и сервисов.
Примером такой атаки может быть случай, когда под видом надежного сайта, злоумышленник у себя на домене подсовывает пользователям вредоносный код. Вариантов применения масса — подписка на ресурс в социальной сети, кража конфиденциальной информации, совершение покупок в интернет-магазинах за чужой счёт.
И вообще, если вы не YouTube, то не стоит, без видимой причины разрешать кому попало отображать у себя содержимое вашего сайта.
Не единственный, но рекомендуемый на сегодня способ запрета отображения веб-страницы внутри фрейма — использование заголовка X-Frame-Options, однако и он не идеален и иногда приводит к проблемам, например к некорректной работе Вебвизора в Яндекс.Метрике.
Разбираемся как настроить защиту и что делать если проблемы все таки-возникают.
Что такое X-Frame-Options
Заголовок HTTP ответа от сервера X-Frame-Options служит инструкцией для браузера, он разрешает или запрещает отображение страниц вашего сайта во фрейме. Может иметь три значения:
SAMEORIGIN
Разрешает загрузку страниц сайта во фрейме только если фрейм и страница расположены на одном домене.
DENY
Запрещает загрузку во фрейме.
ALLOW-FROM domain
Разрешает загрузку во фрейме только для указанного домена, не работает для Safari и Firefox.
Защита от фреймов в 1С-Битрикс
В 1С-Битрикс ограничение работы во фрейме включается на странице «Защита от фреймов» (Настройки — Проактивная защита — Защита от фреймов).
На вкладке «Исключения», можно указать страницы сайта, для которых ограничения не будут применяться. Также добавить свою страницу в исключения можно определив константу B_SECURITY_FRAME в значение false, до подключения ядра.
Важно! Чтобы данный функционал 1С-Битрикс корректно работал, заголовок X-Frame-Options на сервере должен быть установлен в значение SAMEORIGIN (как это сделать, читайте далее). Если заголовок отсутствует или установлен в значение отличное от рекомендуемого, «Сканер безопасности» 1С-Битрикс расценит это как потенциальную угрозу сайту и будет показывать соответствующее предупреждение в своём журнале.
Как настроить X-Frame-Options на Nginx
1. Найти секцию server, отвечающую за обработку запросов нужного сайта. Как правило это файлы в /etc/nginx/site-enabled/*.conf
Для версий Bitrix VM ниже 7.0 и чистого nginx скорее всего это будет файл /etc/nginx/nginx.conf или etc/nginx/bx/conf/bitrix.conf
Для Bitrix VM 7.0 и выше заголовок вынесен в отдельный файл /etc/nginx/bx/conf/http-add_header.conf
2. В секцию server нужного сайта добавить или закомментировать строку в зависимости от того хотите вы включить использование заголовка или выключить:
3. Перезапустить nginx
Как настроить X-Frame-Options на Apache
1. Найти конфигурационный файл для вашего сайта, зачастую это файлы /etc/apache2/httpd.conf, /etc/apache2/vhost.d/*.conf
2. Добавить или закомментировать строки в зависимости от того хотите вы включить использование заголовка или выключить:
3. Перезапустить Apache
Решение проблем
Если вы используете сервисы, которым необходимо открытие вашего сайта во фрейме то ограничение работы во фрейме скорее всего приведёт к тому, что эти сервисы перестанут работать или будут работать некорректно.
Самой известной проблемой является некорректная работа Вебвизора от Яндекс. Данные собираются валидно, но при попытке просмотреть запись посещения возникает ошибка: «Невозможно воспроизвести посещение на данной странице. Возможные причины: Не установлен код счётчика или установлен запрет на отображение страницы во фрейме.»
Варианты добавления в конфиги исключений сводят всю идею X-Frame-Options на ноль, так как могут быть легко подделаны. Поэтому варианты типа приведенного ниже могут использоваться, но не рекомендуются.
Для решения проблемы вам придётся сделать выбор: либо сервис (в данном случае вебвизор), либо безопасность, других вариантов пока к сожалению не существует.
Полезные ссылки
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.