Определение города (местоположения) по IP 2.0

SEO инфоблоков

На странице редактирования элемента или раздела, во вкладке SEO можно использовать шаблон {=bxmaker_geoip} который заменится на название города. Заполнение вкладки SEO инфоблооков

Схема работы

Если рассматривать страницу на которой выводятся разделы или элементы инфоблоков, у которых на вкладке SEO в полях указан плейсхолдер модуля - {=bxmaker_geoip}, то на странице они будут заменены на #BXMAKER_GEOIP_CITY#.

Рассчитанные значения с вкладки SEO при выводе раздела или элемента помещаются в соответствующие свойства страницы.

Далее в конце когда основной контент сформирован но еще не выведены мета теги и заголовок страницы, в значениях свойств страницы происходит замена конструкции #BXMAKER_GEOIP_CITY#.

Вместо нее будет подставлено название города текущего пользователя. Далее значения из свойств страницы попадают в мета теги и заголовок страницы в том числе h1 (при стандартной схеме вывода $APPLICATION->ShowTitle(false))

Далее когда контент полностью собран, в эпилоге страницы (OnEpilog), происходит повторная замена по всему контенту конструкции #BXMAKER_GEOIP_CITY# на название города пользователя.

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

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

Динамический же вывод будет автоматически подменен при выполнении js, поэтому если это не касается мета тегов и заголовков следует использовать разметку

<div class="js-bxmaker__geoip__city-name-global"></div>