Umami Analytics

Umami の非公式プラグイン(Umami とは無関係)。EmDash 管理画面でトラフィック、人気ページ、参照元、エントリーごとのページビューを確認できます。

プラグイン

Umami Analytics

Umami の非公式プラグイン(Umami とは無関係)。EmDash 管理画面でトラフィック、人気ページ、参照元、エントリーごとのページビューを確認できます。

  • カテゴリー: analytics
  • ステータス: 利用可能
  • バージョン: 0.1.4
  • 価格: 不明
  • 提供元: 公式プラグインレジストリ
  • 導入方法: レジストリのサンドボックスプラグイン
  • 確認日: 2026-10-21

説明

これは非公式のプラグインです。Umami とは無関係であり、Umami による承認やサポートも受けていません。

Umami の数値を EmDash 管理画面の中に表示します。ダッシュボードにはサイト全体のトラフィック、各エントリーの横にはそのエントリーが獲得したページビューが表示されます。Umami Cloud と、3.4.0 以降のセルフホスト版 Umami に対応しています。

  • Umami トラフィックカード。 ダッシュボードに表示されます。直近 7 日間の訪問数、ページビュー、エンゲージメントを前週と比較し、閲覧数の多い上位 5 ページとそのエントリーを表示します。
  • Umami Analytics ページ。 7 日、30 日、90 日の日次グラフ、直帰率と滞在時間、人気エントリー、参照元、国、サイトが付与するイベントデータ別のページビュー(まずはカテゴリー別)、そして見つかった問題ごとに対処法を示すセットアップチェック。
  • エントリー別ページ。 公開済みの全エントリーについて、7 日間と 30 日間のページビューを並べ替え可能な形で表示します。1 つのコレクションまたはすべてを対象にでき、必要に応じて翻訳版を合算できます。
  • Umami エディターパネル。 エディターの横に、各エントリーの 7 日間と 30 日間のページビューを表示します。サイトが読了イベントを送信している場合は、読者がどこまで読み進めたかも表示します。
  • MCP ツール。 保存済みの数値から回答する、読み取り専用のツールが 4 つあります。

このプラグインは読み取り専用です。Umami やコンテンツを変更することは一切ありません。デモデータを使えば、Umami のウェブサイトがなくても試せます。

セルフホスト版 Umami 3.4.0 でテストしています。Umami Cloud への接続は Umami が公開している API に従っていますが、まだ Cloud アカウントでは実行していません。

Eisbachcode による EmDash の analytics プラグインを基にしており、MIT ライセンスです。

インストール

必要なものは次のとおりです。プラグインのサンドボックスランナーを備えた EmDash 1.0.1 以降、Umami 上のウェブサイト(Umami のトラッキングスクリプトがサイトに設置済みであること)、セルフホスト版 Umami 3.4.0 以降(API キーに対応した最初のセルフホスト版)または Umami Cloud、そして API キーを暗号化して保存できるようにサイトに設定した EMDASH_ENCRYPTION_KEY(npx emdash secrets generate で生成できます)。

  1. レジストリからプラグインをインストールし、権限を確認します。コンテンツの読み取り、スキーマの読み取り、任意のパブリックホストへのネットワークリクエストです。プラグインがリクエストするのは、設定にある Umami API の URL だけです。
  2. Umami で、ロールが「View only」のユーザーを作成します。そのユーザーを、ウェブサイトを保有するチームにチームロール「View only」で追加します。ウェブサイトがチームではなく個人のものである場合は、先にチームへ移動してください。
  3. そのユーザーとして Umami にサインインし、Settings > API keys でキーを作成します。
  4. EmDash で Plugins を開き、このプラグインの設定に進みます。キーを Umami API key に貼り付けます。
  5. セルフホスト版 Umami の場合は、Umami API URL を https://your-host/api に設定します。既定値は Umami Cloud のアドレスです。
  6. Umami のウェブサイト設定にある Umami ウェブサイト ID を入力します。空のままにすると、ダッシュボードカードにキーで参照できるウェブサイトの一覧が表示されるので、そこからコピーできます。保存します。
  7. Plugins > Umami Analytics を開き、Check setup を選びます。数値が依存するすべての項目を確認し、問題ごとに 1 文で説明します。

