Beta · v0.1

クヌギGEO

「自社サイトが Google 検索結果・AI Overview・各 LLM 回答にどれだけ・どう露出しているか」と「GA4 で計測した実流入」を、一画面で時系列に追跡するためのウェブアプリケーションです。

クヌギGEO は MIT ライセンスで無料公開しています

本ソフトウェア自体の利用料・サブスクリプションは一切かかりません。商用・非商用を問わず、改変・再配布も自由に行えます。

※ ソフトウェアは無料ですが、検索順位・AI 言及データの取得には外部サービス DataForSEO の従量課金 API が別途必要です。月額のおおよそのコストは DataForSEO 料金シミュレーション で試算できます。

クヌギGEO Ver 0.1(ベータ版)をダウンロード

kunugi_geo_Ver0.1.zip を解凍し、PHP 8.1 以上が動くサーバの公開ディレクトリ配下に配置してください。MIT ライセンスのオープンソースなので、登録・支払いなしで今すぐ使えます。

※ 必ず Basic 認証下で運用してください(後述)。

kunugi_geo_Ver0.1.zip デモ画面(sample)

必ず最初にお読みください

導入前に下記の 5 項目を必ずご確認ください。とくに「Basic 認証」「DataForSEO の課金」「GA4 OAuth」は、見落とすと予期せぬ課金や連携失敗の原因になります

① これは「ベータ版」です

本ツールは v0.1(ベータ版) です。本番運用に耐えうる動作確認は行っていますが、機能追加に伴いエラーが発生する可能性があります。重要な意思決定に使う前に、ご自身の環境で十分な検証を行ってください。

  • DB は SQLite を使用。定期バックアップを必ず取得してください(自動取得もありますが、別ストレージへの退避を推奨)。
  • 不具合に遭遇した場合は再現手順とログ(data/cron.log・ブラウザの DevTools コンソール)を控えておくと原因特定が容易です。

② MIT ライセンスで配布しています

商用・非商用を問わず利用・改変・再配布できますが、トラブルを避けるために、以下の点を明記しておきます。

  • 無保証です。使った結果のいかなる損害(売上ロス、データ消失、API 課金、情報漏えい等)も作者・配布元は責任を負いません。
  • 再配布される際は、著作権表示と MIT 許諾表示を、ご自身の都合の良いファイル(README、ABOUT、画面のクレジット欄、ソース内コメント、LICENSE ファイルなど、形式は問いません)に記載していただければ大丈夫です。同梱の LICENSE ファイルをそのまま残すのが一番手軽な方法です。
  • 同梱の Chart.js(vendor/chartjs/)も MIT ライセンスです。こちらも同じく、著作権表示と許諾表示がどこかに残っていれば問題ありません(最も手軽なのは vendor/chartjs/LICENSE をそのまま残す方法)。
  • 本ツールを組み込んだサービスを有償で提供することも可能です。再販時にご自身のサービスとして独自に保証・サポートを付けるかどうかは、再販者の自由です(保証付きで提供しても、無保証のまま提供しても問題ありません)。ただし、本ツール本体(クヌギGEO Project Contributors)の作者・配布元は、再販者および再販先のエンドユーザーに対して、いかなる保証も負いません。本ツールに起因するトラブルや損害があった場合の対応・補償は、再販者ご自身の責任で行ってください。

③ Basic 認証下での運用を強く推奨

クヌギGEO 自体にもログイン機能はありますが、Web サーバ側の Basic 認証を組み合わせ、二重に保護した状態で運用することを強く推奨します。理由は以下のとおりです。

  • SQLite DB に DataForSEO API のパスワードGoogle OAuth クライアントシークレットGA4 アクセストークン/リフレッシュトークンが平文で保存されます。万一画面が外部に公開されてしまうと、これらの認証情報が漏えいし、第三者が他ユーザーの GA4 データへアクセスできてしまう恐れがあります。
  • 同梱の .htaccess には AuthType BASICrequire valid-user の例が含まれています。必ず自サーバの htpasswd パスへ書き換えて有効化してください。
  • 不特定多数からアクセスされる URL では公開しないでください。社内 / 関係者のみがアクセスできるパスに置く想定です。
  • さらに data/backup/cron/ 各ディレクトリには、HTTP からの直接アクセスを常時拒否する .htaccess が標準で同梱されています。Basic 認証の設定漏れがあった場合でも、SQLite DB 本体・自動バックアップ・cron スクリプトが Web 経由で参照されることを防ぐ「二段目の防壁」として機能します。
    # data/, backup/, cron/ の .htaccess に同梱されているディレクティブ
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
    </IfModule>
    Apache 2.4+(mod_authz_core 有効)では Require all denied、それ未満(2.2 系)では Deny from all がそれぞれ適用され、サーバ側のモジュール構成に依存せず確実に拒否されます。これらの .htaccess は削除・改変しないでください。

