Отображение внутри фрейма не поддерживается что это
Перейти к содержимому

Отображение внутри фрейма не поддерживается что это

  • автор:

Настраиваем Битрикс для Яндекс метрики с включенной защитой от фреймов

В Битрикс в модуле «Проактивная защита» есть очень полезная опция: Защита от фреймов. Я советую её включать в обязательном порядке.

Эта опция защищает сайт от Clickjacking атак. Если вкратце, то суть этой атаки сводится к тому, что злоумышленник заманивает администратора на свой сайт, на котором через iframe вставлен атакуемый сайт. Фрейм устанавливается прозрачным. Администратор, думая, что нажимает на кнопку на сайте хакера, на самом деле жмет кнопку на своем сайте. Получается хакер может от имени администратора выполнять действия на атакуемом сайте.

Когда включена защита от фреймов, сайт говорит браузеру, что его показ в iframe запрещен (через заголовок X-Frame-Options: DENY).

Защита от фреймов Битрикс

Работа с яндекс метрикой

В метрике есть инструменты, которые показывают аналитику поверх сайта: вебвизор, карта кликов. Проблема в том, что яндекс сайт отображает тоже через фрейм. А его работу мы запретили. У нас отображение содержимого внутри фрейма не поддерживается.

При открытии вебвизора, вы можете получить ошибку:

Если код счетчика установлен верно, то проблема скорее всего в запрете отображения во фрейме. Исправим проблему того, что яндекс метрика не работает на сайте Битрикс.

Разрешаем работу сайта во фрейме для метрики

Для того, чтобы отключить на какой-то странице защиту от фреймов, нужно установить константу BX_SECURITY_SKIP_FRAMECHECK в true.

Определить то, что сайт открыт через метрику, можно по заголовку HTTP_REFERER. Этот заголовок отправляет браузер серверу, говоря откуда пришел пользователь. По этому заголовку можно, например, узнать с каких сайтов к нам приходят пользователи.

Всё что нам понадобится, это добавить код в /local/php_interface/init.php или /bitrix/php_interface/init.php. Смотря какой файл у вас есть, в тот и добавляйте. Если нет никакого, создайте файл.

Так же, пользователь в метрике может нажать «Взаимодействие с сайтом» и переходить по ссылкам на сайте прямо внутри метрики. В таком случае HTTP_REFERER будет содержать наш же сайт. Я это исправил добавлением $_SERVER[‘HTTP_HOST’] в разрешенные адреса.

Сайт защищен от Clickjacking атак, яндекс метрика отображает отчеты без ошибок.

Почему яндекс браузер не показывает frame?

Запустил сайт, погнали трафик и тут в яндекс метрике вижу такую не приятную картину, заходит пользователь а у него ошибка — «отображение внутри фрейма не поддерживается»
при этом у меня хром и опера — показывает норм, вижу ошибка вроде как на браузере яндекс?
У меня во фрейме выводится превью файлов с гугл диска..

Как победить такую бяку?

  • Вопрос задан более трёх лет назад
  • 2157 просмотров
  • Facebook
  • Вконтакте
  • Twitter

raebg

поставил себе браузер яндекс — нормально показывает все.
может это метрика так показывает — речь идет о видео которое показывает что делал пользователь на сайте?

Вроде метрка гонит с яндекс браузером — и только с ним — как быть уверенным в том что норм показывается?

Отображение внутри фрейма не поддерживается. Запрет на отображение страницы во фрейме: что делать

«Вебвизор» – это один из инструментов яндекс метрики, который позволяет изучать поведение пользователя на сайте посредством анимирования действий пользователя, на страницах где установлен счетчик. На данный момент времени данная система использует фреймы, с которыми в некоторых случаях могут возникать проблемы. Проблема заключается в следующем: вебвизор перестает работать в метрике, а при попытке просмотра записи поведения пользователя, может появляться ошибка с текстом — «На странице не найден код счетчика или установлен запрет на отображение страницы во фрейме ». Чтобы решить эту проблему нужно проделать немного манипуляций, чтобы определить, в чем заключается проблема, а проблема может быть в нескольких местах.