最初の同期は、Keep daily rows for(既定は 90 日)の範囲まで、新しいものから順にさかのぼって読み込みます。Node では、エントリー 100 件のサイトでおよそ 2 時間かかります。

各コレクションには URL パターン(コンテンツタイプの設定内)が必要です。ないとページをエントリーに対応付けられません。Cloudflare Workers では、同期に EmDash のデプロイガイドにある Cron トリガーが必要です。

セルフホスト版 Umami はパブリックなホスト名で公開されている必要があります。EmDash はプライベートアドレスを拒否するため、localhost、LAN アドレス、VPN 内だけで使える名前は使えません。

MCP ツールを使うには、Plugins でこのプラグインの Agent アクセスをオンにします。ツールが変更されるアップデートの後は、もう一度オンにしてください。

よくある質問

すべての数値がゼロと表示されるのはなぜですか? セットアップの多くのミスはエラーを出さずにゼロになります。Plugins > Umami Analytics を開いて Check setup を選んでください。見つかった問題ごとに対処法が示されます。

数値が Umami のダッシュボードと違うのはなぜですか? 日付は Time zone の設定に従います。Umami ではウェブサイトのタイムゾーンを使わないと、真夜中付近の日次の数値がずれます。/_emdash 配下のページは除外され、合計は Hostnames to count に含まれるホスト名(変更しない限り、サイトの URL とその www 付きの形)のみが対象です。

Umami Cloud で使えますか? Umami が公開している API に従っていますが、Cloud アカウントではまだ実行していません。結果はリポジトリの issue で報告してください。

Umami がサインイン用プロキシの背後にあります。 プラグインが使う 8 つの Umami API エンドポイントは、プロキシを通さずに通過させてください。README に一覧があり、Umami は各エンドポイントで API キーを確認します。

どのくらいリクエストを送りますか? 1 回の同期で Umami に送るリクエストは最大 7 件です。Umami Analytics ページを開くと 5 件です。

Umami なしで試せますか? はい。Data source を Demo data に設定し、ダッシュボードカードで Refresh を選んでください。実在するエントリーに対して、90 日分の架空のトラフィックを生成します。データソースを切り替えると保存済みの数値はすべて消去されるため、デモの数値が実際の数値と混ざることはありません。

誰が数値を見られますか? 編集者と管理者は、ダッシュボードカード、2 つの Umami ページ、MCP ツールを利用できます。投稿者は、自分のエントリーについてエディターパネルを見られます。

カテゴリー別の表はどこから来ますか? サイトが Umami トラッカーの data-before-send フックでページビューに付与するイベントデータから作られます。Views by event data に最大 3 つのプロパティ名を指定します。イベントデータを送っていないサイトでは、表は表示されません。

読了率はどのように動作しますか? 読者がエントリーの各到達位置に達したとき、サイトがカスタムイベントを送信します。たとえば post と depth を持つ post_read です。これに合わせて、4 つの読了率の設定を入力します。既定ではすべて空で、この機能はオフです。

対応言語は? 英語とドイツ語で、各ユーザーの管理画面の言語に従います。

セキュリティ

セキュリティ上の問題は、リポジトリのアドバイザリフォームから非公開で報告してください: https://github.com/shanelord01/emdash-umami-analytics/security/advisories/new

Umami API キーでできること

Umami の API キー自体には権限がありません。作成したユーザーができることは、そのキーでもすべてできます。管理者ユーザーで作成したキーは、Umami 内のすべてのウェブサイトを変更・削除できてしまうため、ロールが「View only」のユーザーで作成し、そのユーザーをウェブサイトのチームにチームロール「View only」で追加してください。そのように作成したキーは、そのチームのウェブサイトを読み取れるだけで、何も変更できません。プラグイン自体が送信するのは GET リクエストだけです。

