これは、Web クローラーのページビューに関するダッシュボードレポートの SQL バージョンです。
このダッシュボードレポートは、指定された期間における、Web クローラーからサイトが受け取る 1 日あたりの総ページビューを示します。Web クローラーの動作を理解することは、サイト管理者が検索エンジンのボットがサイトをどのくらいの頻度で訪問およびインデックス作成しているかを理解するのに役立ちます。
-- [params]
-- date :start_date = 2024-01-07
-- date :end_date = 2024-02-08
SELECT
ar.date::date AS "date",
SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler Views"
FROM application_requests ar
WHERE req_type IN (6)
AND ar.date::date BETWEEN :start_date AND :end_date
GROUP BY date
ORDER BY date
SQL クエリの説明
このクエリは、Web クローラーからのリクエストを含む、Discourse アプリケーションへのさまざまな種類のリクエストを記録する application_requests テーブルに対して操作を行います。クエリの動作を段階的に説明します。
- パラメータ:
- このクエリは、レポートの期間を定義する
:start_dateと:end_dateの 2 つのパラメータを受け入れます。両方の日付パラメータはYYYY-MM-DDの形式を受け入れます。
- このクエリは、レポートの期間を定義する
- 選択とフィルタリング:
- クエリは、
req_typeが6であるapplication_requestsテーブルからレコードを選択します。req_type列はリクエストの種類を分類し、値6は Web クローラーによって行われたリクエストを具体的に識別します。 - さらに、
:start_dateおよび:end_dateパラメータを使用して、指定された日付範囲内にあるレコードのみを含めるようにこれらのレコードをフィルタリングします。
- クエリは、
- 集計:
- クエリは、リクエストの日付 (
ar.date::date) で結果をグループ化します。このグループ化により、クローラーのビューを日ごとに集計できます。 - 次に、各グループの
ar.countの合計を計算します。ここでar.countはクローラーリクエストの数を示します。この合計は、出力で"Crawler Views"としてラベル付けされます。
- クエリは、リクエストの日付 (
- 並べ替え: 最後に、結果は昇順で日付別に並べ替えられます。この並べ替えにより、指定された期間のクローラーアクティビティの傾向を簡単に視覚化できます。
結果例
| date | Crawler Views |
|---|---|
| 2024-01-07 | 3217 |
| 2024-01-08 | 2342 |
| 2024-01-09 | 3995 |
| 2024-01-10 | 3667 |
| 2024-01-11 | 3095 |
| … | … |