Запрет отображения страницы во фрейме Битрикс

В данной заметке рассматривается решение относительно распространенной проблемы с Яндекс Метрикой у сайтов на Битриксе (возможно, что и на других CMS эта проблема существует, но у автора проблемы были только на битриксе): При открытии, например, «Карты кликов» в Метрике показано сообщение: «Невозможно воспроизвести посещение на данной странице. Возможные причины: Не установлен код счётчика Установлен запрет на отображение страницы во фрейме«. Собственно, ниже и представлено решение данной проблемы для 1С-bitrix. Данное решение основано на переписке с ТП Метрики и Битрикса и изучения различных источников (форумов, блогов), где люди сталкивались с аналогичной проблемой.

Итак, проблема достаточно распространенная и известная. Смоделировать её можно достаточно легко: Заходите в свой аккаунт Метрики, переходите в раздел «Карты» > «Карта ссылок» и видите следующее сообщение:

Если вы уверены, что счетчик установлен (посещения страниц засчитываются, цели отрабатывают корректно и т.п.), то, вероятно, проблема на стороне CMS и/или сервера. Для её устранения нужно последовательно выполнить 3 следующих шага (на каждом этапе проверяя, не решило ли выполнение шага проблему)

Шаг 1. Добавление исключений в «Защите от фреймов»

В админке сайта следует перейти в «Настройки» > «Проактивная защита» > «Защита от фреймов»

На открывшейся странице будет вкладка «Исключения». В неё нужно вписать (по одной строчке в каждое поле):

  • */metrika.yandex.ru/*
  • */webvisor.com/*
  • */webvisor.com/inpage/*
  • http://webvisor.com/*
  • ^https?://([^/]+\.)?rdomain.ru>|([^/]+\.)?webvisor\.com/  (rdomain.ru — меняется на имя вашего сайта)

После применения настроек следует подождать какое-то время (желательно почистив кеш сайта) и посмотреть, помогло ли данное решение.

Шаг 2. Отключение «Защиты от фреймов»

На той же странице есть вкладка «Защита от фреймов». Перейдя на неё, следует нажать кнопку «Отключить….» — это, очевидно, отключит ограничение работы во фрейме для данного сайта. Далее, почистить кеш, подождать какое-то время. Если это не помогло, то следует перейти к шагу 3.

Шаг 3. Заголовок x-frame-options: SAMEORIGIN

В самом деле, это самая распространенная проблема. И она уже не в CMS, а на сервере. У автора данной заметки, к слову, проблема была именно в этом. Решается всё достаточно просто: Внесением изменения в конфигурацию сервера — через ТП хостинга, или же самостоятельно. В данном случае, это не имеет значения.

Как узнать, что сервер отдает такой заголовок? Автор пользуется следующим бесплатным сервисом. В принципе, свою задачу он выполняет.

Результат проверки без данного заголовка:

Результат проверки с данным заголовком:

В заключение, стоит сказать, что логично начать проверку с последнего шага — и если вы видите блокировку X-frame, то начать с решения этого вопроса.