PrestaShop Robots.txt: Cosa bloccare, cosa consentire

403 visualizzazioni

Cos'è il robots.txt e perché è importante per PrestaShop

Il file robots.txt si trova nella directory principale della tua installazione PrestaShop e funge da primo punto di comunicazione tra il tuo negozio e i crawler dei motori di ricerca. Indica ai bot come Googlebot, Bingbot e altri quali parti del tuo sito possono esplorare e quali dovrebbero saltare. Sebbene non sia un meccanismo di sicurezza (non impedisce l'accesso, ma consiglia solo i crawler), è uno degli strumenti più importanti per gestire il tuo budget di crawl — il numero di pagine che un motore di ricerca esplorerà sul tuo sito in un determinato periodo di tempo.

Per i negozi PrestaShop, questo è enormemente importante. Un'installazione PrestaShop tipica può generare migliaia di variazioni URL attraverso filtri, opzioni di ordinamento, paginazione, cambio valuta e query di ricerca. Se lasciato incontrollato, i bot dei motori di ricerca sprecheranno il loro budget di crawl su queste pagine a basso valore invece di scoprire e indicizzare le tue effettive pagine di prodotti e categorie.

Come PrestaShop genera il suo robots.txt

PrestaShop include un generatore di robots.txt integrato accessibile dal Back Office. Naviga su Parametri del negozio > Traffico & SEO e scorri verso il basso dove troverai la sezione "Generazione file robots". Cliccando il pulsante di generazione si crea un file robots.txt nella directory principale del tuo negozio.

Il file generato di default include tipicamente regole come queste -

User-agent: *
Disallow: /classes/
Disallow: /config/
Disallow: /download/
Disallow: /mails/
Disallow: /modules/
Disallow: /translations/
Disallow: /tools/
Disallow: /*?orderby=
Disallow: /*?orderway=
Disallow: /*?tag=
Disallow: /*?id_currency=
Disallow: /*?search_query=
Disallow: /*?back=
Disallow: /*?n=
Sitemap: https://tuonegozio.com/sitemap.xml

Sebbene questo sia un ragionevole punto di partenza, è tutt'altro che completo. Molti modelli critici di URL che sprecano il budget di crawl non sono inclusi.

Cosa devi bloccare in PrestaShop

1. Pagine carrello, checkout e account

Queste pagine sono specifiche per l'utente e non forniscono alcun valore SEO. Dovrebbero essere sempre bloccate -

Disallow: /*?controller=cart
Disallow: /*?controller=order
Disallow: /*?controller=authentication
Disallow: /*?controller=my-account
Disallow: /*?controller=identity
Disallow: /*?controller=addresses
Disallow: /*?controller=address
Disallow: /*?controller=history
Disallow: /*?controller=order-detail
Disallow: /*?controller=password
Disallow: /*?controller=discount
Disallow: /*?controller=order-return
Disallow: /*?controller=order-follow
Disallow: /*?controller=guest-tracking
Disallow: /cart
Disallow: /order
Disallow: /login
Disallow: /my-account
Disallow: /password-recovery

2. Navigazione a faccette e filtri a livelli

La navigazione a faccette è il più grande killer del budget di crawl per i negozi e-commerce. Quando un cliente utilizza filtri come colore, taglia o fascia di prezzo, PrestaShop genera URL unici per ogni combinazione. Una categoria con 5 colori, 4 taglie e 3 fasce di prezzo può produrre centinaia di combinazioni URL — nessuna delle quali dovrebbe essere nell'indice di Google.

# Blocca i parametri dei filtri di navigazione a livelli
Disallow: /*?q=
Disallow: /*&q=
Disallow: /*?selected_filters=
Disallow: /*&selected_filters=
Disallow: /module/ambjolisearch/jolisearch

# Blocca le combinazioni dei filtri di prezzo
Disallow: /*?price=
Disallow: /*&price=

# Blocca i filtri di attributi e caratteristiche
Disallow: /*?id_attribute_group=
Disallow: /*&id_attribute_group=
Disallow: /*?id_feature=
Disallow: /*&id_feature=

3. Risultati di ricerca interni

Le pagine dei risultati di ricerca interni sono contenuti sottili e non dovrebbero mai essere indicizzati. Creano frequentemente pagine quasi duplicate e sono una fonte nota di problemi di qualità -

Disallow: /*?controller=search
Disallow: /*?s=
Disallow: /*&s=
Disallow: /search
Disallow: /*?search_query=
Disallow: /*&search_query=

4. Parametri di paginazione

Mentre le pagine delle categorie stesse dovrebbero essere esplorabili, i parametri di paginazione che generano varianti di ordinamento/pagina dovrebbero essere controllati -

Disallow: /*?page=
Disallow: /*&page=
Disallow: /*?p=
Disallow: /*&p=

Nota importante - Fai attenzione con la paginazione. Se blocchi /*?page= completamente, potresti impedire ai crawler di raggiungere i prodotti che appaiono solo nelle pagine più profonde. Un approccio migliore è implementare tag rel="canonical" che puntino le pagine paginate alla prima pagina, o utilizzare i segnali di paginazione rel="next" e rel="prev".

5. Pagine di confronto e liste dei desideri

Disallow: /*?controller=comparison
Disallow: /comparison
Disallow: /*?controller=wishlist
Disallow: /module/blockwishlist/

6. Directory admin e di sistema

Disallow: /admin*/
Disallow: /app/
Disallow: /bin/
Disallow: /cache/
Disallow: /classes/
Disallow: /config/
Disallow: /controllers/
Disallow: /docs/
Disallow: /download/
Disallow: /img/tmp/
Disallow: /localization/
Disallow: /mails/
Disallow: /override/
Disallow: /pdf/
Disallow: /src/
Disallow: /tools/
Disallow: /translations/
Disallow: /upload/
Disallow: /var/
Disallow: /vendor/
Disallow: /webservice/

7. Parametri di tracciamento URL

I parametri delle campagne di marketing creano contenuti duplicati quando i bot esplorano URL con tag -

Disallow: /*?utm_source=
Disallow: /*?utm_medium=
Disallow: /*?utm_campaign=
Disallow: /*&utm_source=
Disallow: /*&utm_medium=
Disallow: /*&utm_campaign=
Disallow: /*?fbclid=
Disallow: /*?gclid=
Disallow: /*?ref=

Cosa devi consentire in PrestaShop

1. Pagine prodotti e categorie

Queste sono il cuore del tuo negozio e devono sempre rimanere esplorabili. Non bloccare le directory dei tuoi contenuti principali.

2. File CSS, JavaScript e immagini

Google ha bisogno di renderizzare le tue pagine per valutare la qualità dei contenuti. Bloccare i file CSS o JS impedisce il rendering e può danneggiare i posizionamenti -

Allow: /themes/*/assets/
Allow: /themes/*/css/
Allow: /themes/*/js/
Allow: /js/
Allow: /img/
Allow: /modules/*/views/css/
Allow: /modules/*/views/js/

3. Pagine CMS

Le tue pagine legali, pagine chi siamo e pagine di content marketing dovrebbero essere completamente esplorabili. Assicurati che non vengano catturate accidentalmente da regole Disallow troppo ampie.

4. Pagine produttori e fornitori (se utilizzate)

Se mantieni pagine produttori o fornitori ricche con contenuti unici, mantienile esplorabili. Se sono pagine sottili generate automaticamente, considera di bloccarle.

Gestione dei crawler AI

L'ascesa dei servizi AI ha introdotto una nuova categoria di crawler che raccolgono contenuti per scopi di addestramento. Se vuoi impedire che le tue descrizioni di prodotti, immagini e altri contenuti vengano utilizzati dai modelli AI, puoi aggiungere regole specifiche -

# Blocca i crawler di addestramento AI
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: anthropic-ai
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: FacebookBot
Disallow: /

User-agent: Bytespider
Disallow: /

Nota che bloccare Google-Extended impedisce a Google di utilizzare i tuoi contenuti per l'addestramento AI (Gemini) permettendo comunque al Googlebot normale di esplorare e indicizzare le tue pagine normalmente.

File robots.txt completo raccomandato per PrestaShop

Ecco un file robots.txt completo che puoi adattare per il tuo negozio PrestaShop -

# Crawler principali dei motori di ricerca
User-agent: *

# Consenti risorse statiche
Allow: /themes/*/assets/
Allow: /themes/*/css/
Allow: /themes/*/js/
Allow: /js/
Allow: /img/
Allow: /modules/*/views/css/
Allow: /modules/*/views/js/

# Blocca directory di sistema
Disallow: /app/
Disallow: /bin/
Disallow: /cache/
Disallow: /classes/
Disallow: /config/
Disallow: /controllers/
Disallow: /docs/
Disallow: /download/
Disallow: /img/tmp/
Disallow: /localization/
Disallow: /mails/
Disallow: /override/
Disallow: /pdf/
Disallow: /src/
Disallow: /tools/
Disallow: /translations/
Disallow: /upload/
Disallow: /var/
Disallow: /vendor/
Disallow: /webservice/

# Blocca carrello, ordine, account
Disallow: /cart
Disallow: /order
Disallow: /login
Disallow: /my-account
Disallow: /password-recovery
Disallow: /*?controller=cart
Disallow: /*?controller=order
Disallow: /*?controller=authentication
Disallow: /*?controller=my-account

# Blocca filtri e ordinamento
Disallow: /*?orderby=
Disallow: /*?orderway=
Disallow: /*?n=
Disallow: /*?q=
Disallow: /*?selected_filters=
Disallow: /*?id_currency=
Disallow: /*?tag=
Disallow: /*?back=

# Blocca ricerca
Disallow: /*?controller=search
Disallow: /*?search_query=
Disallow: /*?s=
Disallow: /search

# Blocca parametri di tracciamento
Disallow: /*?utm_source=
Disallow: /*?utm_medium=
Disallow: /*?utm_campaign=
Disallow: /*?fbclid=
Disallow: /*?gclid=

# Blocca confronto e lista desideri
Disallow: /*?controller=comparison
Disallow: /comparison

# Sitemap
Sitemap: https://tuonegozio.com/1_index_sitemap.xml

# Blocca crawler addestramento AI
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Google-Extended
Disallow: /

Errori comuni da evitare

Bloccare completamente la directory modules

Il robots.txt predefinito di PrestaShop blocca /modules/. Anche se non vuoi che i file PHP dei moduli vengano esplorati, molti moduli servono CSS e JavaScript critici da questa directory. Il blocco totale può impedire a Google di renderizzare correttamente le tue pagine. Invece, blocca /modules/ ma consenti esplicitamente le sottodirectory CSS e JS come mostrato sopra.

Usare robots.txt invece di noindex

Un malinteso critico - robots.txt dice ai bot di non esplorare un URL, ma non impedisce l'indicizzazione. Se un altro sito collega a una pagina che hai bloccato in robots.txt, Google potrebbe comunque indicizzarla (mostrando "Non è disponibile una descrizione per questo risultato a causa del file robots.txt del sito"). Per le pagine che vuoi rimuovere completamente dai risultati di ricerca, usa invece il meta tag noindex o l'header HTTP X-Robots-Tag.

Dimenticare il riferimento alla sitemap

Includi sempre l'URL della tua sitemap alla fine del robots.txt. Questo aiuta i crawler a trovare immediatamente la tua sitemap. Se usi un modulo che genera più sitemap, fai riferimento al file indice della sitemap.

Usare regole troppo ampie

Una regola come Disallow: /*? bloccherebbe ogni URL con qualsiasi parametro di query, il che sarebbe catastrofico. Sii specifico con le tue regole e testale usando il tester robots.txt di Google Search Console prima di implementarle.

Testare la configurazione del robots.txt

  1. Google Search Console - Usa lo strumento di test robots.txt (che si trova tra gli strumenti legacy) per verificare URL specifici rispetto alle tue regole
  2. Test manuale - Visita tuonegozio.com/robots.txt direttamente nel tuo browser per verificare che il file sia accessibile e formattato correttamente
  3. Report di copertura - Dopo aver implementato le modifiche, monitora il report di copertura in Google Search Console per eventuali aumenti inaspettati nelle pagine "Escluse"
  4. Analisi dei file di log - Controlla i log del tuo server per verificare che i bot stiano effettivamente rispettando le tue regole e non stiano sprecando budget di crawl sugli URL bloccati

Considerazioni per il multinegozio

Se gestisci una configurazione multinegozio PrestaShop, ogni negozio (dominio) ha bisogno del proprio file robots.txt nella sua directory principale. Il generatore PrestaShop crea regole per tutti i negozi in un singolo file, ma se i tuoi negozi sono su domini diversi, devi separarli di conseguenza. Il robots.txt di ogni negozio dovrebbe fare riferimento alla propria sitemap e avere regole appropriate alla sua struttura URL.

Quando rigenerare il robots.txt

Dovresti rigenerare o aggiornare il tuo robots.txt ogni volta che -

  • Aggiungi nuovi moduli che creano URL pubblici (moduli di ricerca, moduli di filtri)
  • Cambi la struttura URL o abiliti/disabiliti gli URL amichevoli
  • Cambi tema (temi diversi possono servire risorse da percorsi diversi)
  • Aggiungi o rimuovi lingue (il che cambia i prefissi URL)
  • Abiliti o disabiliti la funzionalità multinegozio
  • Noti modelli di crawl insoliti nei log del server o in Google Search Console

Ricorda - crea sempre un backup del tuo robots.txt funzionante prima di rigenerarlo. Il generatore PrestaShop sovrascrive completamente il file, e qualsiasi regola personalizzata aggiunta manualmente andrà persa a meno che non la riaggiungi dopo la generazione.

Questa risposta ti è stata utile?

Hai ancora domande?

Can't find what you're looking for? Send us your question and we'll get back to you quickly.

Loading...
Back to top