④ DataForSEO API が必須です(実費がかかります)

検索結果順位 / AI Overview / AI Mode / ChatGPT / Claude / Gemini / Perplexity の取得は、すべて DataForSEO 経由で実施します。事前にアカウントを作成し、ログイン名・パスワードを取得しておく必要があります。

  • 無料お試しクレジット: 公式 FAQ・登録ページによれば、個人メールでの登録は $1ビジネスメールでの登録は $5 のテストクレジットが付与されます(2026-04 時点・公式 FAQ)。
  • 本格運用には最低 $50 のデポジット(入金)が必要です。
  • 1 キーワード × 1 軸あたりのコストは Live モードで $0.0008〜$0.001 程度(モデルにより上下)です。コスト試算は manage/survey.php(手動調査画面)に常時表示されます。本ドキュメントの DataForSEO 料金シミュレーション でも、キーワード数や軸を入力して概算コストを試算できます。
  • 取得方式は「Live(即時・最高コスト)」「Priority Queue(高優先度キュー・中コスト)」「Standard Queue(標準キュー・最安)」から選べます(DataForSEO API 管理を参照)。

⑤ GA4 連携に必要な「事前準備」

GA4 流入レポート・GA4 × AI 言及相関を使うには、Google Cloud Console での設定が必須です。下記を順に揃えてください(詳細は GA4 連携(OAuth) ページ)。

  • Google Cloud プロジェクトを作成(Google Cloud Console)。
  • 「APIとサービス」→「ライブラリ」から Google Analytics Data API(analyticsdata.googleapis.comを有効化。
  • 「OAuth 同意画面」を構成(外部 / 内部、アプリ名、サポートメール、開発者連絡先)。
  • 「認証情報」→「OAuth 2.0 クライアント ID」を作成(種別: ウェブ アプリケーション)。
  • 「承認済みのリダイレクト URI」に クヌギGEO の https://<あなたのサイト>/api/ga4_callback.php を登録(実際の URI はクヌギGEO の GA4 連携 画面で確認できます)。
  • 必要スコープ: https://www.googleapis.com/auth/analytics.readonly(読み取り専用)と openid / email / profile
  • 連携対象の GA4 プロパティ ID(数字のみ・例: 123456789)を控える。GA4 管理画面の「管理 → プロパティ設定」で確認できます。
  • OAuth 同意画面が「テスト」段階の場合は、利用する Google アカウントを「テストユーザー」に必ず追加してください。
  • 連携する Google アカウントは、対象 GA4 プロパティに対して少なくとも閲覧者(Viewer)以上の権限が必要です。

クヌギGEO でできること(概要)

左サイドバーで全機能ページにアクセスできます。下記は主な機能のショートカットです。

動作要件(最小限)

項目要件
PHP8.1 以上(PDO_SQLITE / mbstring / json / curl が有効)
Web サーバApache 2.4+(mod_rewrite / mod_headers が有効)。Nginx でも動きますが .htaccess 相当を別途設定してください
SQLite3.34 以上(PHP に同梱されているもので可)
外部 APIDataForSEO アカウント(必須)/Google Cloud OAuth(GA4 を使う場合)
cron毎日決まった時刻に php cron/run_survey.php --product=all を回す(任意・推奨)
動作確認済み環境 エックスサーバー(Xserver)の PHP 8.3.30 で動作確認しています。Xserver の標準構成(Apache + mod_rewrite + SQLite 同梱)でそのまま動作します。Cron も Xserver サーバーパネルの「Cron 設定」から GUI で登録できます(インストール方法 → Xserver での Cron 設定例を参照)。
次のステップ まずは インストール方法 を参照し、サーバへ配置 → Basic 認証設定 → 初期管理者作成 → DataForSEO 連携 → GA4 連携 → プロダクト追加 → キーワード登録 → 調査実行、の順に進めてください。