SEO per PrestaShop

Come funziona la SEO su PrestaShop: URL amichevoli con token ID obbligatori, redirect canonici configurabili, un generatore nativo limitato di sitemap e robots.txt, nessun hreflang o schema nativo, e l'ecosistema di moduli che colma le lacune.

Prima pubblicazione: 26 giu 2026 · Ultimo aggiornamento: 21 ago 2026 · Advanced
Lingue

PrestaShop è un ecommerce open-source (PHP/MySQL) che ospiti tu stesso, quindi ti dà un controllo profondo ma ti fa fare più configurazione rispetto ai concorrenti ospitati. Fa molte cose giuste nativamente: meta tag per oggetto, URL amichevoli (richiesto mod_rewrite), un redirect 301 al canonico configurabile, un H1 per pagina, opzioni di redirect per prodotti disabilitati e un generatore di robots.txt. Il problema sono le impostazioni predefinite: i token numerici {id} sono obbligatori nelle rotte URL (rimovibili solo tramite modulo/override delle rotte), la sitemap nativa non si aggiorna automaticamente ed è debole sulla copertura multilingua/immagini, e non c'è hreflang nativo o schema completo. La navigazione a faccette, l'ordinamento e i filtri URL non sono canonizzati per te. La maggior parte delle lacune è colmata da moduli di terze parti, e le Core Web Vitals sui temi predefiniti più pesanti sono aiutate dalla funzione CCC integrata (Concatenate, Compress, Cache).

TL;DR — PrestaShop è una piattaforma ecommerce open source con hosting autonomo: il maggiore lavoro di gestione offre in cambio un controllo approfondito. Punti di forza nativi: meta tag per oggetto, URL amichevoli (mod_rewrite richiesto), reindirizzamento 301/302 configurabile verso il canonico, canonicalizzazione dell’URL padre per le combinazioni di prodotto, un H1 per pagina, reindirizzamenti configurabili per prodotti disabilitati e un generatore di robots.txt. Le impostazioni predefinite problematiche: il token {id} è obbligatorio nelle rotte URL (rimovibile solo tramite un modulo o una sostituzione delle rotte), la sitemap nativa non si aggiorna automaticamente ed è debole sulla copertura multilingua e delle immagini CDN, e il comportamento multilingua, dei dati strutturati e degli URL filtrati dovrebbe essere verificato rispetto alla versione installata, al tema e ai moduli. Le prestazioni sui temi predefiniti più pesanti sono aiutate dal CCC integrato (Concatenate, Compress, Cache).

Evidence for this claim PrestaShop provides configurable friendly URLs, canonical redirects, and route patterns in its traffic and SEO settings. Scope: PrestaShop 8 administration; modules and version differences can change behavior. Confidence: high · Verified: PrestaShop 8: SEO and URLs Evidence for this claim Google treats canonical declarations as signals and recommends consistent canonicalization for duplicate URLs. Scope: Google canonicalization behavior applied to ecommerce URL variants. Confidence: high · Verified: Google Search Central: Canonicalization

Il quadro: controllo profondo, più configurazione

La maggior parte dei contenuti SEO su PrestaShop è o una checklist generica o una proposta per un modulo a pagamento. L’inquadramento utile è questo: PrestaShop ti dà più controllo grezzo di qualsiasi piattaforma SaaS ospitata — open source, accesso al server, modelli di route modificabili — ma viene fornito con meno cose già pronte, quindi le lacune sono specifiche e prevedibili. Dividi tutto in due categorie e la piattaforma smette di essere misteriosa.

Una nota sulla versione prima di tutto: a metà 2026 PrestaShop mantiene due rami principali attivi contemporaneamente9.x (9.1.4 a giugno 2026) e un ramo 8,2.x LTS che continua a pubblicare i propri aggiornamenti in parallelo (8.2.7, anche questo a giugno 2026). Le impostazioni SEO descritte di seguito sono invariate tra v8 e v9 — verificate direttamente contro la documentazione SEO & URL di PrestaShop v9 — ma un modulo costruito e testato per un ramo non è garantito che funzioni sull’altro. Controlla la versione compatibile elencata dal modulo prima di installarlo e conferma prima la versione del core del tuo negozio — è il numero su cui si basa ogni elenco “compatibile con” dei venditori di moduli.

