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:
| XPath | Operatore | Valore |
|---|---|---|
/rss/channel/item | compare almeno | 1 |
/rss/channel/item[1]/pubDate | età minore di | 172800 |
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:
| XPath | Operatore | Valore |
|---|---|---|
/urlset/url | compare almeno | 50 |
//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 conGMTal 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
GEToHEAD, quindi i servizi XML che richiedono una richiestaPOST, come SOAP, per ora non si possono controllare.