Discourse에 Plausible Analytics 또는 Fathom 트래킹 추가

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 설정에 의해 차단되었을 수 있습니다. 브라우저 콘솔을 확인하고 오류가 발생하면 CSP 설정에 https://plausible.io/js/script.js를 추가하세요.


수정: 이 업데이트(Content-Security-Policy now uses 'strict-dynamic')로 인해 Fathom 또는 Plausible의 Content Security Policy 스크립트 src를 추가할 필요가 더 이상 없습니다.

Fathom

Discourse용 Fathom 가이드를 참조하세요.

2025년 5월 14일, Discourse용 Fathom 가이드로 업데이트

자세한 정보는 Fathom의 가이드를 참조하세요:

참고: Plausible와 Fathom 모두 스크립트가 테마에 연결된 컴포넌트에서 그리고 추적하려는 각 템플릿의 head에 삽입된 경우에도 정상적으로 작동합니다. Fathom의 새로운 가이드는 "컴포넌트 방법"을 사용하지 않습니다.

Plausible의 GitHub 로드맵에 따르면, 가까운 미래에 Plausible 페이지를 웹사이트에 임베드할 수 있게 될 것 같습니다.

이런 기능이 Discourse에 임베드할 수 있을까요, 아니면 플러그인이 필요할까요, 아니면…?

이를 위해 테마 컴포넌트가 필요합니다.

Falco님, 프론트엔드 라우팅에 변경된 부분이 있나요? 스크립트의 hash 버전을 권장하고 계신 것을 보니, 이는 해시 기반 라우터를 위해 제공되는 것 같습니다. 제 생각에는 Discourse가 이제 HTML5 PushState API를 사용 중인 것 같은데, 맞나요?

@justin이 왜 여기서 해시 버전을 선택했는지는 잘 모르겠어요. 우리는 예전부터 HTML5 History API를 사용해 왔거든요. OP를 위키로 변경해서 누구나 편집할 수 있도록 했습니다.

저는 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 대시보드에서) 내 디스코urs 포럼의 어떤 링크가 방문되고 있으며, 어떤 국가에서 방문되는지 확인할 수 있습니다.

그러니까 Plausible를 분석 도구로 사용할 때 버그가 있다는 건가요?

아니요, 잘 작동할 거예요. 저는 커뮤니티에서 이걸 꽤 오랫동안 사용해 왔는데, 아무런 문제가 없었어요.

Fathom 사용에 대한 간단한 안내를 포함하도록 OP를 수정했습니다. 필요에 따라 내용을 보충하고 추가로 테스트해 주세요.

완벽하게 작동하고 있어요 :smiley:

안녕하세요, 가이드 작성해 주셔서 감사합니다.

Fathom을 Discourse에 통합하려고 하는데, Plausible를 통합하셨을 때처럼 hash.js를 코드에 추가해야 하나요?

OP(원본 글)에서 Fathom 지원 추가 섹션(여기까지 읽어보세요)에 명시된 대로 script.js인 것 같습니다.

업데이트: Fathom 팀이 필요한 작업을 안내하는 간단한 문서를 작성했습니다. 유용하게 활용하세요!

https://usefathom.com/docs/integrations/discourse

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 ->

이렇게 했더니 문제가 해결되었습니다.