Добавление аналитики Plausible или отслеживания Fathom в Discourse

Plausible Analytics

  • Сначала добавьте свой домен в экземпляр Plausible Analytics и скопируйте код отслеживания. Он должен выглядеть примерно так:
<script async defer data-domain="community.example.com" src="https://plausible.example.com/js/plausible.js"></script>
  • Создайте новый компонент темы через Администрирование > Настройка > Темы.

  • Затем вставьте код отслеживания в секцию </head>.

  • Нажмите Сохранить.

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

Вот и всё!

:information_source: Если вы не видите поступающих данных, возможно, скрипт блокируется настройками вашей CSP. Проверьте консоль браузера и, если видите ошибки, добавьте https://plausible.io/js/script.js в настройки вашей CSP.


Редактирование: Добавление источника скрипта политики безопасности контента Fathom или Plausible больше не требуется благодаря этому обновлению: Content-Security-Policy now uses 'strict-dynamic'

Fathom

Пожалуйста, ознакомьтесь с руководством Fathom для Discourse.

Обновлено 14 мая 2025 года с руководством Fathom для Discourse
Для получения дополнительной информации см. руководство Fathom здесь:

Примечание: И для Plausible, и для Fathom их скрипты отлично работают как в компоненте, привязанном к вашей теме (или темам), так и при вставке в начало каждой шаблона, который вы хотите отслеживать. Новое руководство от Fathom не использует «метод компонента».

Согласно дорожной карте Plausible на GitHub, в ближайшем будущем появится возможность встраивать свои страницы Plausible на веб-сайты.

Можно ли внедрить что-то подобное в Discourse, или для этого потребуется плагин, или…?

Для этого вам нужен компонент темы.

Привет @Falco, что-то изменилось в маршрутизации твоего фронтенда? Я вижу, что ты рекомендуешь людям использовать версию нашего скрипта с hash, которая предназначена для роутеров на основе хеша. Мне кажется, что Discourse теперь использует HTML5 PushState API, так ли это?

Не совсем понятно, почему @justin выбрал здесь хэш-версию, ведь мы используем HTML5 History API уже очень давно. Сделал исходный пост вики-страницей, чтобы его могли редактировать все.

Я использую Plausible и могу подтвердить, что обычный plausible.js НЕ записывает URL-адреса, если пользователь перемещается между темами. Поэтому, если мне нужна точная статистика моих посетителей, я должен использовать хешированную версию plausible.js.

У меня такая же проблема с хешированной версией, хотя

Странно, что эти отчёты противоречат друг другу. Теоретически, поскольку Discourse использует HTML5 History API, я бы подумал, что наш стандартный скрипт (не скрипт hash) должен отслеживать всё корректно.

К сожалению, у меня нет настроенного экземпляра Discourse, с которым я мог бы это проверить.

Наверное, это из-за моего незнания этого :slight_smile: Я изначально выбрал вариант с хешем, так как у нас SPA и есть кастомная трек-система для других аналитических провайдеров. Если plausible.js работает, не стесняйтесь изменить его!

Привет, @ukutaht

Я переключил один из двух своих сайтов Discourse с plausible.hash.js на plausible.js, и вот что происходит при этом.

Сайт открывается в новой вкладке, но активность не отображается вообще.

А вот мой другой сайт с plausible.hash.js, где корректно отображается 1 онлайн-пользователь, и в виджете «Популярные страницы» в целом показываются правильные страницы.

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

Ах да, теперь, когда вы об этом упомянули, я вспомнил, что видел такое же поведение — именно поэтому я выбрал вариант с хешированным скриптом.

Глупый вопрос. Отслеживает ли добавление этой функции то, что происходит внутри вашего сообщества на Discourse, или она отслеживает исходящий трафик на другой домен, с которым связано сообщество?

Какие метрики можно получить с её помощью?

Я могу (в своей панели управления Plausible) видеть, какие ссылки моего форума Discourse посещаются и из какой страны.

Значит, при использовании Plausible в качестве инструмента аналитики возникают некоторые ошибки?

Нет, всё должно работать отлично. Я уже давно использую его на своём сообществе и не заметил никаких проблем.

Я отредактировал первый пост, чтобы включить простые инструкции по использованию Fathom. Пожалуйста, расширьте их при необходимости и проведите дополнительные тесты.

Работает отлично :smiley:

Привет и спасибо за ваше руководство.

Я хочу интегрировать Fathom в Discourse. Нужно ли мне добавить hash.js в код, так же как вы сделали это с Plausible?

Я думаю, что это script.js, как указано в исходном сообщении (прочитайте до Добавление поддержки Fathom).

Обновление: Ребята из Fathom подготовили простую инструкцию, которая расскажет, что нужно сделать. Приятного чтения!

Примечание от Fathom: Возможно, существует способ изменить это, но Discourse добавляет тег rel="canonical" для всех страниц, указывающий на главную страницу. Из-за этого все просмотры страниц в Fathom отображались как переходы только с главной страницы.

Я связался с Fathom, и они посоветовали добавить canonical="false" в ваш скрипт отслеживания, чтобы он выглядел так:

<!-- Fathom - beautiful, simple website analytics -->
<script src="https://cdn.domain.com/script.js" data-spa="auto" data-site="ADHGFREZ" data-canonical="false" defer></script>
 <!-- / Fathom -->

Это помогло.