トップ / ダッシュボード
ダッシュボード
このページでできること
- 選択中プロダクトの「登録 URL 数」「最新解析済み件数」「エラー URL 数」「Google 対応 URL 数」を一目で把握できます。
- cron 自動実行が有効か(どの日に実行されるか)が一行で確認できます。
- 直近のクロール 5 件分の Run サマリーを表示し、エラー発生の傾向を素早くつかめます。
URL: pages/dashboard.php?product_id=<id>。ログイン後の初期ランディングページ(システム管理者の場合)。サイドバー最上段の「ダッシュボード」から開きます。システム管理者専用のページです。
プロダクト管理者の場合のランディング
プロダクト管理者ロールでログインすると、ダッシュボード自体は表示されず、最初に許可された画面(通常は URLの追加・修正・削除)に直接遷移します。
表示状態のパターン
| 状態 | 表示 |
|---|---|
| プロダクトが 1 件もない | 「はじめに」カード。プロダクト管理 へのリンクを案内。 |
| プロダクトはあるが未選択(上部セレクタが「— 選択してください —」) | 「プロダクトを選択してください」カード。 |
| プロダクト選択済み | KPI グリッド + プロダクト概要 + 直近のクロール実行テーブル。 |
KPI グリッド(5 つのカード)
| カード | 意味 | データ元 |
|---|---|---|
| 登録 URL 数 | 事前登録された URL の件数(URLの追加・修正・削除 で登録した本数) | product_urls WHERE product_id |
| 解析済み URL 数 (最新) | 最新クロールが完了している URL の本数 | latestResultsByUrl() の行数 |
| エラー URL | 最新クロールで is_error=1 になっている URL 件数(赤色強調) | listErrors() の行数 |
| Google 対応 URL | 最新クロール結果が 1 つ以上の Google リッチリザルト対象型を含む URL の件数 + 該当機能ラベル | GoogleSchemaRegistry::allMatches() を使った集計 |
| Cron 自動実行 | 有効ならば「毎月 N, M, ... 日」、未設定なら「未設定」と表示 | cron_schedule の days_json + enabled |
「登録 URL 数」と「解析済み URL 数」の差
この 2 つの値が一致していれば、登録 URL すべてに最新クロールの結果が紐づいています。一致していない場合は、新しく追加した URL がまだ未取得です。手動でクロール実行 から取得してください。
プロダクト概要カード
選択中プロダクトの名前と説明文を表示します。下部にアクションボタンが 3 つ並んでいます。
- 事前登録 URL を管理: URLの追加・修正・削除 へ。
- 手動でクロール実行: 手動でクロール実行 へ。
- 結果を確認: 結果一覧/詳細 へ。
直近のクロール実行(5 件)
このプロダクトの crawl_runs から新しい順に 5 件を表示します。cron が想定どおり走っているかとエラー件数の推移をざっくり確認できます。
| 列 | 内容 |
|---|---|
| # | crawl_runs.id |
| 開始 / 終了 | started_at / finished_at(途中で停止した場合は空欄) |
| トリガー | manual(手動実行)/cron(自動実行) |
| 件数 | total_urls |
| 成功 / 失敗 | success_count / error_count |
| 遅延 | その実行で使われたクロール間隔(秒) |
5 件より前のクロール履歴は
画面 UI では出していませんが、
crawl_runs と crawl_results 両テーブルには蓄積され続けています。詳細な履歴比較が必要な場合は、SQLite を直接参照するか、CSV ダウンロード で最新スナップショットを定期的に保存することで「過去の CSV と差分を取る」運用ができます。