コンテンツにスキップ
アナリティクス (Umami)

アナリティクス (Umami)

軽量でプライバシーに配慮した分析システムである Umami を統合します。オプションの「ブロックされたスクリプト」通知、ページごとのビュー数表示、テーマコンポーネントの組み込みインタラクションイベントを備えています。

Umami スクリプトの注入

hugo.toml に設定します:

[params.analytics]
  provider = 'umami'

  [params.analytics.providers.umami]
    # Note: Umami script URL.
    scriptUrl = 'https://analytics.example.com/script.js'
    # Note: Website ID from your Umami dashboard.
    websiteId = 'your-website-id'

    # Optional: show a friendly notice if the script is blocked by an ad blocker.
    # When enabled, a multi-step dialog guides the reader through:
    #   1. A greeting explaining why Umami is used
    #   2. What data is collected
    #   3. Why the script may be blocked
    #   4. How to whitelist the site in common ad blockers
    blockNotice = true

ページビュー

Umami の公開 API を呼び出して、記事タイトルの下にページビュー数を表示します。

[params.analytics.providers.umami.pageviews]
  # Note: Umami instance base URL (do not include /script.js).
  host = 'https://analytics.example.com'

  # Note: Share ID for this site.
  # Note: Enable "share URL" in Umami; the last random string in the link is the ID.
  shareId = 'your-share-id'

組み込みインタラクションイベント

スクリプトが注入された後、テーマは追加のテンプレート設定なしで一般的なインタラクションの Umami カスタムイベントを自動的に報告します。

  • 読書フロー: scroll_depth, open_outline, close_outline, click_outline_item
  • コンテンツ操作: copy_code, copy_permalink, click_outbound_link, click_tag
  • グローバルナビゲーション: open_mobile_menu, close_mobile_menu, open_pages_menu, click_nav_link
  • UI 設定: open_settings_panel, change_theme_mode, change_glass_strength, change_reader_width, change_background_provider
  • リストとサイドモジュール: load_more_posts, reach_list_end, click_article_card, view_comments, click_edit_source, view_pageviews_widget

イベントリファレンス

以下のリストは、テーマが現在発行するすべての組み込み Umami カスタムイベントを網羅しています。

ページと読書

イベント意味主な追加フィールド
scroll_depth読者が深さのしきい値に到達したときに発火。現在のしきい値は 25 / 50 / 75 / 100 で、同じページに複数のエントリが表示されるのは正常です。depth
open_outlineモバイル記事アウトラインオーバーレイが開かれたときに発火。heading_count
close_outlineモバイル記事アウトラインオーバーレイが閉じられたときに発火。なし
click_outline_item記事アウトライン内の見出しリンクがクリックされたときに発火。heading_id, heading_level
view_pageviews_widgetページビューウィジェットがデータとともに正常に表示された後に発火。なし
view_commentsコメントセクションがビューポートに入り、可視しきい値を満たしたときに発火。provider

コンテンツ操作

イベント意味主な追加フィールド
copy_codeコードブロックが正常にコピーされた後に発火。lang, line_count
copy_permalink記事のパーマリンクが正常にコピーされた後に発火。title
click_outbound_link記事コンテンツ内の外部リンクがクリックされたときに発火。target_url, target_host, link_text, link_position
click_edit_source「このページを編集」またはソースリンクがクリックされたときに発火。target_url, target_host
click_tagタグエントリがクリックされたときに発火。tag

ナビゲーションとリスト

イベント意味主な追加フィールド
open_mobile_menuモバイルメニューが開かれたときに発火。position
close_mobile_menuモバイルメニューが閉じられたときに発火。position
open_pages_menuトップバーの Pages パネルが開かれたときに発火。position
click_nav_linkテーマのナビゲーションリンクがクリックされたときに発火。label, target_path, position
click_article_card記事カードがクリックされて詳細ページが開かれたときに発火。target_path, title, position
load_more_posts無限スクロールが次のページの投稿を正常に読み込んだときに発火。feed, current_page, next_page
reach_list_end無限スクロールがリストの終端に達したときに発火。feed, page

設定と環境設定

イベント意味主な追加フィールド
open_settings_panel設定パネルが開かれたときに発火。なし
change_theme_modeテーマモードが自動、ライト、ダークに変更されたときに発火。mode
change_glass_strengthアクリル強度の値が変更されたときに発火。strength
change_reader_width読書幅が変更されたときに発火。width
change_background_provider背景プロバイダーが URL、アップロード、Pixaroa の間で変更されたときに発火。provider

Umami エントリの読み方

  • /zh-hans/pages/affiliates/ のような単純なパスは Umami の組み込みページビュー記録であり、テーマ定義のカスタムイベントではありません。
  • Visitor from ... using ... は、場所、ブラウザ、オペレーティングシステム、デバイスタイプの Umami セッションサマリーです。
  • view_pageviews_widget on /... は、ページビューウィジェットが正常に表示されたことを意味します。
  • view_comments on /... は、コメントセクションがビューポート内で可視になったことを意味します。
  • 同じページに複数の scroll_depth エントリがある場合、通常は読者が 25%、50%、75%、100% のしきい値を順に超えたことを意味します。

注意事項

  • プライバシーファースト: 分析は Umami が処理します。テーマは有効な場合にのみ結果を表示します。
  • グレースフルデグラデーション: リクエストがブロックされた場合(ネットワーク/広告ブロッカー)、ページビュー項目は壊れた UI を表示する代わりに非表示になります。
  • 一貫したコンテキスト: 各イベントには、Umami でのフィルタリングを容易にするために、ページパス、ロケール、ページタイプが自動的に含まれます。
最終更新日 • alexma233