Проверяем, подключен ли счетчик
Возможно, по каким-либо причинам кода счетчика не оказалось на страницах вашего сайта, поэтому нужно начать с самого банального – проверить наличие подключенного счетчика на ваших страницах. Открываем исходный код, и смотрим, подключен ли код счетчика.

Проверяем, нет ли проблем на вашей стороне
Бывает, что проблема может находиться на стороне клиентской части, к примеру, блокироваться дополнениями браузера, антивирусом, и другими программами. Проверяем доступ к metrika.yandex.ru , mc.yandex.ru , *.yandex.net , бывает, что доступ могут прикрывать фаерволы на уровне корпоративной сети, этот момент так же следует учитывать.

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

Как понять, блокирует ли фреймы сервер или нет?
Чтобы узнать есть ли запрет на стороне веб-сервера нам необходимо просмотреть заголовки ответа вашего сайта. Просмотреть заголовки ответа вы можете открыв консоль разработчика в браузере (Ctrl+F12), либо с помощью какого-либо онлайн-сервиса, например этот .

После появления заголовков ответа, нас интересует наличие строки:
X-Frame-Options: SAMEORIGIN

Данная строка обозначает то, что показ во фреймах разрешается только лишь с текущего хоста, а значит, с любых других это сделать нельзя, и вебвизор в этом случае попадает под запрет. Как правило, подобные заголовки отправляет веб-сервер, и нам предстоит сделать небольшое исключение показа во фреймах для яндекс метрики. Большинство веб-серверов работают на Nginx, по этой причине подправим немного настройки для виртуального хоста.

Разрешаем веб-визор в Nginx
Так как Nginx уже отправляет заголовок для всех виртуальных хостов, нам необходимо найти конфигурационный файл, откуда этот заголовок подключается. По умолчанию в системе Linux конфигурационные файлы располагаются в директории /etc/nginx/, и имена файлов оканчиваются на *.conf. Вам предстоит найти файл, в котором и прописываются заголовок, а так же закомментировать его:

# add_header X-Frame-Options SAMEORIGIN;

После этого в настройках виртуального хоста прописать небольшое правило, которое будет запрещать все попытки использования фреймов на сторонних доменах кроме доменного имени *.webvisor.com .

Обратите внимание, что в исключение добавляется субдомен, там, где указано yourdomain.com – вы прописываете свой. После внесений изменений в конфигурационный файл, необходимо перезапустить Nginx, чтобы параметры вступили в силу. При использовании других серверов, их так же следует настроить таким образом, чтобы заголовок X-Frame-Options не отправлялся для вебвизора.
Если вы делаете отправку заголовков через скрипты, то вы можете воспользоваться регулярным выражением для проверки:

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

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

Первый способ защиты основан на скриптах JavaScript. Его суть сводится к тому, что проверяется соответствие top-окна открытой странице, если они не совпадают, значит страница открыта во фрейме. При обнаружении такой несправедливости браузер перенаправляется на другую страницу. Я использую вот такой вариант скрипта для «побега» из фрейма:Есть еще один похожий вариант, который делает почти то же самое:И, наконец, скрипт, останавливающий загрузку страницы, если она открывается во фрейме. На мой взгляд, очень сомнительный способ.Все эти скрипты, понятное дело, должны находиться на защищаемом сайте. Долгое время все эти способы прекрасно работали, пока в HTML5 не появился специальный атрибут тега iframe — sandbox , который позволяет установить ограничения на контент, загружаемый во фрейме. Если этот атрибут имеет пустое значение, то на любой странице, которая открыта в этом фрейме, скрипты выполняться не будут. Соответственно, не выполнится и скрипт для «побега».»Песочница» поддерживается всеми современными браузерами (список браузеров и версии вы можете посмотреть ).

