ダッシュボードレポート - Webクローラーのページビュー

これは、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_type6 である 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
「いいね!」 1