クヌギGEO
「自社サイトが Google 検索結果・AI Overview・各 LLM 回答にどれだけ・どう露出しているか」と「GA4 で計測した実流入」を、一画面で時系列に追跡するためのウェブアプリケーションです。
クヌギGEO Ver 0.1(ベータ版)をダウンロード
kunugi_geo_Ver0.1.zip を解凍し、PHP 8.1 以上が動くサーバの公開ディレクトリ配下に配置してください。MIT ライセンスのオープンソースなので、登録・支払いなしで今すぐ使えます。
※ 必ず Basic 認証下で運用してください(後述)。
必ず最初にお読みください
導入前に下記の 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 BASICとrequire valid-userの例が含まれています。必ず自サーバの htpasswd パスへ書き換えて有効化してください。 - 不特定多数からアクセスされる URL では公開しないでください。社内 / 関係者のみがアクセスできるパスに置く想定です。
-
さらに
data/・backup/・cron/各ディレクトリには、HTTP からの直接アクセスを常時拒否する.htaccessが標準で同梱されています。Basic 認証の設定漏れがあった場合でも、SQLite DB 本体・自動バックアップ・cron スクリプトが Web 経由で参照されることを防ぐ「二段目の防壁」として機能します。
Apache 2.4+(# 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>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 でできること(概要)
左サイドバーで全機能ページにアクセスできます。下記は主な機能のショートカットです。
動作要件(最小限)
| 項目 | 要件 |
|---|---|
| PHP | 8.1 以上(PDO_SQLITE / mbstring / json / curl が有効) |
| Web サーバ | Apache 2.4+(mod_rewrite / mod_headers が有効)。Nginx でも動きますが .htaccess 相当を別途設定してください |
| SQLite | 3.34 以上(PHP に同梱されているもので可) |
| 外部 API | DataForSEO アカウント(必須)/Google Cloud OAuth(GA4 を使う場合) |
| cron | 毎日決まった時刻に php cron/run_survey.php --product=all を回す(任意・推奨) |
mod_rewrite + SQLite 同梱)でそのまま動作します。Cron も Xserver サーバーパネルの「Cron 設定」から GUI で登録できます(インストール方法 → Xserver での Cron 設定例を参照)。