Hushfort

Come riconosco e blocco i falsi Googlebot e i bot molesti su WordPress?

Di Eureka Studio · Aggiornato il

In breve

Un vero Googlebot arriva dagli intervalli IP pubblicati da Google; chiunque usi quel nome da altri indirizzi è falso e si può bloccare. Per gli altri bot molesti, assegna a ogni IP un budget di richieste al minuto in cui le richieste costose, come ricerche e 404, costano di più, rispondi agli IP che lo superano con un breve 429 e lascia sempre passare il checkout.

Passaggi

  1. 1Passaggio 1

    Individua gli impostori nel tuo traffico

    Molti bot si presentano come Googlebot perché i siti lo bloccano raramente. Il nome si copia gratis; l'indirizzo IP no. Con gli elenchi ufficiali di Google e Bing caricati, Hushfort segna come falso bot di ricerca qualsiasi "Googlebot" proveniente da un altro indirizzo.

    Blocchi recenti della Protezione dal carico: un falso bot di ricerca che dice di essere Googlebot da 203.0.113.120 e due IP oltre il budget, tutti registrati in modalità Monitoraggio
  2. 2Passaggio 2

    Attiva la Protezione dal carico in modalità Monitoraggio

    In Hushfort, apri Protezione dal carico e attivala. La Modalità parte su "Solo registrazione — modalità Monitoraggio (consigliata per iniziare)": registra quali IP raggiungerebbero il limite, senza bloccare nessuno. Lascia attivo Bot di ricerca falsi.

    Protezione dal carico attivata in modalità Monitoraggio con Bot di ricerca falsi attivo
  3. 3Passaggio 3

    Imposta un budget che dia il giusto prezzo alle richieste

    Ogni IP riceve un Budget per IP al minuto (120 punti di default). Una visualizzazione di pagina costa 1, una ricerca 5, una chiamata XML-RPC 10 e un 404 aggiunge 4. Checkout e callback di pagamento sono gratuiti.

    Budget per IP al minuto di 120 punti con l'elenco dei punti, durata del blocco di 10 minuti, bot di ricerca falsi e scansione 404 attivati
  4. 4Passaggio 4

    Gli IP oltre il budget ricevono una breve pausa

    In modalità Proteggi, un IP che esaurisce il budget riceve una pagina 429 "Troppe richieste" per la Durata del blocco, 10 minuti di default. I bot di ricerca verificati sono esenti e il checkout continua a funzionare.

    La ricerca di un visitatore oltre il budget riceve la risposta: Troppe richieste in poco tempo. Riprova tra qualche minuto.
  5. 5Passaggio 5

    Controlla il log, poi passa a Proteggi

    Dopo qualche giorno in modalità Monitoraggio, esamina i Blocchi recenti. Se non compaiono visitatori reali, imposta la Modalità su "Proteggi — ferma con un 429 gli IP oltre il budget" e salva.

    Modalità della Protezione dal carico cambiata in Proteggi — ferma con un 429 gli IP oltre il budget, e salvata

Perché è importante

Un falso Googlebot si riconosce dall'IP: il vero Googlebot arriva solo dagli intervalli pubblicati da Google. Non tutti i giorni lenti sono un successo di traffico. Alcuni bot scandagliano un sito molto più di qualsiasi persona: bombardano la casella di ricerca con parole a caso, cercano centinaia di file inesistenti o si spacciano per Googlebot perché nessuno osi bloccarli. Ognuna di queste richieste salta la cache delle pagine e costringe WordPress e il database a lavorare davvero.

Su un hosting condiviso questo significa pagine lente, limiti di CPU e a volte un account sospeso. In un negozio significa clienti veri in attesa mentre un bot esegue ricerche.

Il trucco è distinguere le richieste costose da quelle economiche. Contare le "richieste al minuto" tratta allo stesso modo una visualizzazione di pagina in cache e una ricerca non in cache. Dare a ciascuna un prezzo in base al costo ti permette di essere generoso con i visitatori reali e severo con gli schemi che solo i bot producono.

Errori comuni

  • Bloccare in base allo user agent. Chiunque può dichiararsi Googlebot, e bloccare il nome blocca anche quello vero. Verifica tramite IP.
  • Un unico limite per tutto. Una regola fissa di richieste al minuto o lascia passare le ondate di ricerche o blocca i clienti che navigano in fretta. Dai un prezzo alle richieste in base al costo.
  • Bloccare il checkout. Un limite che può fermare una callback di pagamento o un checkout ti costa soldi veri. Lasciali sempre gratuiti.
  • Ban lunghi. Un ban di un giorno su un IP condiviso può bloccare un intero ufficio o una rete mobile. Brevi pause bastano a spezzare il ritmo di un bot.
  • Aspettarsi che un plugin fermi le ondate a livello di rete. Un traffico abbastanza grande da saturare la connessione del server non arriva mai a WordPress. Quello è un lavoro per la tua CDN.

