Il crawler di Meta ha generato 11 milioni di richieste in un mese su un sito statico
Il tuo server ha iniziato a fumare un martedì di giugno. Un cliente chiama: il sito è lento, il pannello hosting segna picchi anomali, e il traffico sembra esploso. Festeggi? No. Perché quel traffico ha lo stesso volto di sempre: facebookexternalhit, il crawler di Meta, che ha deciso di riprocessare tutte le tue URL. Secondo un thread sul forum developer di Meta, un singolo sito ha visto le richieste giornaliere passare da 62.772 a 197.321 in quattro giorni, con burst da 5.000 chiamate in meno di due minuti e un load average schizzato da 0,5 a 12-15 — dati emersi da una diagnosi dei crawler Meta e Amazon. Il tuo costo per Acquisition (CPA), il costo che sostieni per ottenere un cliente, inizia a ballare. Stai pagando per clic che nessun essere umano ha mai fatto.
Quel conto da 2.417 dollari che nessuno vuole spiegare
La faccenda non è solo tecnica. È una questione di budget.
Un sito statico su Vercel ha incassato 11 milioni di richieste in 30 giorni dal solo facebookexternalhit — una ogni 0,23 secondi — su URL mai aggiornate da mesi. Il risultato è stato un conto serverless di 2.417 dollari contro i 20-30 abituali, un’emorragia documentata analizzando l’impatto dei crawler sui costi serverless. Per chi fa paid media, questo significa due cose: i dati del pixel si inquinano e il budget per il remarketing parte per destinazioni sbagliate. Se il tuo ROAS (Return on Ad Spend, il ricavo generato per ogni euro speso in pubblicità) cala senza motivo apparente, guarda prima al traffico del server, poi al resto.
A complicare il quadro è la migrazione silenziosa che sta avvenendo sotto i nostri cruscotti. Piattaforme come Advantage+ di Meta allargano la rete di impression, e lo fanno senza chiederti il permesso su quali siti atterrano i tuoi annunci. Il crawler, nel frattempo, scansiona e gonfia le metriche. Quando la macchina dei pixel registra “visite”, non distingue tra un bot di Cloudflare che pre-ingegnerizza la cache e un utente reale che aggiunge al carrello. La differenza la vedi solo alla chiusura del mese, quando il finance ti chiede perché hai fatturato meno.
La guerra che si combatte a sette strati
La detection non è più un muro unico, ma una cascata di decisioni che si fondono in uno score. I sistemi moderni valutano sette livelli, come spiegato in un’analisi approfondita delle librerie Python per scraping anti-detection. Il primo strato è la reputazione IP pre-JS: non basta un IP residenziale, ormai si valuta l’ASN, il tipo di connessione e la storia di quell’indirizzo. È una reputazione IP pre-JS come primo strato che blocca già il 40% del traffico indesiderato.
Il secondo strato è dove tutto cambia: il fingerprint TLS. Fino a inizio 2023 usavamo JA3, un’impronta digitale basata sull’ordine delle estensioni TLS. Poi Chrome 110 ha introdotto la randomizzazione di quell’ordine, e JA3 è diventato carta straccia. Da lì è nato JA4, che Cloudflare ha già messo in produzione su scala globale. Il segnale chiave non è l’impronta in sé, ma l’incoerenza: uno User-Agent che si presenta come Chrome ma esibisce un fingerprint TLS da urllib3 o python-requests è un bot ad altissima confidenza. Non serve essere ingegneri per capirlo: se qualcuno bussa alla tua porta con un passaporto francese e un accento siberiano, non gli apri.
Il fumogeno digitale e chi paga il conto
Il quarto strato è ancora più subdolo: il fingerprint del protocollo di automazione, in particolare il CDP (Chrome DevTools Protocol) e il flag Runtime.enable. Rebrowser ha verificato che disabilitando quel singolo parametro, le challenge di Cloudflare Turnstile e DataDome semplicemente sparivano — la richiesta passava pulita. Questo dettaglio tecnico, emerso da un confronto del fingerprint del protocollo di automazione, ha un impatto diretto su chi acquista traffico: i bot più sofisticati oggi superano i CAPTCHA senza sudare, e lo fanno proprio perché chi scrive le librerie di scraping ha studiato meglio la detection di chi compra media.
La detection moderna penalizza l’incoerenza e la randomizzazione rumorosa più del fingerprint grezzo. Questo significa che la libreria giusta non è quella che “cambia IP”, ma quella che emula un’intera sessione TLS coerente con il browser dichiarato. Scegliere lo strumento adeguato risolve due o tre strati su sette, come indicato nell’ampia guida alle librerie Python per scraping anti-detection. Non è una questione da smanettoni: è l’unico modo per non comprare fumo quando paghi un click.
E mentre discuti con il tuo media buyer di CAPI (Conversion API) e incrementality test, il crawler di Meta sta ancora battendo il tuo server. Un’integrazione lato server pulita, che rispetta le regole di un A/B testing conforme al GDPR, non basta più se il dato in ingresso è drogato da bot che non hai mai invitato. Le piattaforme di testing che usi — VWO, Optimizely, AB Tasty — hanno capacità di integrazione profonde, come dettagliato in un’analisi delle integrazioni delle piattaforme di testing, ma nessuna può correggere un campione avvelenato a monte.
La prossima volta che il tuo CPM crolla e il CPA sale senza spiegazioni, non chiederti se la creatività funziona. Chiedi al tuo media buyer se sa cos’è JA4. Se la risposta è un silenzio, hai già trovato la prima riga da tagliare nel budget.




