セルフホストできる Google アナリティクスの代替:Umami と Plausible の選び方とデプロイ
オープンソースで Cookie を使わないアクセス解析ツール、Umami と Plausible を比較し、Zenavo で自分のサーバーにデプロイします。最初のアカウントの保護、トラッキングスクリプトの設置、データの確認、バックアップまで説明します。
この記事は English、简体中文、繁體中文、Español、Bahasa Indonesia でもお読みいただけます。
多くのサイトが知りたいのは、今日の訪問者数、どこから来たのか、どのページが読まれたのか、といったいくつかのことです。Google アナリティクスでも分かりますが、設定が複雑で、データは第三者のもとに置かれ、たいてい Cookie バナーも必要になります。
Umami と Plausible は、すっきりしたダッシュボードを備えたオープンソースのアクセス解析ツールです。デフォルトでは Cookie を使わず、データは自分のデータベースに保存されます。Zenavo にはそれぞれのテンプレートがあり、レンタルまたは所有しているサーバーで数分のうちに動かせます。
どちらを選ぶか
| Umami | Plausible Community Edition | |
|---|---|---|
| サービス | Umami + PostgreSQL | Plausible + PostgreSQL + ClickHouse |
| メモリ | 少なめ。小さなサーバーをほかのアプリと共有できます | テンプレートの要求は約 2 GB |
| 向いている用途 | 個人サイト、複数の小規模サイト、手間を最小限にしたい場合 | アクセスが多い場合、または Plausible のレポートが気に入っている場合 |
| 最初のサインイン | デフォルトの管理者アカウント。すぐにパスワードを変更します | 最初のアカウントを登録します |
| メール | 不要 | 招待とパスワードリセットに必要(SMTP) |
迷ったら Umami から始めてください。軽量で、バックアップや移行の対象も PostgreSQL 1つだけです。アクセスが PostgreSQL の手に負えなくなったら、ClickHouse ベースの Plausible を検討しましょう。
どちらも Cookie を使いませんが、それでもプライバシーに関する告知や同意が必要かどうかは、お住まいの地域の法律と収集する内容によって異なります。ご自身で確認してください。また、広告ブロッカーの中にはこれらのスクリプトもブロックするものがあるため、計測値は実際の訪問数より少し少なくなります。
Umami をデプロイする
Zenavo に Linux サーバーを接続し、Umami テンプレートを開いて、サーバーを選んでデプロイします。次の2つのサービスが作成されます。
- postgresql:PostgreSQL 17。データは
/var/lib/postgresql/dataボリュームに保存され、パスワードは自動生成されます。 - umami:
ghcr.io/umami-software/umami:postgresql-latest。HTTP ポートは3000で、DATABASE_URLで接続し、APP_SECRETは自動生成されます。
umami サービスの Networking タブで、stats.example.com などのドメインをポート 3000 に割り当て、DNS を設定して HTTPS が有効になるのを待ちます(ドメインと HTTPS)。
ドメインにアクセスできるようになったら、すぐにサインインしてください。 Umami のデフォルトの管理者はユーザー名 admin、パスワード umami です。すぐに Settings → Profile でパスワードを変更し、Security で二要素認証をオンにしてください。それまでは、アドレスを見つけた人なら誰でもデフォルトのパスワードでサインインできてしまいます。
続いて Settings → Websites でサイトを追加し、表示されたトラッキングコードをコピーします。
Plausible をデプロイする
Plausible テンプレートを開きます。デプロイの前に Site URL の入力を求められます。これは Plausible を開くときの完全なアドレスで、https://stats.example.com のような形式です。次の3つのサービスが作成されます。
- postgresql:アカウントとサイトの設定を保存します。
- clickhouse:訪問イベントを保存します。小さなサーバー向けに、スレッド数とログを抑えてあります。
- plausible:Community Edition
v3.1.0。HTTP ポートは8000で、起動時にデータベースの作成とマイグレーションを行います。
デプロイ後、plausible サービスに 同じ ドメインを割り当ててください。Site URL とドメインが異なると、サインインとスクリプトのアドレスが正しく動作しません。アドレスを変更するには、BASE_URL 変数を編集して再デプロイします。
ClickHouse には、SSE 4.2(x86)または NEON(ARM)に対応した CPU が必要です。一般的なクラウドサーバーなら対応していますが、非常に古いマシンでは起動に失敗することがあります。
サイトを開き、最初のアカウントを登録します。Plausible CE のデフォルトは DISABLE_REGISTRATION=invite_only で、最初のアカウント以降は招待された人だけが参加できます。
招待とパスワードリセットにはメールが必要です。plausible サービスの Variables に MAILER_EMAIL、SMTP_HOST_ADDR、SMTP_HOST_PORT、SMTP_USER_NAME、SMTP_USER_PWD などの SMTP 設定を追加し、再デプロイします。各項目の説明は Plausible の設定ページにあります。SMTP のパスワードは変数にだけ保存し、リポジトリには決して置かないでください。
サインインしたら Add a website をクリックし、計測するドメインを入力して、表示されたトラッキングコードをコピーします。
スクリプトを設置して動作を確認する
コピーした <script> を、すべてのページの <head> に設置します。Next.js や Vue などのフレームワークでは共通のレイアウトに追加し、WordPress や Ghost などの CMS では、テーマまたはサイトのヘッダーコードの設定を使います。
スマートフォンやプライベートウィンドウで自分のサイトを開きます。数秒以内に、Umami の Realtime ビューや Plausible の現在の訪問者数に訪問が表示されるはずです。何も表示されない場合は、次を確認してください。
- ブラウザの開発者ツールの Network パネルで、スクリプトのリクエストが 200 を返しているか
- 広告ブロッカーをオフにして、もう一度試す
- サイトのドメインが、Umami または Plausible に追加したウェブサイトと一致しているか
バックアップ
統計データはすべてデータベースにあります。Umami の場合は postgresql サービスをバックアップします。Plausible の場合、アカウントは postgresql に、訪問イベントは clickhouse のボリュームにあるため、両方を保管してください。
PostgreSQL は、データベースサービスの Backup & Restore タブから直接バックアップできます。ClickHouse はボリュームなので、バックアップ中はプロジェクトを停止してください。重要なデータは、バックアップをダウンロードして手元に保管し、一度新しいプロジェクトに復元して、正しく動作することを確かめておきましょう。詳しくはバックアップと復元をご覧ください。
よくある質問
Google アナリティクスの過去のデータをインポートできますか?
Plausible CE では、Google Cloud で OAuth 認証情報を作成し、plausible サービスの変数に GOOGLE_CLIENT_ID と GOOGLE_CLIENT_SECRET を追加すれば、Google アナリティクス 4 の過去のデータをインポートできます。Plausible のインポートガイドをご覧ください。Umami については、最新のドキュメントを確認してください。
1つの Umami で複数のサイトを計測できますか? はい。Websites で各サイトを追加すると、それぞれに専用のトラッキングコードが発行されます。
アクセス解析が停止したら、サイトも動かなくなりますか? いいえ。スクリプトの読み込みに失敗してもページの表示は止まりません。その間の訪問が計測されないだけです。
Plausible の起動がいつまでも終わらない場合は? clickhouse と plausible の各サービスのログを確認してください。たいていは、サーバーのメモリが不足しているか、CPU が ClickHouse に必要な命令に対応していないことが原因です。
まずは Umami テンプレートまたは Plausible テンプレートから始めましょう。最初に管理者アカウントを保護し、続いてスクリプトを設置し、データが届くことを確認してから、バックアップを取ってください。
コーディングエージェントが読む内容です(https://zenavo.app/ja-JP/blog/umami-vs-plausible.md)。
Markdown を読み込めませんでした。直接開いてください: https://zenavo.app/ja-JP/blog/umami-vs-plausible.md