カスタムコンポーネント経由でトラッキングコードを追加する際にCSPの編集を忘れてしまった

に以下を追加しようとしました
<!-- Matomo - head -->
<script type="text/discourse-plugin" version="0.2">
    // ページ遷移をトラッキング
    api.onPageChange((url, title) => {
        if (_paq) {
            try {
                var currentUser = PreloadStore.get('currentUser');
                _paq.push(['setCustomVariable', 3, 'Forum status', !currentUser ? 'Anonymous' : 'LoggedIn user', 'visit']);
            } catch(e) {} 
              
            _paq.push(["setCustomUrl", url]);
            _paq.push(["setDocumentTitle", title]);
            _paq.push(["trackPageView"]);
        }
    });
</script>
<!-- /Matomo - head -->

次に、内に以下を追加しました

<!-- Matomo -->
<script type="text/javascript">
  var _paq = window._paq = window._paq || [];
  /* setCustomDimension などのトラッカーメソッドは trackPageView の前に呼び出す必要があります */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://stats.xxxxxxx.xxx/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '8']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->

しかし、ページソースを確認すると HTML コメントのみが表示され、タグは削除されているようです。
これらの領域でスクリプトを許可するために、セキュリティ設定を有効にする必要があるのでしょうか?

<!-- Matomo - head -->

<!-- /Matomo - head -->
[...]
<!-- Matomo -->

<!-- End Matomo Code -->

ご助力よろしくお願いいたします。

「いいね!」 1

Matomo アナリティクスを Discourse で有効にするには、このスクリプトを使用してください。

「いいね!」 1

ありがとうございます、これで今の問題は解決しそうです…

でも、それらのセクションにカスタム JS を注入することはできないのでしょうか?

コンポーネントをインストールし、「Default」テーマで有効化しましたが、特に改善された様子はありません :-/

「いいね!」 1

ブラウザのログを確認しましたか?Matomo スクリプトのホストを CSP 設定リストに追加しましたか?

「いいね!」 1

その通りです…CSP設定があるとは知りませんでした…

それはブラウザのログが常に警告を出す事項なので、必ず確認してください。

「いいね!」 1

@Falco さん、こんにちは。Matomo が Discourse と連携しないという同じ問題に直面しているようです。Matomo のサポートチームは、彼らの GitHub にチケットを提出した際にこう教えてくれました:

Matomo サポート: 「ウェブサイトを確認したところ、設定された CSP が当社のトラッカーの読み込みを妨げています。https://matomo.org/faq/general/faq_20904/ を参照し、サーバー環境での設定方法を確認してください。」

Discourse のログ(URL/logs)を確認しましたが、関連する情報は見つかりませんでした。

私の Discourse の URL は:https://hec.fm
Matomo インスタンスの URL は:https://stats.hec.fm

動作するように CSP を設定変更したつもりでしたが、まだ機能していません:

Discourse で Matomo 分析を有効にするスクリプトというチュートリアルを詳しく追ったつもりでしたが、それだけでは不十分なようです。

何が間違っていたのでしょうか?:slightly_smiling_face:

hec.fm で Matomo スクリプトが正しく読み込まれているため、CSP の問題ではないようです。もしかすると、Matomo 側にある別の問題かもしれません。

また、上記のスクリーンショットで https://stats.hec.fm/Matomo の下にある行は不要です。

「いいね!」 3