Regole generiche in "robots.txt" non rilevate da Googlebot

Gentile Team di Discourse,

Prima di tutto: vogliamo salutarvi per lo spirito e la resistenza nel concepire e mantenere Discourse. È sempre un piacere usarlo per noi e per i membri della nostra community.

Abbiamo riassunto alcune piccole osservazioni fatte oggi e speriamo che le troviate utili. D’altra parte, saremmo anche felici di ricevere un riscontro su eventuali incomprensioni da parte nostra.

Cordiali saluti,
Andreas.


Introduzione

Indagando sul comportamento della nostra istanza Discourse ospitata su https://community.crate.io/ con rispetto al suo file di definizione robots.txt [1], abbiamo scoperto che Googlebot potrebbe non rispettare le impostazioni come previsto.

Valutazione

Esercitiamolo per conto del robots.txt su Meta [2], con l’URL del mio profilo https://meta.discourse.org/u/amotl/.

La differenza può essere rapidamente individuata confrontando i risultati di questo validatore robots.txt gratuito:


Valuta con Googlebot


Valuta con MSNBot

Ricerca

Su questo argomento, crediamo di aver già trovato la risposta:

Riflessioni

Quindi, siamo inclini a pensare che Googlebot possa attualmente ignorare completamente le regole definite all’interno della sezione User-agent: * [3] e onorare solo le regole all’interno della sezione User-agent: Googlebot [4].


  1. https://community.crate.io/robots.txt ↩︎

  2. https://meta.discourse.org/robots.txt ↩︎

  3. robots.txt, sezione User-agent: *

    User-agent: *
    Disallow: /admin/
    Disallow: /auth/
    Disallow: /assets/browser-update*.js
    Disallow: /email/
    Disallow: /session
    Disallow: /user-api-key
    Disallow: /*?api_key*
    Disallow: /*?*api_key*
    Disallow: /badges
    Disallow: /u
    Disallow: /my
    Disallow: /search
    Disallow: /tag
    Disallow: /g
    Disallow: /t/*/*.rss
    Disallow: /c/*.rss
    
    ↩︎
  4. robots.txt, sezione User-agent: Googlebot

    User-agent: Googlebot
    Disallow: /auth/
    Disallow: /assets/browser-update*.js
    Disallow: /email/
    Disallow: /session
    Disallow: /*?api_key*
    Disallow: /*?*api_key*
    
    ↩︎
4 Mi Piace

Se ho capito bene la risposta non è così facile. Se un singolo utente ha inviato un link tramite Gmail, googlebot non rispetta robots.txt. Stessa cosa se un link viene condiviso da qualche parte (backlink) dove appare a googlebot come un normale link quotidiano.

Di nuovo — robots.txt è solo una richiesta.

C’è un altro ma più… Molti bot si identificano come googlebot e la realtà si può trovare solo tramite IP.

3 Mi Piace

Questo è corretto ed è stato implementato intenzionalmente in questo modo.

Pertanto Googlebot riceve un’intestazione http aggiuntiva X-Robots-Tag: noindex per le pagine che non dovrebbero essere indicizzate. Vedi:


Per i tuoi domini puoi usare Google Search Console → Ispeziona URL

Quindi prova ad aggiungere un URL del profilo utente da indicizzare – ad es. https://www.example.com/u/jacob

4 Mi Piace

Caro Ayke,

Confermato.

$ http https://meta.discourse.org/u/amotl --print hH | grep -i robot
X-Robots-Tag: noindex

Grazie mille per la tua rapida risposta e spiegazione e per aver fatto riferimento alla patch corrispondente.

Cordiali saluti,
Andreas.

2 Mi Piace

Ho spostato questo in Support, grazie per il tuo delizioso rapporto di bug qui.

Ci è voluto molto tempo per perfezionare le nostre regole per mantenere felice Google, x-robots-tag noindex è supportato in modo non uniforme ma è uno standard del settore. Il problema con il semplice divieto di crawling era che per qualche motivo, in determinate condizioni, le pagine potevano finire nell’indice di Google e poi non c’era un modo semplice per rimuoverle poiché il crawling era vietato, un po’ un problema dell’uovo che incontra la gallina.

4 Mi Piace

Caro Sam,

grazie mille per aver condiviso maggiori dettagli su questo argomento. Come sempre, sono stupito dal livello di eccellenza che stai infondendo in ogni dettaglio di Discourse.

Devo ammettere che non ne ero a conoscenza fino ad ora. Quindi, grazie ancora!

image

Ottimo. Grazie. Se questo è diventato uno standard ampiamente accettato ora, ci sarà speranza che anche alcuni dei validatori gratuiti di robots.txt inizino a rispettarlo in futuro?

Sei a conoscenza di qualcuno che implementa già controlli aggiuntivi di intestazione corrispondenti oltre alla lettura di robots.txt oggi, come fa Ispeziona URL di Google Search Console? Ciò aiuterebbe probabilmente le persone a evitare la stessa confusione in cui ci siamo imbattuti.

Cordiali saluti,
Andreas.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.