Назад в блог

Блог

SignalHost для Joomla: установите расширение, подключитесь один раз — и серверное отслеживание работает

Опубликовано · 6 мин чтения

Доступно в Joomla Extensions Directory

Расширение SignalHost добавляет серверный Google Tag Manager на сайт Joomla без единой строчки вставленного кода. Оно размещает загрузчик отслеживания на каждой странице вашего сайта, поддерживает его в актуальном состоянии, когда что-то меняется на нашей стороне, и снова убирает его, когда вы отключаетесь. Руководство идёт в том порядке, в каком вы с этим столкнётесь: установка пакета, подключение контейнера, проверка работы и что делать, если что-то не работает.

Прежде чем начать

  • Joomla 4.4, 5 или 6 на PHP 7.4 или новее.
  • Аккаунт SignalHost. Чтобы попробовать, хватит бесплатного тарифа: 10 000 запросов в месяц и один контейнер. Аккаунт можно создать прямо во время подключения.
  • Учётная запись Super User в панели администратора Joomla: для подключения и отключения нужно право настраивать компонент SignalHost, которое есть у Super User.

1. Установите расширение

Скачайте пакет из Joomla Extensions Directory, где он значится как SignalHost Server-Side Tagging. В панели администратора Joomla откройте System › Install › Extensions и загрузите zip-файл.

Это один пакет из двух частей: компонент SignalHost, в котором вы подключаете сайт и видите его статус, и системный плагин System - SignalHost Server-Side Tagging, который размещает код на ваших страницах. Установка включает плагин сама; он ничего не выводит, пока сайт не подключён.

2. Подключите сайт к контейнеру

Откройте Компоненты › SignalHost и нажмите «Connect with SignalHost». Если аккаунта у вас ещё нет, «Create a free account» вместо этого ведёт на регистрацию. Пока вы не нажмёте кнопку подключения, в SignalHost ничего не отправляется.

На signalhost.io войдите в аккаунт. Следующий экран перечисляет, что расширение сможет и чего не сможет делать, и спрашивает, какой контейнер должен использовать сайт. Контейнер — это ваш собственный сервер тегинга: веб-контейнер и серверный контейнер Tag Manager, созданные в вашем собственном аккаунте Google, так что они остаются вашими.

Выберите существующий контейнер или нажмите «Новый контейнер для» вашего сайта и пройдите короткий мастер. Создание нового занимает несколько минут; подключиться можно сразу, и код будет добавлен, как только контейнер будет готов. Нажмите «Подключить». Вы вернётесь в Компоненты › SignalHost с сообщением «Connected». Теперь код SignalHost добавлен на каждую страницу вашего сайта.

3. Проверьте, что код есть на сайте

Теперь на экране написано «Tracking is live» или, пока новый контейнер ещё создаётся, «Tracking starts as soon as your container is ready». Затем посмотрите на строку «On your home page»: сразу после подключения расширение загружает вашу главную страницу так, как это сделал бы посетитель, и ищет на ней свой код. Нужный вам ответ — «Code found». «Check again» в любой момент повторяет проверку, а остальные ответы описаны в разделе «Если что-то не работает».

4. Проверьте работу

Откройте свой сайт в приватном окне и пройдитесь по нескольким страницам; посетитель, который отклонил ваш cookie-баннер, всё равно учитывается — как пинг Google без cookie. Затем нажмите «Open statistics & settings», чтобы открыть страницу вашего контейнера на signalhost.io.

В разделе «Расширенная аналитика» вкладка «Недавнее» показывает просмотры страниц за последние 30 минут, в том числе ваши. «Запустить проверку» в разделе «Устранение неполадок» внизу страницы сравнивает то, что получил ваш сервер тегинга, с тем, что Google Analytics показывает за те же 30 минут. Меньшее число в Analytics — это нормально: там не учитываются посетители, отказавшиеся от cookie. Начиная с тарифа Growth раздел «Мониторинг событий в реальном времени» показывает каждое событие в момент поступления.

Что расширение добавляет на ваш сайт

Один небольшой скрипт и один сеанс связи в час:

  • Загрузчик Google Tag Manager в head страниц вашего сайта, направленный на ваш собственный адрес тегинга вместо googletagmanager.com. Он загружает оттуда ваш контейнер Tag Manager. Плагин добавляет его через Web Asset Manager Joomla, поэтому загрузчик получает CSP nonce, если ваш сайт его использует. Он никогда не запускается в панели администратора, в ленте или в представлении только компонента.
  • Раз в час, после того как страница отдана, плагин связывается с signalhost.io, чтобы оставаться актуальным. Он отправляет только версии расширения, Joomla и PHP, адрес вашего сайта и то, был ли найден код на главной странице: никаких данных посетителей, контента или учётных записей пользователей. Если signalhost.io недоступен, ваш сайт сохраняет последнюю рабочую конфигурацию.

