Prestashop è una delle piattaforme e-commerce più diffuse al mondo, apprezzata per la flessibilità e la facilità con cui permette di gestire negozi online. Tuttavia, chi gestisce un negozio basato su Prestashop spesso incontra problemi di indicizzazione e di ottimizzazione del crawling budget, soprattutto quando utilizza moduli complessi come ps_facetedsearch.

Il modulo Ricerca per Aspetti (ps_facetedsearch), che consente agli utenti di filtrare prodotti in base a diversi attributi (prezzo, colore, taglia, ecc.), può infatti generare un alto numero di URL simili o duplicate. Questo fenomeno non solo causa difficoltà ai motori di ricerca nel determinare quale pagina sia rilevante, ma impatta negativamente sul crawling budget, ovvero il tempo e le risorse che Google dedica a scansionare le pagine del tuo sito.

In questo articolo esploreremo come affrontare efficacemente questi problemi, evidenziando l'importanza del modulo ps_facetedsearch, fornendo soluzioni pratiche per ottimizzarne l'utilizzo e migliorare significativamente l'indicizzazione e il posizionamento SEO del tuo e-commerce Prestashop.

Impatto della scansione eccessiva sulle performance e sulle vendite

Una scansione eccessiva può inoltre sovraccaricare le risorse del server, provocando rallentamenti e criticità nelle performance, fino a causare vere e proprie situazioni di Denial of Service (DoS), cioè l'interruzione temporanea del servizio. In un ambiente e-commerce, dove la rapidità nel caricamento delle pagine incide significativamente sia sull’esperienza utente che sul posizionamento nei motori di ricerca, questi problemi possono tradursi in un calo diretto delle vendite e un peggioramento della soddisfazione degli utenti.

Proprio per limitare gli effetti negativi derivanti da scansioni eccessive, abbiamo sviluppato il modulo PrestaShop Security & Bot Shield with Project Honeypot, che permette di identificare e bloccare le richieste provenienti da bot malevoli impegnati in attività di web scraping e da crawler utilizzati per l’addestramento delle intelligenze artificiali.

Cos'è il Crawling Budget?

Il crawling budget rappresenta il numero massimo di pagine che un motore di ricerca, come Google, decide di scansionare su un sito web in un determinato periodo di tempo. Ogni sito possiede un proprio crawling budget, stabilito in base a vari fattori come l'autorevolezza, la qualità dei contenuti e le performance tecniche. È importante gestirlo correttamente per evitare che i crawler sprechino risorse su pagine poco rilevanti o duplicate, assicurando invece che si concentrino sui contenuti strategici per il posizionamento e la visibilità online.

Come verificare problemi di Crawling Budget con Google Search Console

Per diagnosticare eventuali problemi legati al crawling budget, è fondamentale sfruttare le informazioni fornite da Google Search Console. All’interno della sezione "Scansione" puoi consultare il report "Statistiche di scansione", che mostra la frequenza con cui Googlebot visita il tuo sito e il numero di richieste giornaliere eseguite. Presta particolare attenzione a picchi improvvisi o cadute nel numero di pagine scansionate, che potrebbero indicare problemi tecnici o sprechi del crawling budget. Inoltre, nella sezione "Copertura" puoi individuare eventuali errori, URL duplicati o pagine escluse dalla scansione, tutte criticità che influenzano negativamente il modo in cui Google esplora il tuo sito.

Infine, analizza regolarmente la sezione "Miglioramenti", per scoprire problematiche specifiche legate a contenuti duplicati, pagine lente o risorse bloccate che potrebbero compromettere l’efficienza del crawling e, di conseguenza, il posizionamento organico del tuo e-commerce.

Cosa sono i filtri di navigazione e quali sono vantaggi e criticità

I filtri di navigazione sono strumenti presenti negli e-commerce che permettono agli utenti di affinare la ricerca dei prodotti, selezionando attributi specifici come taglia, colore, prezzo o categoria. La loro implementazione, come avviene ad esempio con il modulo Ricerca per Aspetti (ps_facetedsearch) di Prestashop, rende l’esperienza di navigazione più intuitiva e migliora il tasso di conversione, aiutando l’utente a trovare rapidamente ciò che cerca.

