Modo per disabilitare globalmente tutti i feed RSS

Ciao,

Durante un’audit SEO del nostro sito, parte del quale è gestito su Discourse, sembra che Googlebot stia dedicando una parte significativa del budget di crawl ai feed RSS. Ciò nonostante il file robots.txt predefinito di Discourse blocchi questi URL e nonostante venga inviato un header noindex nella risposta HTTP per questi indirizzi RSS.

Mi chiedo se esista un modo non “hacky” per disabilitare completamente questi feed RSS sul mio sito. Non credo che molti li stiano utilizzando (cercherò di confermarlo). Tuttavia, la mia domanda rimane valida.

Grazie per qualsiasi aiuto in merito!

–Hugh

1 Mi Piace

Al momento non è presente alcuna casella di controllo per disabilitare questi feed.

Se hai familiarità con nginx, puoi creare un blocco location che corrisponda a .rss e restituisca un errore 404, inserendolo nella sezione appropriata di app.yml.

1 Mi Piace

Non sarebbe peggio per la SEO inviare un 404?

2 Mi Piace

Perché non bloccarli utilizzando nginx?

Google sta effettivamente recuperando quelle pagine o gli URL compaiono solo nella Google Search Console come “indicizzati ma bloccati da robots.txt”?

Non vedo intestazioni noindex nei feed RSS, ma se un URL è bloccato da robots.txt e ha un’intestazione robots, il crawler potrebbe non vedere mai l’intestazione robots.

[Ho rimosso l’output di curl -I, perché non utilizzava GET, quindi l’intestazione robots mancava.]

Modifica: Ho appena controllato i feed RSS con una richiesta GET, perché pensavo che l’intestazione x-robots-noindex fosse presente nei feed RSS, ed è effettivamente lì, ma solo con una richiesta GET.

Ora mi sto ricordando cosa ho fatto sul mio forum principale. La Google Search Console segnalava che gli URL RSS erano indicizzati ma bloccati, quindi ho sbloccato i feed con robots.txt, perché ciò impedisce a Googlebot di recuperare gli URL e vedere l’intestazione noindex. Sono abbastanza sicuro che questo risolverà gli avvisi, ma non so se impedirà a Googlebot di scansionare quegli URL.

# Disallow: /t/*/*.rss
# Disallow: /c/*.rss

Mi preoccuperei un po’ di comunicare ai crawler l’esistenza di feed RSS (con link, vedi sotto) per poi inviare risposte 404 quando i bot provano a recuperare quegli URL. Potrebbe indurre un sistema automatico a pensare che ci sia un problema tecnico con il sito, abbassando il suo punteggio di qualità (indipendentemente da come i motori di ricerca determinano la qualità o se un sito potrebbe essere rotto per gli utenti).

$ curl -s https://meta.discourse.org/latest | grep -i rss    
    <link rel="alternate" type="application/rss+xml" title="Ultimi post" href="https://meta.discourse.org/posts.rss" />
    <link rel="alternate" type="application/rss+xml" title="Ultimi argomenti" href="https://meta.discourse.org/latest.rss" />
   ...
1 Mi Piace

Sì, non sono un fan della soluzione 404. Sembra che possa inviare un segnale negativo a Google ed è anche un metodo piuttosto brutale per ottenere ciò che voglio. Ciò che desidero davvero è che i link non siano presenti nella pagina, non che siano link rotti.

Riguardo alla tua domanda, i feed RSS risultano “Esclusi dal tag ‘noindex’” nella Search Console. Non è chiaro se questo significhi che Google abbia dedicato tempo al loro recupero per poi escluderli, o se siano stati esclusi prima del recupero, nel qual caso l’impatto sul budget di scansione è probabilmente inferiore.

Potrebbero esserci alcune informazioni su quanti URL RSS stanno recuperando nei log di nginx. Ho appena controllato i miei e Googlebot sta scansionando i feed RSS, ma ho chiesto loro di farlo perché li ho sbloccati da robots.txt.