Documentazione

Accorgiti per primo di un feed fermo o di una sitemap vuota

I file XML raramente si rompono in modo evidente. Il job che scrive il feed RSS si ferma e il server continua a servire l'ultimo file prodotto — per settimane, finché un lettore non chiede perché non compare più nulla di nuovo. Un deploy rigenera la sitemap senza alcun URL, oppure con l'hostname di staging in ciascuno, e il traffico dai motori di ricerca cala così lentamente che nessuno lo collega al rilascio. Un export per un partner si interrompe a metà e la sua importazione notturna fallisce.

Tutti questi casi rispondono 200 OK. Pingsured analizza l'XML e controlla cosa contiene.

Cosa controllare

Un feed RSS:

XPathOperatoreValore
/rss/channel/itemcompare almeno1
/rss/channel/item[1]/pubDateetà minore di172800

La seconda riga fallisce quando l'elemento più recente ha più di due giorni: impostala in base a quanto spesso pubblichi. Per un feed Atom, gli stessi controlli sono /feed/entry e /feed/updated.

Una sitemap:

XPathOperatoreValore
/urlset/urlcompare almeno50
//loc[contains(., 'staging.')]non esiste

La prima riga rileva una sitemap che ha perso le sue pagine; la seconda una sitemap che indirizza i motori di ricerca all'host sbagliato.

Il namespace dichiarato da una sitemap o da un feed Atom non va indicato nell'espressione: /urlset/url funziona così com'è scritto.

Date nei feed

Gli operatori sull'età leggono i formati di data usati nei feed:

  • Atom e la maggior parte delle API XML: ISO 8601, come 2026-10-05T14:30:00Z;
  • RSS: Mon, 05 Oct 2026 14:30:00 +0000, oppure con GMT al posto dell'offset.

Il giorno deve essere scritto con due cifre. Un feed che scrive Mon, 5 Oct 2026 non viene riconosciuto e il controllo fallisce con «not a recognised timestamp» invece di risultare superato: così te ne accorgi al primo controllo, non il giorno in cui il feed smette di aggiornarsi.

Perché controllare i tuoi feed con Pingsured

  • Un file rotto fallisce da solo. Una risposta che non è XML ben formato fa fallire tutti i controlli XML del ping, quindi un export troncato viene segnalato senza bisogno di un controllo apposito.
  • L'aggiornamento si verifica con una riga. Nessuno script che scarica il feed, legge la data e va a sua volta monitorato.
  • XPath come lo conosci, con conteggi, confronti di testo ed espressioni regolari, e fino a 16 controlli per ping.
  • Ogni località per conto suo. Un feed servito da una CDN può essere aggiornato su un nodo e vecchio su un altro; controllarlo da più località mostra quale.
  • Un controllo, non un crawler. Ogni ping è una sola richiesta all'intervallo che imposti, identificata dal suo User-Agent, quindi il carico sul tuo server è noto in anticipo.

Limiti da tenere presenti

  • Viene letto solo il primo MB della risposta, e un XML troncato in quel punto non è più ben formato: il controllo fallisce. Di solito una sitemap grande è suddivisa in più file sotto un indice di sitemap; controlla l'indice e uno dei file più piccoli, non una sitemap da 10 MB.
  • I controlli inviano GET o HEAD, quindi i servizi XML che richiedono una richiesta POST, come SOAP, per ora non si possono controllare.