Tuttavia, un uso improprio o una configurazione errata dei filtri può causare la generazione automatica di un numero elevato di URL differenti ma dal contenuto simile, generando problemi di contenuti duplicati e sprechi di crawling budget. Ciò può penalizzare significativamente la SEO, complicare l’indicizzazione del sito da parte dei motori di ricerca e ridurre la visibilità organica del negozio online. Pertanto, è essenziale gestire accuratamente i filtri di navigazione per massimizzarne i benefici senza incorrere nelle criticità SEO più comuni.

Modulo Ricerca per Aspetti (ps_facetedsearch): potenzialità e principali criticità

Il modulo Ricerca per Aspetti (ps_facetedsearch), noto anche come Navigazione a livelli, è un’estensione gratuita di PrestaShop, disponibile su GitHub, che consente agli utenti di affinare le ricerche sui prodotti attraverso filtri avanzati. Nonostante la sua utilità e diffusione, questo modulo ha storicamente mostrato diverse problematiche, alcune delle quali ancora oggi non pienamente risolte. Le principali criticità sono:

  • Crescita incontrollata della tabella ps_layered_filter_block e/o  ps_layered_price_index: Se non viene effettuata frequentemente una pulizia della cache interna del modulo, questa tabella può crescere eccessivamente, arrivando a occupare diversi gigabyte e causando un forte rallentamento generale del CMS PrestaShop.
  • Problemi di scansione e spreco di crawling budget: Per impedire che GoogleBot e altri crawler indicizzino inutilmente tutte le possibili combinazioni generate dai filtri, è necessario intervenire manualmente sul file robots.txt. Una mancata o errata configurazione può causare uno spreco significativo di crawling budget e sovraccaricare il server, peggiorando le performance del sito.
  • Gestione inefficiente della cache interna: La cache interna del modulo non è gestita in modo ottimale. Di conseguenza, ogni richiesta da parte degli utenti può generare numerose query verso il database, con un utilizzo eccessivo delle risorse del server e possibili rallentamenti del sito.

Vista la natura e l’impatto di queste problematiche, consigliamo di valutare moduli alternativi che, pur essendo a pagamento, offrono prestazioni superiori e non presentano tali criticità. Tra le alternative più affidabili e complete suggeriamo:

Strategie consigliate per ottimizzare il Crawling Budget

Per affrontare efficacemente i problemi legati alle scansioni non necessarie, il primo passo è quello di installare il nostro modulo PrestaShop Security & Bot Shield. Questo strumento permette di bloccare automaticamente bot malevoli e crawler utilizzati per alimentare i modelli di AI, escludendo così gran parte delle richieste superflue. Inoltre, il modulo integra già specifiche modifiche al file robots.txt, pensate appositamente per mitigare i problemi derivanti dall’utilizzo del modulo ps_facetedsearch.

Se preferisci procedere manualmente, ti consigliamo di aggiungere al file robots.txt le seguenti direttive per impedire ai motori di ricerca di indicizzare pagine generate dinamicamente dai filtri:

