Controllo dei Web Crawler per un Sito

:bookmark: Questa guida spiega come gestire i web crawler sul tuo sito Discourse.

:person_raising_hand: Livello utente richiesto: Amministratore

I web crawler possono avere un impatto significativo sulle prestazioni del tuo sito aumentando le visualizzazioni di pagina e il carico del server.

Quando un sito nota un picco nelle visualizzazioni di pagina, è importante verificare come i web crawler si inseriscono in questo contesto.


Controllo dell’attività dei crawler

Per vedere se i crawler stanno influenzando il tuo sito, vai al rapporto Traffico del sito (/admin/reports/site_traffic) dalla tua dashboard di amministrazione. Questo rapporto scompone i numeri delle visualizzazioni di pagina da parte degli utenti del browser con accesso effettuato, utenti del browser anonimi, crawler e altre fonti.

Un sito in cui i crawler funzionano normalmente:

Un sito in cui i crawler sono fuori controllo:

Identificazione dei crawler specifici

Vai al rapporto User Agent dei web crawler (/admin/reports/web_crawlers) per trovare un elenco dei nomi dei web crawler ordinati per conteggio delle visualizzazioni di pagina.

Quando un web crawler problematico colpisce il sito, il numero delle sue visualizzazioni di pagina sarà molto più elevato rispetto agli altri web crawler. Tieni presente che potrebbero esserci diversi web crawler dannosi in funzione contemporaneamente.

Blocco e limitazione dei crawler

È buona norma non bloccare i crawler dei motori di ricerca principali, come Google, Bing, Baidu (cinese), Yandex (russo), Naver (coreano), DuckDuckGo, Yahoo e altri, a seconda del tuo paese.

Quando un web crawler è fuori controllo, c’è una buona probabilità che lo stesso crawler abbia colpito altri siti e che qualcun altro abbia già richiesto informazioni o creato rapporti al riguardo che saranno utili per capire se limitare o bloccare quel particolare crawler.

Tieni presente che alcuni crawler potrebbero contribuire con un gran numero di visualizzazioni di pagina se utilizzi servizi di terze parti per monitorare o aggiungere funzionalità al tuo sito tramite script, ecc.

Per ottenere un registro dei web crawler inaffidabili, puoi fare riferimento a questo elenco: \u003chttps://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/blob/master/robots.txt/robots.txt\u003e

Modifica delle impostazioni dei crawler

In Amministrazione > Impostazioni ci sono alcune impostazioni che possono aiutare a limitare la velocità di specifici crawler:

  • Rallenta i crawler utilizzando:

    • slow down crawler user agents — per impostazione predefinita include gptbot, claudebot, anthropic-ai e brightbot
    • slow down crawler rate — il numero di secondi tra le richieste consentite per crawler (predefinito: 60)
  • Blocca i crawler con:

    • blocked crawler user agents — per impostazione predefinita include mauibot, semrushbot, ahrefsbot, blexbot e seo spider
  • Consenti solo crawler specifici con:

    • allowed crawler user agents — quando impostato, solo i crawler elencati saranno autorizzati ad accedere al sito; tutti gli altri saranno bloccati. Questo agisce come una lista bianca rigorosa. Attenzione: l’impostazione di questo parametro sovrascriverà blocked crawler user agents e bloccherà tutti i crawler non presenti nell’elenco, inclusi i principali motori di ricerca se non sono inclusi.

Assicurati di conoscere il nome esatto dell’user agent per i crawler che desideri controllare. Se modifichi una delle impostazioni sopra e non vedi una riduzione delle visualizzazioni di pagina di quell’agente, potresti voler ricontrollare che stai utilizzando il nome corretto.

In caso di dubbi su come agire, inizia sempre con l’opzione “rallenta” anziché con un blocco completo. Controlla nel tempo se ci sono miglioramenti. Puoi procedere con un blocco completo se non noti risultati apprezzabili.

17 Mi Piace