Для борьбы с «песочницей» я вижу только один вариант: часть контента сайта надо загружать динамически при помощи скриптов. Даже если страницу и удастся открыть во фрейме, запретив скрипты, то защищенная часть контента все равно будет недоступна.

Против первых двух скриптов, с помощью которых страница пытается «выпрыгнуть» из фрейма, поможет следующий скрипт, основанный на событии onbeforeunload , которое наступает, когда фрейм пытается подменить основную страницу.Браузер выдаст предупреждение, достаточно отменить переход и все, родительская страница на месте и во фрейме открыта нужная страница. Скрипты на ней при этом нормально выполняются. Не забывайте только снимать обработчик onbeforeunload , когда фрейм будет полностью загружен, иначе это же сообщение появится при любом переходе со страницы.

Для противодействия трюку с onbeforeunload надо использовать скрипт «Frame-Killer #3» или же вызывать первые два с небольшим интервалом.Рано или поздно пользователю наскучит диалог предупреждения, и, даже если защищенная страница откроется, нормально поработать с ней все равно не получится. А при использовании этого метода в браузерах Firefox и Chrome предупреждение об уходе вообще появилось только один раз, после чего страница спокойно «выпрыгнула» из фрейма.

На этом цепочку противостояния хитрой жопы и хера с винтом лучше остановить и перейти к защите на стороне сервера. Чтобы установить полный запрет загрузки вашего сайта во фреймах на других ресурсах, достаточно добавить в заголовки ответа сервера новый заголовок «X-Frame-Options». У заголовка может быть одно из трех значений:

  • SAMEORIGIN — Страница откроется во фрейме только в том случае, когда родительский документ расположен на том же домене. Оптимальный вариант для большинства сайтов.
  • DENY — Полный запрет открытия страницы во фрейме, независимо от домена.
  • ALLOW-FROM domain — Разрешает открывать страницу во фреймах указанного домена. Это значение поддерживается не всеми браузерами, поэтому его лучше не использовать.

#
Header always set X-Frame-Options SAMEORIGIN
#
В этом случае он будет автоматически добавлен ко всем запрашиваемым страницам и документам. Если требуется добавлять заголовок X-Frame-Options не ко всем страницам, или же контролировать открытие на основании домена, или у вас нет возможности отредактировать файл.htaccess, или веб-сервер его не поддерживает, то лучше всего передавать этот заголовок в движке самого сайта. Например, на PHP.Также можно делать проверку на разрешенные домены, которая будет работать независимо от браузера клиента:Использование всех перечисленных методов защиты от просмотра сайта во фрейме позволит вам защититься от

Временами у вас могут возникнуть проблемы с вебвизором в метрике «Яндекс. Вебмастера». Вы хотите посмотреть запись посещения вашего сайта, но по непонятным причинам не можете. Скорее всего, установлен запрет на отображение страницы во фрейме.

Что сделать, если вебвизор не работает через «Яндекс. Метрику»

Для начала нужно проверить, включён ли у вас вообще вебвизор в метрике (в настройках счётчика). Заходим на страницу сайта, где установлен счётчик метрики. Переходим в просмотр кода страницы нажатием на (ctrl+u), комбинацией ctrl+f начинаем поиск нужного фрагмента кода, а именно — webwizor:true. Если в конце фрагмента стоит false, то код будет работать неправильно. Запрет на отображение страницы во фрейме (вебвизор) подтверждён.

Если вебвизор в метрике всё равно не воспроизводит действий пользователя, то есть несколько вариантов проблемы:

  1. Блокировка со стороны браузера клиента.
  2. Блокировка со стороны сервера, на котором «лежит» ваш сайт.

Рассмотрим оба варианта решения проблемы. Первый вариант: вебвизор не работает по причине блокировки браузером клиента, а значит, установлен запрет на отображение страницы во фрейме.

