# Dashboard Report - Pageview Web Crawler

**URL:** <https://meta.discourse.org/t/dashboard-report-web-crawler-pageviews/294745>\
**Category:** Data & reporting\
**Tags:** sql-query, dashboard-reports, dashboard-sql\
**Created:** [8 Febbraio 2024, 9:02pm UTC](https://meta.discourse.org/t/dashboard-report-web-crawler-pageviews/294745 "2024-02-08T21:02:18Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![SaraDev](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/saradev/32/335139_2.png) [@SaraDev](https://meta.discourse.org/u/SaraDev)\
**Post date:** [8 Febbraio 2024, 9:02pm UTC](https://meta.discourse.org/t/dashboard-report-web-crawler-pageviews/294745/1 "2024-02-08T21:02:18Z")

</div>

Questa è una versione SQL del report della dashboard per le visualizzazioni di pagine del web crawler.

Questo report della dashboard mostra le visualizzazioni totali di pagine che un sito riceve dai web crawler al giorno, in un intervallo di date specifico. Comprendere il comportamento dei web crawler può aiutare gli amministratori del sito a capire quanto frequentemente i bot dei motori di ricerca visitano e indicizzano il loro sito.

```sql
-- [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

```

### Spiegazione della query SQL

La query opera sulla tabella `application_requests`, che registra vari tipi di richieste effettuate all’applicazione Discourse, comprese quelle effettuate dai web crawler. Ecco una ripartizione passo passo di come funziona la query:

- **Parametri** :
  - La query accetta due parametri, `:start_date` e `:end_date`, che definiscono l’intervallo di tempo per il report. Entrambi i parametri di data accettano il formato `AAAA-MM-GG`.

- **Selezione e filtraggio** :
  - La query seleziona i record dalla tabella `application_requests` in cui `req_type` è `6`. La colonna `req_type` categorizza il tipo di richiesta e un valore di `6` identifica specificamente le richieste effettuate dai web crawler.
  - Filtra ulteriormente questi record per includere solo quelli che rientrano nell’intervallo di date specificato, utilizzando i parametri `:start_date` e `:end_date`.

- **Aggregazione** :
  - La query raggruppa i risultati per data della richiesta (`ar.date::date`). Questo raggruppamento consente l’aggregazione delle visualizzazioni dei crawler al giorno.
  - Calcola quindi la somma di `ar.count` per ciascun gruppo, dove `ar.count` rappresenta il numero di richieste dei crawler. Questa somma è etichettata come `"Crawler Views"` nell’output.

- **Ordinamento** : Infine, i risultati sono ordinati per data in ordine crescente. Questo ordinamento facilita la visualizzazione delle tendenze dell’attività dei crawler nel periodo specificato.

### Risultati di esempio

| data | Visualizzazioni Crawler |
| --- | --- |
| 2024-01-07 | 3217 |
| 2024-01-08 | 2342 |
| 2024-01-09 | 3995 |
| 2024-01-10 | 3667 |
| 2024-01-11 | 3095 |
| … | … |

---

_[View the full topic](https://meta.discourse.org/t/dashboard-report-web-crawler-pageviews/294745)._