ネットワークアクセス

プラグインは network:request:unrestricted を要求します。セルフホスト版 Umami は設定に入力するホスト上にあり、固定のホスト一覧では指定できないためです。リクエストするのは設定にある Umami API の URL(変更しない限り https://api.umami.is/v1)だけで、キーは Bearer トークンとして送ります。デモデータではリクエストは一切行いません。EmDash は、すべてのプラグインに対してプライベートアドレスを拒否します。

送信されるもの・保存されるもの

  • Umami が受け取るのは、API キー、ウェブサイト ID、集計対象のホスト名です。コンテンツがサイトの外に出ることはありません。
  • キーは暗号化された設定として保存されます(EMDASH_ENCRYPTION_KEY による AES-GCM)。このキーがない場合、EmDash は平文で保存せず、保存を拒否します。プラグインがキーをログに書き込むことはありません。
  • サイトのデータベースには、日別・パス別のページビューと訪問数、サイト全体の合計と日別のエンゲージメント、各パスとエントリーの対応およびそのエントリーのビュー数と読了率、そして同期の状態と直近 1 週間の人気ページ・参照元・国が保存されます。Keep daily rows for より古い日次の行は削除されます。

誰が何をできるか

ダッシュボードカード、Analytics ページとエントリー別ページ、MCP ツールには編集者ロールが必要です。エディターパネルには投稿者ロールが必要で、そのユーザーが編集できるエントリーのみを表示します。設定の変更には管理者ロールが必要です。

変更履歴

0.1.4

  • EmDash 1.2 以降では、ページがサイドバーの 1 つの Umami フォルダー(Analytics、Per entry)にまとめられます。アドレスは変わりません。古い EmDash では 1 つずつ表示されます。
  • 新しい権限はなく、MCP ツールにも変更はありません。

0.1.3、2026 年 10 月 9 日

  • 日付がタイムゾーンに従うようになりました。以前は UTC の日付だったため、シドニーの午前 10 時ごろより前のページビューは前日として数えられていました。新しい Time zone 設定の初期値は Australia/Sydney です。Umami のウェブサイトのタイムゾーンに合わせて設定してください。
  • アップデート時に、保存済みの数値が一度消去され、Umami から新しい順に再読み込みされます。グラフとエントリーごとのビュー数は、追い付くまでの間に少しずつ埋まっていきます。Node では 90 日分・エントリー 100 件でおよそ 2 時間、Cloudflare Workers では Cron トリガーのペースで進みます。後からこの設定を変更した場合も同様です。
  • ほかのプラグインと混同されないよう、Umami の名前を付けました: Umami Analytics ページと Umami per entry ページ(アドレスは同じ)、Umami トラフィックカード、Umami エディターパネル。
  • レジストリのページにタブ(この変更履歴を含む)とバナーを追加しました。
  • 管理画面の修正: 誤った「一致するページがありません」の表示をなくし、ダッシュボードの人気ページが 7 日間をカバーするようにし、日次グラフが系列名を表示し、エディターパネルが保存済み履歴の開始日を表示するようにしました。
  • 新しい権限はありません。MCP ツールの説明がタイムゾーン基準の日数になったため、アップデート後に EmDash が Agent アクセスをオフにします。Plugins で再度オンにしてください。

0.1.2、2026 年 10 月 1 日

  • 合計値の横にエンゲージメントを追加: 直帰率、平均滞在時間、訪問あたりのページ数を前の期間と比較して表示し、site_totals に新しい engagement フィールドを追加しました。
  • エントリーごとの読了率(4 つの設定、既定はオフ)と、オンのときだけ使う 2 つの新しい Umami エンドポイント。インストール後の追い付きも高速化しました。
  • アップデート後は、Plugins で Agent アクセスをもう一度オンにしてください。

全履歴: CHANGELOG.md。