[code=language-bash] User-agent: * Disallow: /*?q= Disallow: /*?price= Disallow: /*?brand= [/code]

Se utilizzi un modulo alternativo a Ricerca per Aspetti (ps_facetedsearch), fai riferimento alla documentazione fornita con quel modulo o chiedi allo sviluppatore.

Ricorda sempre di rigenerare il file robots.txt prima di qualsiasi modifica, tramite il percorso:

  • Accedi al pannello di amministrazione PrestaShop.
  • Vai su Parametri Avanzati → Traffico & SEO → SEO & URLs.
  • Clicca sul pulsante "Genera il file robots.txt" per aggiornare le modifiche.

Infine, nel caso stai utilizzando il modulo ps_facetedsearch, è fortemente consigliato aggiornarlo costantemente all’ultima versione disponibile, per beneficiare delle ultime correzioni e miglioramenti.

Usare .htaccess

In alcuni casi, nonostante l’indicazione a Googlebot di non scansionare determinate pagine, questo continua comunque ad accedervi, causando spesso un sovraccarico della CPU del server e un significativo rallentamento delle prestazioni, con effetti simili a un attacco DoS. Per evitare ciò, è consigliabile rispondere con un codice 410, così da indicare chiaramente al motore di ricerca che gli URL devono essere rimossi. Di seguito un esempio di come eseguire questa operazione:

[code=language-bash] RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Googlebot [NC] RewriteCond %{QUERY_STRING} (^|&)q=[^&]* [NC] RewriteRule .* - [G,L] [/code]

Perché è importante svuotare la cache del modulo Ricerca per Aspetti (ps_facetedsearch)

Ricerca per Aspetti

Il modulo Ricerca per Aspetti (ps_facetedsearch) utilizza una cache interna per velocizzare la visualizzazione dei risultati di ricerca filtrati. Tuttavia, questa cache, se non viene gestita correttamente, tende a crescere rapidamente e può raggiungere dimensioni eccessive, causando un rallentamento generale del sito e una riduzione delle performance del database. È quindi fondamentale impostare uno svuotamento frequente della cache attraverso attività pianificate (cron).

In particolare, nel caso di e-commerce ad alto traffico, consigliamo di svuotare la cache almeno una volta al giorno, per mantenere il sito sempre veloce e reattivo. Il cron da impostare è quello relativo all’operazione "Svuota la cache dei blocchi".

Come configurare il cron per svuotare la cache:

Dal pannello di controllo Plesk:

  • Accedi al pannello Plesk e seleziona il dominio interessato.
  • Vai su "Attività pianificate" (o "Scheduled Tasks").
  • Clicca su "Aggiungi attività" e inserisci l’URL indicato nel modulo (Svuota la cache dei blocchi).
  • Imposta la frequenza desiderata (ad esempio: giornaliera), quindi salva.

In alternativa, tramite il servizio easycron.com:

  • Registrati e accedi su easycron.com. Crea un nuovo cron job cliccando su "Create Cron Job".
  • Inserisci l’URL relativo al cron "Svuota la cache dei blocchi" fornito nel modulo.
  • Configura la frequenza di esecuzione desiderata (ad esempio ogni 24 ore).
  • Salva le impostazioni.

Queste operazioni garantiscono performance ottimali al tuo sito PrestaShop e una migliore esperienza utente, evitando potenziali problemi derivanti da un sovraccarico della cache.

Conclusioni

Ottimizzare il crawling budget del tuo e-commerce PrestaShop è un aspetto cruciale per garantirne performance ottimali, visibilità sui motori di ricerca e un’esperienza utente positiva. Come abbiamo visto, il modulo Ricerca per Aspetti (ps_facetedsearch), pur essendo utile e gratuito, presenta diverse problematiche che possono influenzare negativamente l’indicizzazione e le performance complessive del tuo sito.

Per affrontare questi problemi, è fondamentale monitorare regolarmente l’utilizzo delle risorse e agire preventivamente tramite l'ottimizzazione del file robots.txt, l'uso di strumenti di sicurezza avanzati come il modulo PrestaShop Security & Bot Shield, e la corretta gestione della cache attraverso attività pianificate (cron). Tuttavia, nei casi più complessi o in presenza di traffico elevato, valutare alternative premium, come Amazzing Filter o Advanced Search 5, può rappresentare una scelta strategica per ridurre drasticamente criticità e problemi tecnici.

Una gestione attenta e consapevole di questi aspetti farà la differenza non soltanto in termini tecnici, ma soprattutto nelle performance economiche del tuo e-commerce, migliorando conversioni e soddisfazione degli utenti.

Autore: Loris Modena

Loris Modena

SENIOR DEVELOPER

Per Ind Loris Modena titolare di Arte e Informatica, inizia a lavorare nel settore informatico nel 1989 quale sistemista addetto alla manutenzione e installazione di sistemi informatici. Inizia a programmare per il web nel 1997 occupandosi di programmazione CGI in PERL e successivamente passando alla programmazione in PHP e JavaScript. In questo periodo si avvicina al mondo Open source e alla gestione di server Linux. 

prodotto aggiunto alla lista