Блокировка со стороны браузера клиента

Необходимо убедиться в том, что у вас есть доступ к любому адресу Если в настройках выбран то включена блокировка. Доступ к ресурсам может блокироваться антивирусом (проверьте его настройки), фаерволом вашей системы или на уровне подсетей. Для устранения проблемы просто добавьте их в список доверенных сайтов, и проблема должна уйти.

Если проблема с установлением запрет на отображение страницы во фрейме всё-таки осталась, то просто зайдите с чистого браузера — это может быть режим «Инкогнито» или скачанный браузер без плагинов и дополнений, расширений (в случае с «Гугл Хром»). Этот подход устраняет проблему в 99 случаях из 100.

Блокировка со стороны сервера

Второй вариант: установлен запрет на отображение страниц во фрейме. Эту проблему решить немного сложнее, чем в первом случае.

  1. Открываем в «Яндекс. Метрике» раздел «Вебвизор», нажимаем f12 (после нажатия открываются инструменты разработчика).
  2. Вкладка «Консоль», перезагружаем страницу (F5).
  3. В списке ошибок будет подчёркнутая красная строка, там будет написано о проблеме.

Если установлена блокировка показа вашего сайта во фрейме, то в «Консоли» вы увидите такую строку: X-Frame-Options: SAMERIORIGN

В последнее время активно ведётся работа по решению этй проблемы, но пока в большинстве браузеров решение не поддерживается. Если вы убираете этот запрет, значит сознательно делаете свой для хакерских атак или просто взлома.

Приведем пример: В компании «1-С-Битрикс» говорят: «Вам важнее безопасность сайта или то, что вы не можете посмотреть действия пользователя на вашем сайте?» Для того чтобы убедиться, что именно по этой причине не работает вебвизор, и вы не можете посмотреть, что делают ваши пользователи на сайте, необходимо осуществить проверку ответа сервера на запрос в любом известном сервисе. Введите адрес страницы с установленным вебвизором и получите результат, как на скрине.

Установлен запрет на отображение страницы во фрейме, скрин свидетельствует об этом.

Вы все-таки решили снять запрет? Если он стоит на уровне конфигурации сервера, и вы поставили сайт на обратитесь в техподдержку.

Если запрет на уровне скрипта, различные cms делают запрос в свои библиотеки безопасности, поэтому проблему решить будет сложнее, чем вы думаете. Открыть страницу во фрейме не удалось? Обратитесь к разработчикам вашей CMS.

Как видите, если установлен запрет на отображение страницы во фрейме, проблему можно решить даже самостоятельно.

Иногда может возникнуть ситуация, когда не работает вебвизор в метрике. При попытке просмотреть запись посещения выскакивает сообщение об ошибке примерно с таким текстом:

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

Сначала вообще проверим, включен ли у нас вебвизор в настройках счетчика. Быстро проверить это можно перейдя в режим просмотра кода (Ctrl+U). Ищем там код метрики и вызов вебвизора, а именно строку webvisor:true.

Если вебвизор не воспроизводит, но код на странице есть, тогда у нас осталось несколько вариантов:

  • блокировка со стороны клиентского браузера
  • блокировка со стороны сервера (пресловутый запрет на показ страницы во фрейме)

Вариант 1. Не работает вебвизор в метрике по причине блокировки клиентом

В этом случае необходимо убедиться, что есть доступ:

  • к metrika.yandex.ru и mc.yandex.ru
  • к *.yandex.net (если в настройках вебвизора выбрано «Загрузка страниц в плеер — от имени анонимного пользователя», то также доступ до ресурса)

Доступ к ним может быть закрыт антивирусом, фаерволом или на уровне корпоративной сети. Добавьте эти адреса в список доверенных и проверьте, осталась ли проблема.

Если проблема осталась, то попробуйте зайти с «чистого» браузера, где нет плагинов (особенно блокировщиков рекламы и антивирусных аддонов).

