機能・アクセス解析

アクセスを数えます。追跡はしません。

アプリごとのアクセス数、よく見られているページ、主な流入元を、Tofu自身のサーバーで数えます。Cookieも他のサービスのスクリプトも使わず、IPアドレスも保存しません。アクセス解析のアカウントを作る必要もありません。

ドキュメントを読むエージェントのセットアップ

エージェントが呼び出すツール

  • siteAnalytics
  • setSiteAutoInject
claude · ~/franks-kitchen例

Count visits to franks-kitchen.

tofu · siteAnalytics

site key tfsk_…a41c issued · snippet ready

Update(app/layout.tsx)

1 line added · collect.js, no cookie

tofu · ingest ~/franks-kitchen

code updated · settings kept

tofu · deploy

ready · HTTP 200 · publicly reachable

1⁠行か、なし

1⁠行で済みます。0⁠行でも構いません。

アプリごとに、サイトキーが1⁠つとコードが1⁠行あります。キーが示すのは、どのアプリかと、データを送ってよいアドレスだけです。trytofu.appのアドレスと、接続したドメインです。

ウェブフレームワークで作ったアプリなら、エージェントがレイアウトに1⁠行を追加してデプロイします。ビルド済みの静的サイトなら、スイッチを1⁠つオンにすると、Tofuがデプロイ時に追加します。追加されるのは公開用のコピーだけで、保存されているファイルは一切変更しません。追加されなかった場合は、そのことがアクセス解析のセクションに表示されます。

app/layout.tsx1⁠行
<head>
  <script defer
    src="https://trytofu.ai/collect.js"
    data-site="tfsk_…"></script>
</head>
アクセス解析のセクションからコピーするか、エージェントに追加してもらいましょう。キーは公開が前提です。もともとページのソースに載っているものですから。

追跡ツールなしで数える

訪問者のプライバシーは、 仕組みで守ります。

スクリプトの配信もデータの受け取りも、Tofu自身が行います。小さなスクリプトはTofuのドメインから読み込まれ、計測データはTofuのサーバーに届きます。訪問者に関する情報がTofuの外に出ることはありません。

  • Cookie

    0

    ブラウザに何も保存しない

    消すものがないので、Cookieバナーを出す必要もありません。

  • 外部スクリプト

    0

    Tofu自身のドメインから1⁠つだけ

    送信先もTofu自身のサーバーです。ページに他社のコードは入りません。

  • 保存するIPアドレス

    0

    メモリ上で使うだけで、保存しない

    ユニーク訪問者を数えるときは、IPアドレスを毎日変わる短い文字列に変換して使います。日をまたいで誰かを追跡することはできません。

  • 保存する日数

    90

    その後は毎日、自動で削除

    365⁠日を超えて保存することはありません。アプリを削除すると、そのアクセス解析のデータも一緒に消えます。

Do Not TrackとGPCを2⁠回確認

ブラウザで確認し、サーバーでもう一度確認します。どちらかのシグナルがオンなら、その閲覧は一切記録しません。

URL全体ではなく、パスだけ

URLの?や#より後ろは、記録する前に取り除きます。パスのうち、IDのような部分は「:id」に置き換えます。URLに含まれる検索語やパスワード再設定用のトークンが保存されることはありません。

誰のアカウントにも結び付けない

閲覧をサインイン中のユーザーに結び付けることはありません。サイトキーはアプリを識別するだけで、それを使って何かを読み取ったり変更したりすることはできません。

見えるもの

あなたの数字は、 ダッシュボードにもエージェントにも。

項目内容
閲覧数数えたページ読み込みをUTCの日付ごとにまとめ、閲覧のない日も残します。
上位10⁠件のパス記録するのはパスだけです。パスの中のIDのような部分は「:id」にまとめます。
上位10⁠件の参照元記録するのは参照元サイトのホスト名だけです。そのサイトのどのページから来たかは記録しません。
訪問者数訪問者数を出せるのは、Tofuで訪問者を数えるためのソルトが設定されているときだけです。設定がない場合は「—」と表示し、推測値は出しません。

数字は「アクセス解析」で確認するか、エージェントに聞いてください。siteAnalyticsは、1〜90⁠日の任意の期間を指定できます。取得できない値は0ではなく、「unavailable」という状態で返されます。

claude · ~/franks-kitchen1⁠週間のサンプル

How many people saw the booking page this week?

tofu · siteAnalytics days: 7

1,284 views · 7 days

top paths · /book 412 · / 388

top sources · google.com 214 · instagram.com 96

The booking page had 412 views this week — counted as views, not people. Most visits came from Google.

近日対応

  • ページ読み込み1⁠回で閲覧1⁠回。 ページ全体を読み込み直さずに画面を切り替えるアプリでは、その切り替えは新しい閲覧になりません。そのため、閲覧数は実際より少なくなります。

  • クローラーも人と同じように数えます。 ボットかどうかは判定しません。そのため、Do Not Trackを送らないクローラーも1⁠回の閲覧として数えます。

  • エクスポートもwebhookもありません。 数字はダッシュボードで見るか、エージェントに聞いてください。CSVもwebhookもありません。

  • 記録には上限があります。 1⁠分あたりの上限を超えた閲覧は記録されません。アクセスが集中したり急増したりすると、実際より少なく数えることがあります。ページが遅くなることはありません。

  • 計測コードを自動で追加できるのは、ビルド済みの静的サイトだけです。 Next.jsを含むフレームワークアプリでは、計測コードをアプリ自身のレイアウトに書きます。自動追加のスイッチはそうしたアプリには何も追加しません。自動追加が行われなかったことは、「アクセス解析」にも表示されます。

  • エンゲージメントもWeb Vitalsも計測しません。 直帰率、ページの滞在時間、読み込みに関する指標は計測しません。

プロンプトを1⁠つ貼る。10⁠分でオンライン。

アプリも、データベースも、ドメインも、サインインも。いつものエージェントを使えば、約10⁠分でそろいます。

無料で始める