Già corretto per impostazione predefinita: meta titoli/descrizioni per oggetto, URL amichevoli, tag canonici con redirect configurabile, canonicalizzazione dell’URL padre per le combinazioni di prodotto, un H1 per pagina, breadcrumb, opzioni di redirect per prodotti disabilitati, un generatore di robots.txt e un modulo sitemap nativo.

Da fare tu (principalmente tramite moduli): URL senza ID, hreflang per multi-lingua / multi-negozio, schema completo per Prodotto/Breadcrumb/Organizzazione/FAQ, canonical/noindex per la navigazione a faccette, una sitemap immagini multilingue che si aggiorna automaticamente e Core Web Vitals sul tema predefinito.

Struttura degli URL

Le impostazioni degli URL si trovano in Parametri negozio → Traffico e SEO. Attivando URL amichevoli si converte product.php?id_product=27 in uno slug descrittivo come /2-music-players/27-ipod-nano-green. Richiede Apache mod_rewrite (o un equivalente Nginx) e puoi preservare i caratteri accentati negli URL se lo desideri.

La cosa da capire è lo schema di route predefinito. La route di prodotto di PrestaShop è {category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.html, e gli altri tipi seguono lo stesso schema:

Tipo di paginaRoute predefinita
Prodotti{category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.html
Categorie{id}-{rewrite}
Pagine CMScontent/{id}-{rewrite}
Fornitorisupplier/{id}-{rewrite}
Marchibrand/{id}-{rewrite}

Il token {id} è obbligatorio. È in ogni route predefinita perché PrestaShop cerca l’oggetto nel database tramite quell’ID — lo slug ({rewrite}) è decorativo. Questa è la cosa più fraintesa degli URL di PrestaShop: non puoi rimuovere il numero dalle impostazioni. Farlo in modo pulito richiede un modulo di terze parti (FME Pretty URL, SunnyToo, MyPresta) che rimuove l’ID e mantiene i redirect 301, oppure un override attento del modello di route che può rompere le funzionalità principali se fatto male. La lamentela di Empirical Edge che PrestaShop “genera URL che contengono numeri e caratteri speciali indesiderati” è accurata, ma gli ID servono a uno scopo reale — non sono un bug, sono una chiave di ricerca.

Altri due dettagli di route che vale la pena conoscere: il token {category:/} inserisce la categoria del prodotto nell’URL del prodotto per impostazione predefinita (una considerazione di contenuto duplicato se un prodotto vive in più categorie), e {-:ean13} può aggiungere l’EAN all’URL. Dalla v1.7.5.1 puoi anche abilitare “Mostra gli attributi nel meta titolo del prodotto” per creare automaticamente titoli come “Nome Prodotto Colore Taglia”.

Tag canonici

PrestaShop genera automaticamente i tag canonici e ti dà un’impostazione di redirect al canonico sotto Traffico e SEO con tre opzioni: nessun redirect, 301 (permanente) o 302 (temporaneo). Usa 301 per qualsiasi configurazione di produzione stabile — consolida le varianti di URL duplicate che PrestaShop tende a generare.

Il comportamento nativo è davvero buono in un punto specifico: combinazioni di prodotti. Per gli URL delle varianti (colore, taglia — la parte {-:id_product_attribute} della rotta), il canonical punta all’URL del prodotto padre, e un ID attributo non valido in un URL attiva un reindirizzamento a quel canonical padre. Quindi le tue permutazioni di taglia/colore non si frammentano in un centinaio di duplicati indicizzabili per impostazione predefinita.

Ciò che il canonical nativo non copre: parametri di filtro, parametri di ordinamento e pagine di categoria paginate. PrestaShop non canonicalizzerà ?order=price_asc o un URL sfaccettato ?color=red&size=M di nuovo alla categoria pulita per te. Come dice PrestaHero, “implementing canonical tags is one of the most important practices… as these HTML tags inform search engines of the ‘master’ version of a page when duplicate or similar content exists” (traduzione) «implementare i tag canonical è una delle pratiche più importanti… poiché questi tag HTML informano i motori di ricerca della versione ‘principale’ di una pagina quando esiste contenuto duplicato o simile» — e sulle pagine filtrate quell’implementazione dipende da te, tramite un modulo canonical o modifiche al tema/codice.

Contenuto duplicato — il vero lavoro

Le fonti di contenuto duplicato di PrestaShop sono prevedibili. FME Modules riassume la posta in gioco: “duplicate URL issues confuse search engine crawlers, waste crawl budget, and split link equity, which collectively damage SEO performance.” (traduzione) «i problemi di URL duplicati confondono i crawler dei motori di ricerca, sprecano il budget di crawl e dividono l’equity dei link, che collettivamente danneggiano le prestazioni SEO.» I soliti colpevoli:

  • Navigazione sfaccettata — URL di filtro stile ?color=red&size=M, contenuto identico o quasi identico, nessun canonical nativo.
  • Ordinamento?order=price_asc aggiunto agli URL delle categorie.
  • Paginazione/page-2, /page-3 su categorie e ricerca.
  • URL solo-ID vs. URL con slug — entrambi possono risolversi se non hai forzato il reindirizzamento.
  • www vs non-www / HTTP vs HTTPS — richiede una configurazione di reindirizzamento corretta.
  • Stampa e (nelle versioni precedenti) URL con ID di sessione.

La soluzione è a strati, non un singolo interruttore:

  1. Imposta il reindirizzamento canonical a 301 in Traffic & SEO.
  2. Personalizza robots.txt per disallow dei parametri di filtro/ordinamento (dettagli sotto).
  3. Per la navigazione sfaccettata, aggiungi un modulo canonical — il canonical nativo gestisce prodotti e combinazioni ma non le pagine filtrate.
  4. Gestisci la paginazione deliberatamente. PrestaShop già rimuove il blocco del titolo della categoria sulle pagine oltre la pagina 1 per ridurre la duplicazione. Google ha eliminato il supporto rel=next/prev nel 2019, quindi l’approccio moderno è mantenere ogni pagina paginata sul proprio URL self-canonical e indicizzabile — non canonicalizzare la pagina 2+ di nuovo alla pagina 1 a meno che il contenuto non sia veramente duplicato. Non mettere noindex di riflesso sulla paginazione; quello è per le variazioni di filtro/ordinamento.

Una nota H1 di PrestaShop per gli auditor: un bug che produce H1 duplicati sulle pagine di categoria è stato corretto nella v1.7,5. Su installazioni precedenti, controllalo.

Sitemap

PrestaShop include un modulo Google Sitemap nativo (dal catalogo moduli) che copre prodotti, categorie, produttori, pagine CMS e pagine generate dai moduli. Dopo averlo generato, aggiungi l’URL della sitemap a robots.txt e invialo in Google Search Console.

I limiti del modulo nativo sono ben documentati e contano su larga scala: non si aggiorna automaticamente quando aggiungi prodotti (lo rigeneri manualmente o tramite cron), il supporto multilingua è debole (le sitemap per lingua richiedono un modulo di terze parti), e l’indicizzazione delle immagini ospitate su CDN è incoerente. FME Modules descrive il vincolo direttamente: la sitemap integrata di PrestaShop “may not auto-refresh when adding products, multilingual support is weak, and CDN-hosted image indexing is inconsistent.” (traduzione) «potrebbe non aggiornarsi automaticamente quando si aggiungono prodotti, il supporto multilingua è debole e l’indicizzazione delle immagini ospitate su CDN è incoerente.» Per un negozio multilingua o un catalogo grande e in rapida evoluzione, un modulo sitemap di terze parti (FME, Sweet Sitemap) ti offre aggiornamento automatico, sitemap per lingua, sitemap di immagini e controllo di priorità/frequenza.

Robots.txt

Generalo da Shop Parameters → Traffic & SEO → “Generate robots.txt file.” PrestaShop scrive una baseline all’installazione, ma devi personalizzarla. Disallow consigliati:

  • /cart, /checkout, /search
  • parametri di filtro/ordinamento: ?order=, ?sort=, ?q= e i tuoi parametri di faccette
  • percorsi di utilità admin/modulo (es. /module/)

Mantieni /img/ accessibile ai crawler così le immagini dei tuoi prodotti possono essere indicizzate, e aggiungi il riferimento alla tua sitemap (Sitemap: https://example.com/sitemap.xml).

L’unico avviso che conta più di tutti gli altri: un robots.txt mal configurato può rimuovere l’intero negozio. PrestaHero è diretto al riguardo — “a misconfigured robots.txt can destroy SEO, as you don’t want to accidentally block /category or /product pages, which could remove your whole store from Google’s index.” (traduzione) «Un robots.txt mal configurato può distruggere la SEO, poiché non vuoi bloccare accidentalmente le pagine /category o /product, il che potrebbe rimuovere l’intero negozio dall’indice di Google.» Bloccare il percorso sbagliato qui è una deindicizzazione autoinflitta.

Schema / dati strutturati

Questa è una lacuna reale. PrestaShop include solo dati strutturati minimi di default; uno schema completo è compito di un modulo. Ciò che in genere vorrai — Product completo (nome, immagine, prezzo, disponibilità, recensioni, spedizione/resa), BreadcrumbList, Organization, WebSite e FAQPage — arriva da un modulo rich-snippets. PrestaPremium’s Schema Pro, ad esempio, pubblicizza che “automatically generates 9 Schema.org types across your entire store: Product, ProductGroup (variants with size, color, material), Organization, WebSite, BreadcrumbList, FAQPage, CollectionPage, shipping details and return policy.” (traduzione) «genera automaticamente 9 tipi Schema.org in tutto il negozio: Product, ProductGroup (varianti con taglia, colore, materiale), Organization, WebSite, BreadcrumbList, FAQPage, CollectionPage, dettagli di spedizione e politica di reso.» I dati strutturati Product di Google supportano esattamente questi campi, quindi il markup vale la pena di essere aggiunto; semplicemente non aspettartelo dal core.

Performance e Core Web Vitals

I temi di default di PrestaShop — specialmente il tema legacy Classic — spesso faticano con i Core Web Vitals: CSS/JS che bloccano il rendering, immagini non ottimizzate (nessun WebP di default sulle versioni più vecchie), nessun lazy loading di default sui temi più vecchi e caricamento sincrono di moduli JS pesanti. Gli obiettivi sono quelli standard: LCP < 2,5 s, INP inferiore a duecento millisecondi (INP ha sostituito FID a marzo 2024), CLS < 0,1.

La leva integrata di PrestaShop è CCC (Concatenate, Compress, Cache) in Advanced Parameters → Performance — unisce e comprime CSS/JS per ridurre richieste e peso. Testalo prima di abilitarlo in produzione, perché può rompere alcuni moduli. Oltre a CCC: converti le immagini in WebP, abilita il lazy loading, usa una CDN, scegli un tema orientato alle performance (Hummingbird), rimanda il caricamento di JS non critici e aggiungi caching a livello di server (Redis/Memcached). La descrizione di Knowband del perché questo conta è corretta — i Core Web Vitals “affects crawl efficiency, paid traffic quality, mobile conversion, checkout trust, and the first impression of every product page.” (traduzione) «influenzano l’efficienza del crawling, la qualità del traffico a pagamento, la conversione mobile, la fiducia nel checkout e la prima impressione di ogni pagina prodotto.» Misura con PageSpeed Insights e i dati CrUX in Search Console.

Hreflang per negozi multilingua

PrestaShop supporta più lingue (stesso dominio, prefisso URL della lingua come /fr/ /en/, o domini separati) e più negozi che condividono un catalogo — ma non genera tag hreflang nativamente. Questo è un modulo: SunnyToo, DataFireFly, MyPresta, FME’s Canonical & Hreflang. MyPresta descrive chiaramente la modalità di errore: “without hreflang tags, Google does not know which version of a page to display based on the visitor’s language or region. It may index the wrong version, create duplicate content across your language stores, or show an English page to a French-speaking visitor.” (traduzione) «senza tag hreflang, Google non sa quale versione di una pagina mostrare in base alla lingua o alla regione del visitatore. Potrebbe indicizzare la versione sbagliata, creare contenuti duplicati tra i negozi nelle diverse lingue o mostrare una pagina in inglese a un visitatore francofono.»

Quando lo implementi, copri tutti i tipi di pagina (prodotto, categoria, CMS, produttore, fornitore), includi sempre x-default, gestisci l’abbinamento multi-negozio cross-domain e mantieni la canonicalizzazione coerente. E ricorda la regola generale di hreflang: una distribuzione parziale e non abbinata non ti porta nulla — Google ha bisogno dei tag di ritorno per riconoscere l’insieme.

Confronto tra piattaforme

PrestaShop si colloca tra le piattaforme SaaS ospitate e Magento a pieno controllo. Dove si posiziona ciascuna piattaforma sulle leve SEO:

FunzionalitàPrestaShopShopifyWooCommerceMagentoBigCommerce
URL amichevoliSì (attivabile)Sì (prefisso forzato)Tramite plugin
ID negli URLSì di defaultNoTramite YoastConfigurabileNo
Tag canoniciSì (parziale)Tramite Yoast
Schema nativoModulo richiestoParzialeTramite Yoast/RankMathParzialeParziale
HreflangModulo richiestoApp richiestaTramite WPML/YoastLimitato
Sitemap nativaModulo (limitato)AutomaticaTramite YoastAutomatica
Editor robots.txtBack office (genera)Non nativoTramite pluginModificabileModificabile
Gestione navigazione a faccetteModulo richiestoLimitataTramite pluginOpzione di configurazioneOpzione di configurazione
Open source / accesso al serverNoNo

Il riepilogo onesto, in gran parte dal confronto di Kinsta: contro Shopify, PrestaShop offre un controllo più grezzo (open source, accesso al server, route personalizzabili) mentre Shopify gestisce prestazioni e sicurezza per te e impone un prefisso in stile /products/ che non puoi rimuovere. Contro WooCommerce, la lettura di Kinsta è che “WooCommerce would beat PrestaShop, as it inherits all of WordPress’s SEO capabilities, especially when it comes to blogging” (traduzione) «WooCommerce batterebbe PrestaShop, poiché eredita tutte le capacità SEO di WordPress, soprattutto quando si tratta di blogging» — anche se notano anche che “out of the box, PrestaShop offers more options than WooCommerce for ecommerce SEO, with the product editor enabling you to add custom meta titles and descriptions for each product.” (traduzione) «fin da subito, PrestaShop offre più opzioni di WooCommerce per la SEO ecommerce, con l’editor di prodotto che consente di aggiungere titoli e descrizioni meta personalizzati per ogni prodotto.» Contro Magento, Magento “offers the most control for complex stores with full URL customization, native structured data, advanced sitemap configuration, and deep meta tag management” (traduzione) «offre il massimo controllo per negozi complessi con personalizzazione completa degli URL, dati strutturati nativi, configurazione avanzata della sitemap e gestione approfondita dei meta tag» (LueurExterne) — a una complessità e un costo molto più elevati. Contro BigCommerce, BigCommerce offre migliori impostazioni predefinite (sitemap automatica, schema integrato, nessun ID negli URL) ma una personalizzazione aperta molto minore. Tutti funzionano bene; il compromesso di PrestaShop è il controllo in cambio del lavoro di configurazione.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.