Этот подход в 99% случаев решает проблему воспроизведения в вебвизоре на уровне клиента.

Вариант 2. Установлен запрет на отображение страницы во фрейме

Тут всё немного сложнее. Но определить ошибку достаточно просто. Для этого в Яндекс Метрике:

  1. Откройте страницу вебвизора или карт, нажмите F12 (должны открыться инструменты разработчика);
  2. Выберите вкладку «консоль»;
  3. Перезагрузите страницу;
  4. В списке ошибок вы увидите строку, подсвеченную красным, где будет написано про возникшую проблему.

Если стоит блокировка показа сайта во фрейме, то в консоли вы увидите строчку X-Frame-Options: SAMEORIGIN , которая говорит, что данный сайт:

  • можно показывать во фреймах текущего хоста,
  • нельзя с любых других хостов.

Сейчас идет активная работа над внедрением разрешения показов в ифреймах выбранного хоста, но пока это решение браузерами не поддерживается (поправите меня, когда ситуация поменяется) .

Убрать этот запрет — значит осознанно внести на сайт уязвимость.

Поэтому каждый разработчик использует на свой страх и риск (например, в 1С-Битрикс так прямо и говорят: вам дороже безопасность сайта или то, что вебвизор не воспроизводит действия посетителей?).

Чтобы убедиться, что на сайте действительно стоит запрет, и по этой причине не работает вебвизор в яндекс метрике, нам нужно проверить ответ сервера в любом доступном сервисе, например . Вводим адрес нашей страницы и получаем такой результат:

Результат проверки ответа сервера

Мы видим эту строчку, значит причина найдена!

Как снять запрет показа страницы во фрейме?

Тут тоже может быть несколько вариантов. Запрет может стоять на уровне:

  • конфигурации сервера . Если у вас виртуальный хостинг, то без помощи техподдержки проблему не решить.
  • файла htaccess . Этот конфигурационный файл находится в корневой директории. Открываете его и удаляете нужную строчку.
  • скрипта . Многие CMS зашивают отправку данного заголовка в свои библиотеки безопасности, и вычислить их бывает достаточно сложно.

Например, в WordPress базовая защита стоит на уровне скрипта (wp-includes/functions.php). Или она может вызываться через плагин безопасности (известно, что плагин Security Pack может давать такой эффект).

Но и тут нет ничего сложного. Нужно просто пробежаться по файлам системы управления и поиском по фразе найти нужные файлы, из которых вырезать (или закомментить нужную строку). Нужная строка, это: header(«X-Frame-Options:sameorigin»);

Если у вас сайт находится на nic.ru (Ru-Center), то необходимо перевести его из автоматического в режим ручного управления, и далее удалить строку с запретом из файла

Удачной вам аналитики!

Временами у вас могут возникнуть проблемы с вебвизором в метрике «Яндекс. Вебмастера». Вы хотите посмотреть запись посещения вашего сайта, но по непонятным причинам не можете. Скорее всего, установлен запрет на отображение страницы во фрейме.

Что сделать, если вебвизор не работает через «Яндекс. Метрику»

Для начала нужно проверить, включён ли у вас вообще вебвизор в метрике (в настройках счётчика). Заходим на страницу сайта, где установлен счётчик метрики. Переходим в просмотр кода страницы нажатием на (ctrl+u), комбинацией ctrl+f начинаем поиск нужного фрагмента кода, а именно — webwizor:true. Если в конце фрагмента стоит false, то код будет работать неправильно. Запрет на отображение страницы во фрейме (вебвизор) подтверждён.

Если вебвизор в метрике всё равно не воспроизводит действий пользователя, то есть несколько вариантов проблемы:

  1. Блокировка со стороны браузера клиента.
  2. Блокировка со стороны сервера, на котором «лежит» ваш сайт.

Рассмотрим оба варианта решения проблемы. Первый вариант: вебвизор не работает по причине блокировки браузером клиента, а значит, установлен запрет на отображение страницы во фрейме.