Dovrebbe esserci una sorta di disclaimer che questo funziona solo con quelli che si comportano bene? E anche Google bypasserà tutti quelli quando arrivano tramite link da Gmail.

Entrambi sono applicati sul server.

Tuttavia, se un bot dannoso finge di essere Chrome o qualcun altro falsificando gli header, non possiamo usare gli header per rilevarlo…

2 Mi Piace

Fatto interessante: le anteprime delle schede contano come visualizzazione di pagina!

Il server che amministro sembra essere stato sommerso da richieste di anteprime di schede del tipo http.rb/5.1.0 (Mastodon/4.0.2; + [https://mstdn.science/](https://mstdn.science/))

Non credo si possa fare altro se non dire agli utenti di Mastodon di includere un’immagine in modo che l’anteprima della scheda non venga aggiunta automaticamente.

1 Mi Piace

Ho già oltre 1500 visite al giorno da parte di crawler. :tired_face: Posso bloccarli tutti usando Cloudflare DNS? O quale opzione è necessaria per bloccarli tutti forzatamente? (Istanza privata)

Semplicemente non li voglio.

Utilizzando, ad esempio, nginx come proxy inverso e bloccando lì user agent indesiderati. Questo aiuta molto. Bloccare i paesi di cui non si ha bisogno aiuta anche parecchio.

Non posso bloccare Stati Uniti, Francia e Germania (grandi paesi con VPS), ma per me Russia, Vietnam, Iran, Iraq, ecc. hanno aiutato parecchio.

Ma Discourse è piuttosto… è resiliente la parola giusta. La situazione è molto diversa rispetto a WordPress, dove quei bot SEO inutili, i knockers, gli script kiddies e gli attori malevoli possono facilmente mettere in ginocchio un server.

2 Mi Piace

Ospito su Hetzner Germania, con solo due porte aperte nel mio firewall (80/443). E Discourse è in esecuzione dietro NGINX proxy manager (certo, ci sono soluzioni migliori, ma sono una persona pigra per programmare e mi piacciono le interfacce web).

Ora sto andando per la strada del whitelist, con una stringa casuale come unica voce consentita… d’ora in poi, niente più visualizzazioni di pagine :smiley:

Una domanda su cosa inserire esattamente in “rallenta gli user agent dei crawler”.
Per noi Facebook è un colpevole principale, con Bing al terzo posto.
Il report mostra i seguenti agenti come i principali crawler che assorbono le visualizzazioni di pagina:

Cosa dovrebbe esserci esattamente in “rallenta gli user agent dei crawler”: questi URL esatti inclusi “https” o “http”? O tutto dopo il doppio slash? O qualcos’altro? O dobbiamo procedere per tentativi?

Grazie!

Per semplificare le cose, dovresti usare i nomi di quei bot. Ma puoi usare qualsiasi parte della stringa user agent, assicurati solo che non influenzi più di quanto desideri.

Rallentare i bot è un modo molto inaffidabile, ma alcuni seguono quella regola. Ma questi provengono dalle tue condivisioni, ecc. e non creano così tanto carico di lavoro. WordPress sarebbe un’altra storia.

Ma questa è parte della mia lista di bot bloccati. Puoi farti un’idea da essa.

1 Mi Piace

Grazie, @Jagster, molto utile. A volte sembra un gioco a rimpiattino, ma ho capito l’idea di usare parte della stringa del nome del crawler invece dell’intero nome.

Un lavoro in corso per me come amministratore del sito, immagino: avanti!

1 Mi Piace

Ci possono essere diverse ragioni, ma Googlebot ha il suo budget e quando le sitemap sono il modo più importante per trovare link, non raggiunge mai i link interni quando viene utilizzato il budget giornaliero/settimanale/mensile.

E in un forum i link interni sono importanti per gli utenti, non per Google.

Ma non so se Googlebot vede i link interni. Dovrebbe, però.

1 Mi Piace