Categorie

Spreco crawl filtri

SEO con log file nel 2026: un workflow completo per ridurre sprechi di crawl e proteggere il crawl budget

Nel 2026 molti team sanno già diagnosticare Core Web Vitals e problemi di rendering, ma la SEO basata sui log resta il modo più rapido per smettere di “indovinare” cosa fanno davvero i crawler. I log di server e CDN forniscono un registro con data e ora di ogni richiesta: quali bot visitano quali URL, con che frequenza, quanto “costano” quelle URL per l’infrastruttura e dove il crawl budget si disperde. Se trasformi quei dati grezzi in un processo ripetibile, di solito riesci a sbloccare problemi di indicizzazione che in Search Console sembrano inspiegabili.

Passo 1: raccogliere i log giusti e renderli sicuri per l’analisi

Parti dai log di accesso del server origin (Nginx o Apache) e, se lo usi, dai log edge della CDN. In pratica, il log origin racconta cosa ha raggiunto davvero l’applicazione, mentre il log della CDN mostra cosa è stato servito (e spesso cosa è stato bloccato, messo in challenge, messo in cache o limitato). Ad esempio, i dataset di richieste HTTP di alcuni provider CDN espongono molti campi utili per separare il comportamento edge da quello origin e segmentare il traffico in base alle caratteristiche della richiesta.

Come minimo, ti servono: timestamp (con fuso orario), metodo, host, percorso + query string, codice di stato, byte di risposta, tempo di risposta (o upstream time), user agent, referrer e IP client (oppure un campo IP client fornito dall’edge). Se puoi aggiungere un request ID interno e l’URL “finale” dopo normalizzazione (regole su maiuscole/minuscole, slash finale, ordinamento parametri), fallo subito: le join fatte dopo sono il punto in cui molti progetti log si bloccano.

Prima di iniziare a interrogare i dati, definisci come gestire i dati personali. Indirizzi IP e identificativi nelle URL (email, numeri di telefono, ID cliente) possono rendere i log un dataset sensibile. Una base pragmatica è: troncare o tokenizzare gli IP, fare hash degli identificativi stabili con un salt a rotazione, eliminare i parametri che assomigliano a PII e conservare l’eventuale mappa reversibile (se davvero serve) in un’area separata e con accessi strettamente controllati. La pseudonimizzazione riduce il rischio, ma non equivale ad anonimizzazione totale: servono comunque controlli di accesso e regole di retention.

Dettagli di implementazione che evitano rework più avanti

Standardizza la pipeline come se stessi costruendo un flusso di eventi: ingestion, validazione, arricchimento, storage e query. Nel 2026 è comune l’approccio “log su object storage” con partizioni giornaliere, poi query via Athena/BigQuery/Snowflake, oppure caricamento su ClickHouse per aggregazioni rapide. Se in azienda esiste già ELK/OpenSearch, può funzionare, ma serve disciplina su mapping dei campi e costi di query.

Aggiungi due livelli di arricchimento in ingestion: (1) classificazione dei bot e verifica, (2) normalizzazione delle URL. Per la classificazione non basarti solo sullo user agent: è facile da falsificare. Per i casi importanti, usa la verifica basata su reverse DNS e forward-confirmation per validare che una richiesta provenga davvero dai crawler dichiarati. Alcune CDN forniscono anche un segnale di “bot verificato” utile per segmentazioni veloci, ma non dovrebbe sostituire la verifica DNS quando devi fare audit o incident analysis.

Metti in sicurezza lo storage dal primo giorno: accessi minimi necessari, tracciamento degli accessi e retention guidata dal valore dei dati (per molti team bastano 30–90 giorni di log grezzi, mantenendo più a lungo tabelle aggregate). Decidi anche cosa consideri “verità” per le URL: l’URL richiesto grezzo, l’URL post-rewrite, oppure entrambi. Tenere entrambi è spesso ideale, perché lo spreco di crawl nasce sul livello grezzo (parametri, filtri), mentre i fix vivono su routing, canonicalizzazione e redirect.

Passo 2: creare cinque report dai log che cambiano davvero l’indicizzazione

Molti progetti falliscono perché producono dashboard eleganti che non diventano azioni. Il percorso più rapido è consegnare cinque report che si trasformano in ticket tecnici e in risultati misurabili sul crawl. Ogni report dovrebbe includere: URL di esempio, conteggi per tipo di bot, primo/ultimo passaggio, distribuzione degli status, tempo di risposta mediano e una raccomandazione chiara con owner.

Report 1: URL orfane che i bot visitano. Sono URL presenti nei log ma assenti dal grafo di linking interno, dalle sitemap XML e dall’intenzione di indicizzazione. Se Googlebot le richiede spesso, sono un buco nel crawl budget e talvolta generano duplicati. Dai priorità alle orfane con molte visite bot e segnali “soft” di importanza (ad esempio redirect interni frequenti verso quelle URL o molte risposte 200).