Блокировка со стороны браузера клиента

Необходимо убедиться в том, что у вас есть доступ к любому адресу «Яндекса»: *.yandex.ru. Если в настройках выбран режим инкогнито, то включена блокировка. Доступ к ресурсам может блокироваться антивирусом (проверьте его настройки), фаерволом вашей системы или на уровне подсетей. Для устранения проблемы просто добавьте их в список доверенных сайтов, и проблема должна уйти.

Если проблема с установлением запрет на отображение страницы во фрейме всё-таки осталась, то просто зайдите с чистого браузера — это может быть режим «Инкогнито» или скачанный браузер без плагинов и дополнений, расширений (в случае с «Гугл Хром»). Этот подход устраняет проблему в 99 случаях из 100.

Блокировка со стороны сервера

Второй вариант: установлен запрет на отображение страниц во фрейме. Эту проблему решить немного сложнее, чем в первом случае.

  1. Открываем в «Яндекс. Метрике» раздел «Вебвизор», нажимаем f12 (после нажатия открываются инструменты разработчика).
  2. Вкладка «Консоль», перезагружаем страницу (F5).
  3. В списке ошибок будет подчёркнутая красная строка, там будет написано о проблеме.

Если установлена блокировка показа вашего сайта во фрейме, то в «Консоли» вы увидите такую строку: X-Frame-Options: SAMERIORIGN

В последнее время активно ведётся работа по решению этй проблемы, но пока в большинстве браузеров решение не поддерживается. Если вы убираете этот запрет, значит сознательно делаете свой сайт уязвимым для хакерских атак или просто взлома.

Приведем пример: В компании «1-С-Битрикс» говорят: «Вам важнее безопасность сайта или то, что вы не можете посмотреть действия пользователя на вашем сайте?» Для того чтобы убедиться, что именно по этой причине не работает вебвизор, и вы не можете посмотреть, что делают ваши пользователи на сайте, необходимо осуществить проверку ответа сервера на запрос в любом известном сервисе. Введите адрес страницы с установленным вебвизором и получите результат, как на скрине.

Установлен запрет на отображение страницы во фрейме, скрин свидетельствует об этом.

Вы все-таки решили снять запрет? Если он стоит на уровне конфигурации сервера, и вы поставили сайт на виртуальный хостинг, обратитесь в техподдержку.

Если запрет на уровне скрипта, различные cms делают запрос в свои библиотеки безопасности, поэтому проблему решить будет сложнее, чем вы думаете. Открыть страницу во фрейме не удалось? Обратитесь к разработчикам вашей CMS.

Как видите, если установлен запрет на отображение страницы во фрейме, проблему можно решить даже самостоятельно.

Отображение внутри фрейма не поддерживается. Запрет на отображение страницы во фрейме: что делать

Временами у вас могут возникнуть проблемы с вебвизором в метрике “Яндекс. Вебмастера”. Вы хотите посмотреть запись посещения вашего сайта, но по непонятным причинам не можете. Скорее всего, установлен запрет на отображение страницы во фрейме.

Что такое Clickjacking и как оно работает

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

Кстати, так когда-то были взломаны многие сайты, включая Twitter, Facebook, PayPal… Ну и конечно же, во ВКонтактике такая бага тоже когда-то была. Идея довольно простая:

  • Юзер как-то попадает на страницу злоумышленника. Способ не важен. Реклама, спам и т.д.

2. На странице есть обычная ссылка, например, “1000 Free Spins!”.

3. Поверх этой ссылки вредоносная страница размещает прозрачный <iframe> с src с сайта, например, facebook таким образом, что кнопка Like находится прямо над этой ссылкой.

4. При попытке клика на эту ссылку посетитель на самом деле нажимает на кнопку Like.

То есть, по сути, пользователь сделал то, чего делать не хотел — поставил кому-то лайк. И это самый безобидный пример. На картинке ниже пример куда обиднее.