Каждый запрос покидает браузер в виде, который блокировщики рекламы не распознают, и ваш сервер тегинга пересылает его в Google Analytics 4 и на рекламные платформы, которые вы настроили на странице контейнера: Google Ads, Meta, TikTok и другие. Отслеживание следует за вашим cookie-баннером через Google Consent Mode; размещайте код баннера перед кодом SignalHost.

Расширение не читает формы и заказы. Просмотры страниц приходят сами; покупка или заявка попадает в ваш контейнер, когда ваш сайт отправляет её в слой данных.

Ваш собственный домен отслеживания

Сначала ваш контейнер работает на адресе под signalhost.io. На платном тарифе кнопка «Подключить собственный домен» на странице контейнера переносит его на поддомен вашего собственного сайта, например sgtm.yoursite.com, с помощью одной DNS-записи у вашего провайдера. Такой адрес переживает списки фильтров и сохраняет cookie кликов как cookie первого лица. Когда домен заработает, расширение переключит на него ваш сайт при следующем сеансе связи, обычно в течение часа, и очистит кеш страниц Joomla. Вручную ничего заменять не нужно, а старый адрес до тех пор продолжает работать.

Добавить SignalHost вручную

Код можно вставить и самостоятельно. На странице контейнера найдите свой фрагмент кода в карточке «Установить на сайт» и нажмите «Копировать». Вставьте его в head каждой страницы (в Joomla — в шаблон сайта) сразу после скрипта вашего cookie-баннера и нажмите «Готово». «Копировать для ИИ-агента» передаёт ту же задачу агенту для программирования.

Вставляя код вручную, вы отказываетесь от того, что делает расширение: ничто не проверяет вашу главную страницу, ничто не убирает код при отключении, загрузчик не получает CSP nonce, если вы не добавите его сами, а когда заработает ваш собственный домен, код придётся заменить самостоятельно — из блока карточки «Обновите код на своём сайте» или из письма, сообщающего о домене. Никогда не используйте оба способа: две копии засчитывают каждое посещение дважды.

Обновления, управление и отключение

Обновления приходят через собственный механизм обновлений Joomla, в System › Update › Extensions, как и у любого другого расширения.

Кнопка «Disconnect» на экране Компоненты › SignalHost один раз запрашивает подтверждение, а затем отзывает доступ сайта, убирает код со всех страниц и очищает кеш страниц Joomla. Ваш контейнер и его статистика сохраняются, и подключиться снова можно в любой момент.

На signalhost.io страница контейнера сообщает «Установлено расширением Joomla на» вашем сайте. Её кнопка «Управлять» ведёт в «Настройки › Подключённые сайты», где тоже работает «Отключить»: расширение перестанет загружать SignalHost при следующем сеансе связи, обычно в течение часа.

Удаление пакета стирает всё, что сохранило расширение. Сначала отключите сайт, чтобы SignalHost тоже знал, что его больше нет.

Если что-то не работает

  • «Code not found»: возможно, плагин выключен. Включите System - SignalHost Server-Side Tagging в менеджере плагинов Joomla, затем нажмите «Check again».
  • «Could not check (your server refused a request to itself)»: ваш хостинг блокирует запросы к собственному адресу. О ваших посетителях это ничего не говорит; поищите ваш адрес тегинга в исходном коде главной страницы.
  • «An older copy is on the page» или «The code is on the page twice»: копия была вставлена вручную в шаблон или в другое расширение. Удалите её; расширение добавляет актуальную, а две копии засчитывают каждое посещение дважды.
  • Уведомление о том, что ваш сайт уже загружает контейнер Tag Manager собственным фрагментом Google: удалите этот фрагмент, потому что теперь контейнер загружает SignalHost, а вместе они засчитывают каждое посещение дважды.
  • «This site's address has changed since it was connected»: на копии, например staging, ничего не отправляется. Если переехал рабочий сайт, отключите его и подключите снова.
  • Компоненты › SignalHost всё время открывает вместо себя панель управления: на свежей Joomla так ведёт себя обзорный тур при первом входе — с каждой страницей администратора, пока вы его не скроете.
  • Что-то другое: напишите на hello@signalhost.io и укажите адрес сайта.

Товарные знаки

SignalHost — независимый продукт компании Algorithmo GmbH, не связанный с Open Source Matters, Google, Meta или TikTok и не одобренный ими. Google Analytics, Google Ads и Google Tag Manager — товарные знаки Google LLC; Meta — товарный знак Meta Platforms, Inc.; TikTok — товарный знак ByteDance Ltd.; Joomla! — товарный знак Open Source Matters, Inc.

Перестаньте терять данные из-за блокировщиков

Начните бесплатно. Запустите первый контейнер за несколько минут.