Report 2: errori che i crawler colpiscono ripetutamente (404, 410, 500/502/503/504). Poche URL rotte possono consumare una quota enorme di richieste se sono linkate internamente o generate da template. Qui l’elenco azioni è concreto: correggere i link interni, restituire lo status corretto, rimuovere dalle sitemap e assicurarsi che le pagine di errore non rispondano 200. Per i 5xx, collega il problema a picchi di latenza e pattern di deploy, così SRE può agire sulle cause e non solo sui sintomi.

Altri tre report che di solito sbloccano i guadagni maggiori

Report 3: catene e loop di redirect. I log mostrano la catena reale vissuta dai crawler, non solo ciò che vedi in un test singolo. Raggruppa per “URL iniziale → URL finale” e calcola profondità, status per hop e frequenza con cui i bot colpiscono l’inizio catena. I fix tipici: aggiornare i link interni verso le URL finali, ridurre catene multi-hop a un solo passaggio ed eliminare loop causati da casing, slash finali o regole incoerenti HTTP→HTTPS.

Report 4: trappole di crawl (spazi infiniti). È il punto in cui il crawl budget diventa reale: calendari, ricerca interna, filtri a faccette sovrapposti, session ID e paginazione combinata con filtri possono far esplodere lo spazio di URL. Nei log, le trappole appaiono come volumi altissimi su combinazioni di parametri con basso valore (template quasi identici, molte visite bot, scarso rendimento di indicizzazione).

Report 5: analisi di parametri e filtri. Scomponi le richieste per chiave di parametro, poi per pattern (chiave, valore) e cerca: parametri che creano duplicati, parametri che portano a non-200, parametri che generano volumi enormi di pagine sottili. L’output ideale è una “allowlist” (parametri che vuoi mantenere crawlable perché producono pagine uniche e indicizzabili) e una “block/control list” (parametri da bloccare via robots.txt, consolidare via canonicalizzazione o normalizzare con redirect). Così una lamentela vaga diventa una specifica tecnica precisa.

Spreco crawl filtri

Passo 3: unire log, Search Console, sitemap e canoniche per dare priorità ai fix

I log dicono cosa viene richiesto dai bot; non dicono cosa finisce indicizzato o come viene valutata una URL. Per questo, nel 2026 il lavoro ad alto impatto è unire dataset: log + sitemap XML + mappa delle canoniche + esportazioni di Search Console. Solo così rispondi a domande come “I bot visitano URL che non includiamo mai nelle sitemap?” e “Le pagine che consideriamo canoniche sono davvero quelle più crawlte?”

Imposta un job giornaliero che ingest: (1) liste URL delle sitemap (inclusi lastmod e priority se li usi), (2) una mappa canonica dal tuo crawl (URL → canonica dichiarata) e (3) i dati di Search Console che il team usa davvero (tipicamente impression/click a livello URL e export di copertura dove disponibili). L’obiettivo non è modellare Google in modo perfetto: è creare un livello di triage affidabile, dove lo sforzo tecnico va su URL rilevanti per crawl e per business.

Un framework di priorità utile è una matrice 2×2: “alta frequenza di crawl vs bassa frequenza di crawl” incrociata con “dovrebbe essere indicizzata vs non dovrebbe essere indicizzata”. Le URL ad alto crawl che non dovrebbero essere indicizzate sono le vittorie più rapide (riduzione sprechi). Le URL a basso crawl che dovrebbero essere indicizzate sono i blocchi di crescita (discovery e recrawl). Questa struttura riduce le discussioni e trasforma i log in un backlog pronto per sprint.

Due playbook reali che un team può eseguire in una settimana

Scenario A: “I bot sprecano budget sui filtri”. Prima, verifica il segmento bot che stai misurando (così non ottimizzi per user agent falsificati). Poi quantifica le combinazioni di parametri e le famiglie di template che consumano più crawl. Rilascia una risposta controllata: blocca i percorsi a faccette a basso valore (spesso via robots.txt), mantieni una piccola allowlist di filtri indicizzabili e fai rispettare canonicalizzazione e linking interno verso le URL pulite. Qui è importante trattarlo come decisione di prodotto, non come scorciatoia.

Scenario B: “Le nuove pagine si indicizzano lentamente”. Usa i log per capire se Googlebot scopre e richiede le nuove URL e dopo quanto tempo dalla pubblicazione. Se i bot non le visitano, lavora sulla discovery: link interni da hub forti, corretta inclusione in sitemap e rimozione di blocchi come noindex accidentale o risposte 4xx/5xx. Se i bot le visitano ma il recrawl è raro, cerca competizione di crawl: trappole, redirect e rumore di parametri che diluiscono l’attenzione, oltre a colli di bottiglia prestazionali che riducono l’efficienza lato server.

In entrambi gli scenari, definisci il successo con metriche: quota di richieste bot che si sposta verso URL pulite, calo di hit ripetute su URL a basso valore e miglioramento del tempo alla prima visita bot sulle nuove pubblicazioni. La SEO con log file funziona al meglio quando assomiglia all’osservabilità: misuri, cambi una variabile e misuri di nuovo, finché il comportamento di crawl coincide con ciò che vuoi davvero indicizzato.