Иллюстрация Clickjacking-атаки. Пользователь заманивается на страницу, на которой ему предлагают сыграть в крутую игру. На странице уже наложен полностью прозрачный iframe со ссылкой удаления страницы на Twitter. Координаты и размеры кнопок совпадают. Если у пользователя в cookies браузере есть незакрытая сессия на Twitter, то при клике на кнопку Play, он на самом деле нажмет на «Okay, I want to delete my account»

Юзеры страдают. Сайты начали защищаться. Мало кто хочет, чтобы их сайты через iframe загружались на чужих страницах. Сайты стали запрещать показывать себя в iframe разными способами.

Что сделать, если вебвизор не работает через “Яндекс. Метрику”

запрет на отображение страницы во фрейме вебвизор

Для начала нужно проверить, включён ли у вас вообще вебвизор в метрике (в настройках счётчика). Заходим на страницу сайта, где установлен счётчик метрики. Переходим в просмотр кода страницы нажатием на (ctrl+u), комбинацией ctrl+f начинаем поиск нужного фрагмента кода, а именно – webwizor:true. Если в конце фрагмента стоит false, то код будет работать неправильно. Запрет на отображение страницы во фрейме (вебвизор) подтверждён.

Если вебвизор в метрике всё равно не воспроизводит действий пользователя, то есть несколько вариантов проблемы:

  1. Блокировка со стороны браузера клиента.
  2. Блокировка со стороны сервера, на котором «лежит» ваш сайт.

Рассмотрим оба варианта решения проблемы. Первый вариант: вебвизор не работает по причине блокировки браузером клиента, а значит, установлен запрет на отображение страницы во фрейме.

Браузер использует блокировщик рекламы

Если не работает карта кликов по этой причине, вы можете легко исправить проблему. Для этого выполните такие шаги:

  1. Кликните правой клавишей мышки на значок блокирующего приложения.
  2. Нажмите «Параметры».
  3. Выберите «Белый список».
  4. Добавьте webvisor.com и metrika.yandex.ru.
  5. Перезагрузите метрику.

Использование другой версии кода при настройке событий в Яндекс.Метрике

Отслеживание JavaScript-событий, при которых не меняется URL сайта, требует настройки. Если следовать руководствам из интернета, а не советам из Справки Яндекса, есть риск скопировать из статьи код, который не будет подходить вашей версии Метрики.

Есть две версии: старая и новая, которая доступна в настройках с декабря 2018 года. Тогда Яндекс обновил код счетчика и набор методов.

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

Если используете старую, методы будут другие, они перечислены на странице Справочника методов предыдущей версии.

Яков Осипенков в эксперименте проверил метод Reach goal, который используют для настройки целей. Он выяснил, что методы новой версии не будут работать с устаревшим счетчиком, но методы старой работают с обеими версиями.

Если вы пользуетесь руководствами из интернета, вероятнее всего, в актуальных материалах используют методы для новой версии. Так что если у вас старая, они не сработают, проще обновить Метрику до новой и не думать об этом.

Блокировка со стороны браузера клиента

Необходимо убедиться в том, что у вас есть доступ к любому адресу “Яндекса”: *.yandex.ru. Если в настройках выбран режим инкогнито, то включена блокировка. Доступ к ресурсам может блокироваться антивирусом (проверьте его настройки), фаерволом вашей системы или на уровне подсетей. Для устранения проблемы просто добавьте их в список доверенных сайтов, и проблема должна уйти.

Если проблема с установлением запрет на отображение страницы во фрейме всё-таки осталась, то просто зайдите с чистого браузера – это может быть режим “Инкогнито” или скачанный браузер без плагинов и дополнений, расширений (в случае с “Гугл Хром”). Этот подход устраняет проблему в 99 случаях из 100.

Возвращаемся к проблеме