Senza plugin

Verifica Googlebot a mano. Per un IP sospetto preso dal tuo log di accesso:

host 66.249.66.1
# 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
host crawl-66-249-66-1.googlebot.com
# crawl-66-249-66-1.googlebot.com has address 66.249.66.1

Entrambe le direzioni devono corrispondere e terminare con googlebot.com o google.com. Google pubblica anche gli intervalli IP dei suoi crawler in un file JSON con cui puoi fare il confronto.

Limita le richieste a livello di server. Su Nginx puoi fissare un tetto di richieste per IP:

# in the http block
limit_req_zone $binary_remote_addr zone=perip:10m rate=60r/m;

# in the server block
location / {
    limit_req zone=perip burst=20 nodelay;
    limit_req_status 429;
    try_files $uri $uri/ /index.php?$args;
}

Le regole del server sono veloci, ma non conoscono WordPress. Non distinguono il checkout da una ricerca, richiedono un accesso root che la maggior parte dei piani di hosting non concede e mantenere a mano l'elenco IP di Google è noioso. Anche il firewall di una CDN è una buona opzione, se la tua ti permette di scrivere regole.

Se qualcosa va storto

  • Un visitatore reale ha ricevuto un 429. Cerca l'IP nel log. Se è un ufficio o uno strumento che usi, aggiungilo alla lista consentiti. Valuta di aumentare il budget al minuto.
  • Search Console segnala errori di scansione. I veri crawler di Google sono esenti, quindi verifica che gli errori non derivino da una regola del server o della CDN esterna a Hushfort.
  • Il sito è ancora sommerso. L'ondata potrebbe essere troppo grande per qualsiasi plugin. Attiva la modalità anti-attacco della tua CDN. La modalità di emergenza di Hushfort può attivare per te la modalità "Under Attack" di Cloudflare, usando la tua chiave API, e disattivarla al termine.

Con Hushfort

La Protezione dal carico fa parte di Hushfort Pro, il componente aggiuntivo a pagamento che si installa sopra Hushfort Security, il plugin di sicurezza gratuito per WordPress.

Il livello Protezione dal carico di Hushfort assegna di default a ogni IP un budget di 120 punti al minuto. Le visualizzazioni di pagina costano 1, admin-ajax GET 1 e POST 2, REST GET 2 e POST 3, aggiunta al carrello 3, ricerca 5, altri POST 5, XML-RPC 10, e un 404 aggiunge 4. Checkout, callback di pagamento, WP-Cron e schermate di wp-admin sono gratuiti.

  • Gli IP oltre il budget ricevono un breve 429 e una pausa di 10 minuti.
  • I falsi Googlebot e Bingbot, che usano quel nome da un IP non presente nell'elenco ufficiale, vengono bloccati. I bot di ricerca verificati sono esenti. L'unico download in uscita riguarda gli elenchi pubblici degli IP dei crawler di Google e Bing.
  • La modalità di emergenza può attivare la modalità "Under Attack" di Cloudflare con la tua chiave API.
  • Parte in modalità Monitoraggio.

Nei nostri test, un IP oltre il budget ha comunque completato il checkout mentre le sue altre richieste ricevevano un 429.

Domande frequenti

Come faccio a sapere se una visita di Googlebot è autentica?

Controlla l'IP. Google pubblica gli intervalli IP usati dai suoi crawler, e una ricerca DNS inversa su un IP di un vero Googlebot termina con googlebot.com o google.com. Uno user agent Googlebot proveniente da qualsiasi altro IP è falso.

Bloccare i falsi Googlebot danneggia la SEO?

No, se la verifica avviene tramite IP. I veri crawler di Google e Bing vengono riconosciuti ed esentati, quindi vengono respinti solo gli impostori.

Cosa significa lo stato 429?

Significa Too Many Requests (troppe richieste). Dice al client di rallentare. Il 429 di Hushfort dura poco, quindi una persona reale che stava solo navigando molto in fretta può continuare dopo la pausa.

Un plugin può fermare un attacco DDoS?

Non uno a livello di rete. Quel traffico travolge il server prima ancora che WordPress si avvii. Lì il vero scudo è una CDN come Cloudflare; un plugin gestisce le ondate di richieste che arrivano fino a WordPress.

Perché ricerche e 404 costano di più?

Una ricerca esegue una query sul database e un 404 di solito è uno scanner che va a caccia di file. Entrambi costano al tuo server molto più di una visualizzazione di pagina in cache.

Segnala un bug o richiedi una funzione

Il tuo messaggio arriva direttamente al team che sviluppa Hushfort.

Di cosa si tratta?

Usata solo per risponderti.

Usiamo questi dati solo per risponderti. Privacy