Но как же быть с нашей проблемой? А никак. Если это не самостоятельный сайт.

Внимательный читатель уже понял, что метрика не может отобразить карту кликов потому, что ресурсы, на которых размещен сайт пользователя, блокируют возможность отображать их сайты через iframe.

Поэтому веб-визор спотыкается на показах. Ему просто не дают показать сайт во фрейме.

И так будет с каждым нормальным конструктором сайтов или сервисом, который заботится о своей безопасности и о безопасности клиентов.

Пользователи сервиса Tilda, например, тоже не могут просмотреть тепловые карты.

Может быть это и выключается, не знаю, т.к. не работал плотно с Tilda. Но я просмотрел с десяток сайтов выполненных на Tilda.

Все они отдают специальный заголовок:

«X-Frame-Options: SAMEORIGIN» или «X-Frame-Options: DENY»

Первый дает браузеру понять: — «Отображать мои страницы во фреймах можно только в пределах моего домена!».

Второй же, более злой: — «Отображать мои страницы во фреймах нельзя ни при каких условиях!».

Вы можете сами проверить, какие заголовки отдаются определенным сайтом или конструктором. Это можно сделать здесь: https://vk.cc/azT5kc

Как итог, можно сказать, что если ваш сервис-конструтор не дает вам возможности отключить эти заголовки для своих сайтов, то у вас один путь:

Выгружать сайт полностью из сервиса и размещать на сервере или шаред-хостинге, где вы будете иметь доступ к настройкам веб-сервера.

Это все касалось многочисленных конструкторов сайтов. Теперь по CMS.

Короткий тайм-аут визита

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

Как настроить тайм-аут визита пользователяНастройка тайм-аута визита

В разделе «Отчеты» — «Источники» — «Источники, сводка» — «Внутренние переходы» видно, сколько переходов относятся к внутренним.

Сводка по внутренним переходам в МетрикеВнутренние переходы в Метрике

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

Как снять запрет показа страницы во фрейме?

Тут тоже может быть несколько вариантов. Запрет может стоять на уровне:

  • конфигурации сервера. Если у вас виртуальный хостинг, то без помощи техподдержки проблему не решить.
  • файла htaccess. Этот конфигурационный файл находится в корневой директории. Открываете его и удаляете нужную строчку.
  • скрипта. Многие CMS зашивают отправку данного заголовка в свои библиотеки безопасности, и вычислить их бывает достаточно сложно.

Например, в WordPress базовая защита стоит на уровне скрипта (wp-includes/functions.php). Или она может вызываться через плагин безопасности (известно, что плагин Security Pack может давать такой эффект).

Но и тут нет ничего сложного. Нужно просто пробежаться по файлам системы управления и поиском по фразе найти нужные файлы, из которых вырезать (или закомментить нужную строку). Нужная строка, это: header(«X-Frame-Options:sameorigin»);

Что с CMS?

Некоторые CMS имеют свою, встроенную защиту от фреймов, включенную по умолчанию. Таким примером может послужить 1С Bitrix с их защитой от фреймов.

Так что, если ваш сайт работает на Битрикс и веб-визор у вас не работает по вышеописанным причинам, то варианта у вас два:

  • Отключить защиту от фреймов вообще
  • Добавить домены веб-визора в исключения

Оба способа можно применить из админки. Идем в «Настройки» -> «Проактивная защита» -> «Защита от фреймов».

Откроется страница, где будет вкладка «Исключения». Нужно добавить в исключения следующие адреса:

Замените yourdomain.ru на свой домен.

Затем проследуйте в .htaccess (для Apache) и удалите строку (если она есть):

Header always append X-Frame-Options SAMEORIGIN

Или, если у вас nginx, то идем в конфиг nginx.conf и удаляем строку (если она есть):

add_header X-Frame-Options “SAMEORIGIN”;

Если используется какой-то другой веб-сервер, тогда обратитесь к соответствующей документации.

Добавить комментарий

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