bg-tutorials

Come installare un certificato SSL su PrestaShop e abilitare HTTPS

Portare un negozio PrestaShop su HTTPS richiede tre passaggi: installare un certificato SSL sul server, attivare due impostazioni in Parametri Negozio e reindirizzare il vecchio traffico HTTP. Il passaggio intermedio è quello che manda in confusione la maggior parte delle persone, perché PrestaShop ha due impostazioni SSL, non una sola, e la seconda resta bloccata finché la prima non viene salvata.

Risposta rapida: con un certificato funzionante sul server, apri Parametri Negozio > Generale, clicca sul link che verifica se il tuo negozio supporta HTTPS, imposta Attiva SSL su Sì, poi imposta Attiva SSL su tutte le pagine su Sì, scorri fino in fondo alla pagina e premi Salva. Se il secondo interruttore è disattivato (in grigio), significa che il primo non è ancora stato salvato.

SSL (abbreviazione di Secure Sockets Layer, anche se i certificati emessi oggi utilizzano tutti TLS) è ciò che attiva il lucchetto nella barra degli indirizzi del tuo negozio e permette il funzionamento dei gateway di pagamento. Se vuoi prima conoscere il contesto generale, leggi cos’è un certificato SSL. Questi passaggi valgono per PrestaShop 8 e PrestaShop 9.

Quale metodo è adatto alla tua configurazione PrestaShop

La tua configurazioneCome ottenere il certificatoTempo approssimativo
Hosting gestito o cPanel con AutoSSLEmetti il certificato gratuito nel pannello, poi attiva SSL in PrestaShop10 minuti
VPS personale, senza pannello di hostingCertbot per un certificato Let’s Encrypt20 minuti
Certificato a pagamento (OV, EV o wildcard)Genera un CSR, installa manualmente30 minuti più la validazione
Cloudflare davanti al negozioCertificato sull’origine, Cloudflare impostato su Full (strict)15 minuti

Esegui un backup del negozio e del database prima di iniziare. Su un negozio attivo, fallo fuori dagli orari di punta: ogni minuto in cui il checkout non è disponibile è un ordine perso.

Quale certificato SSL dovrebbe usare un negozio PrestaShop?

Un certificato gratuito cifra il traffico esattamente come uno a pagamento, e per un piccolo negozio è spesso la scelta giusta. Ciò che differenzia un certificato SSL PrestaShop da un altro è cosa ha verificato l’autorità di certificazione prima di emetterlo, e cosa lo garantisce in caso di problemi.

TipoCosa verifica la CAEmesso inAdatto a
Domain Validation (DV)Che tu controlli il dominioMinutiPiccoli negozi, negozi che usano una pagina di pagamento ospitata esternamente
Organization Validation (OV)Il dominio più la tua azienda registrataDa 1 a 3 giorni lavorativiNegozi consolidati, B2B, ovunque gli acquirenti verifichino chi stanno pagando
Extended Validation (EV)Un controllo legale e operativo completo dell’aziendaDa 1 a 3 giorni lavorativiOrdini di valore più elevato, settore finanziario, negozi che gestiscono direttamente i dati delle carte

L’ecommerce cambia il calcolo tra gratuito e a pagamento in un modo che non si applica a un blog. I certificati a pagamento offrono una garanzia che copre eventuali perdite se il certificato stesso dovesse fallire, e un sigillo del sito che puoi mostrare al checkout. I certificati gratuiti non offrono nessuno di questi due elementi, e sono solo di tipo Domain Validation, quindi non dimostrano nulla su chi gestisce il negozio.

Altri due aspetti specifici di PrestaShop. Se gestisci un multistore su più sottodomini, un certificato wildcard li copre tutti con un solo certificato invece che uno per ciascun negozio. E qualunque sia la tua scelta, qui HTTPS non è opzionale: i gateway di pagamento non elaborano transazioni reali su HTTP semplice, e la conformità PCI DSS richiede una crittografia forte, in pratica TLS 1.2 o superiore, su qualsiasi pagina che trasmetta dati delle carte. Se non sei sicuro di quale tipo faccia per te, l’SSL Wizard ti aiuta a restringere la scelta.

Ottenere il certificato sul tuo server

PrestaShop non installa i certificati. Questo avviene prima a livello di server, e PrestaShop non mostrerà nemmeno l’interruttore Attiva SSL finché non potrai raggiungere il tuo back office tramite HTTPS.

  • Dal tuo pannello di hosting. Cerca SSL/TLS, Let’s Encrypt o AutoSSL. Su cPanel si trova sotto Sicurezza. Emetti il certificato sia per il dominio principale che per la versione www.
  • Su un VPS. Usa Certbot, che emette il certificato da riga di comando e configura autonomamente il proprio timer di rinnovo.
  • Un certificato a pagamento. Genera un CSR con il nostro generatore di CSR o con le guide per il CSR, completa la validazione, quindi installa il certificato, la chiave privata e i certificati intermedi. In cPanel questo si trova in SSL/TLS > Gestisci siti SSL, trattato nella guida all’installazione su cPanel. Altre piattaforme sono trattate nelle guide di installazione SSL.

I certificati Let’s Encrypt durano 90 giorni e si rinnovano automaticamente circa 30 giorni prima della scadenza. Quando questa automazione si interrompe, il negozio continua a funzionare per settimane e poi diventa insicuro senza preavviso, di solito nel bel mezzo di una vendita. Verifica che il rinnovo automatico sia attivo e controlla il certificato dopo la prima data prevista per il rinnovo con l’SSL Checker.

Una trappola che qui conta più che altrove: installa il certificato senza i suoi certificati intermedi e il tuo browser mostrerà comunque il lucchetto, perché i browser desktop mettono in cache gli intermedi già visti altrove. Il tuo gateway di pagamento no. Un negozio che sembra funzionare bene ma fallisce al callback di pagamento è molto spesso il segnale di una catena incompleta.

Come attivare SSL in PrestaShop

PrestaShop ha due impostazioni SSL, non una, e l’ordine conta:

  • Attiva SSL protegge solo le pagine di checkout e account. Questa è l’impostazione predefinita storica di PrestaShop, risalente all’epoca in cui i negozi servivano la maggior parte delle pagine su HTTP e cifravano solo quelle sensibili.
  • Attiva SSL su tutte le pagine protegge l’intero negozio. Resta disattivata (in grigio) finché Attiva SSL non viene attivata e salvata.

Le vuoi entrambe. Ecco la sequenza completa:

  1. Apri Parametri Negozio > Generale nel back office. I tutorial scritti per PrestaShop 1.6 chiamano questa sezione Preferenze > Generale; il menu è stato rinominato nella versione 1.7, ma l’impostazione è la stessa.
  2. Clicca su “Clicca qui per verificare se il tuo negozio supporta HTTPS”. Quel link ricarica il back office tramite HTTPS. PrestaShop lo mostra solo quando stai visualizzando il back office tramite HTTP semplice, quindi se già amministri il tuo negozio tramite HTTPS non lo vedrai, e puoi passare direttamente al passaggio successivo.
  3. Imposta Attiva SSL su Sì.
  4. Imposta Attiva SSL su tutte le pagine su Sì.
  5. Scorri fino in fondo alla pagina.
  6. Premi Salva. Nulla ha effetto finché non lo fai.
Impostazioni Attiva SSL e Attiva SSL su tutte le pagine nei Parametri Negozio di PrestaShop

Queste istruzioni si applicano a PrestaShop 8 e PrestaShop 9. Le versioni 9.1.4 e 8.2.7 erano le release correnti a giugno 2026. PrestaShop 1.7 funziona nello stesso modo, ma la sua manutenzione è terminata con il rilascio di PrestaShop 9.0 a giugno 2025, quindi non riceve più correzioni di sicurezza e un aggiornamento dovrebbe essere in cima alla tua lista. La versione 1.6 usa i vecchi nomi dei menu.

Perché l’interruttore Attiva SSL è disattivato (in grigio)

Questo è il problema SSL più comune in PrestaShop. Prima di tutto, verifica quale dei due sintomi hai effettivamente.

Se Attiva SSL non è nemmeno presente nella pagina, stai visualizzando il back office tramite HTTP semplice. PrestaShop mostra quell’interruttore solo su una connessione sicura, quindi su un back office http:// ottieni al suo posto il link di verifica HTTPS e nessun interruttore. Raggiungi il tuo back office con un indirizzo https://, cliccando su quel link o digitando l’indirizzo, e l’interruttore sarà presente.

Se Attiva SSL su tutte le pagine è visibile ma disattivata (in grigio), procedi in ordine con queste tre cause.

1. Non hai ancora salvato

Di gran lunga la causa più frequente. Attivi Attiva SSL, guardi Attiva SSL su tutte le pagine, la vedi ancora disattivata (in grigio) e concludi che qualcosa non funziona. Non è così: la seconda impostazione si sblocca solo dopo che la prima è stata salvata. Scorri fino in fondo alla pagina, premi Salva, e la pagina si ricarica con il secondo interruttore attivo. Il bug tracker ufficiale di PrestaShop riporta questo comportamento con il titolo “Enabling Https/ssl is quite confusing”, quindi se sei incappato in questo problema, sei in ottima compagnia.

2. La verifica HTTPS è fallita

Se il back office non si carica affatto tramite HTTPS, o il browser mostra un avviso quando lo fa, il problema è nel certificato e non in PrestaShop. Motivi comuni: il certificato non è ancora installato, copre www ma stai navigando sul dominio principale (o viceversa), oppure è installato senza i suoi certificati intermedi. Esegui l’SSL Checker sul dominio esatto presente nell’URL del tuo negozio e correggi quanto segnalato prima di tornare al back office.

3. Impostalo nel database

Se il certificato è confermato funzionante e l’interruttore continua a non attivarsi, entrambe le impostazioni sono memorizzate nella tabella ps_configuration e possono essere impostate direttamente. In phpMyAdmin o in qualsiasi client SQL:

UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED';
UPDATE ps_configuration SET value = 1 WHERE name = 'PS_SSL_ENABLED_EVERYWHERE';

Adatta il prefisso della tabella se il tuo non è quello predefinito ps_, poi svuota la cache. Per invertire l’operazione, ad esempio se un certificato non funzionante ti ha bloccato l’accesso al tuo stesso back office, esegui le stesse due istruzioni con 0 invece di 1.

Reindirizzare da HTTP a HTTPS in PrestaShop

Con entrambe le impostazioni salvate, PrestaShop risponde già alle richieste HTTP per le pagine del negozio con un 301 verso il loro indirizzo HTTPS, quindi i vecchi link e gli URL indicizzati non restano orfani. Tuttavia, questo copre solo le richieste che effettivamente raggiungono PrestaShop. I file serviti direttamente dal disco, come immagini, PDF e qualsiasi cosa sotto /img/ o /upload/, non vengono reindirizzati, e nemmeno le richieste POST. Una regola a livello di server intercetta tutto questo, e reindirizza senza avviare PHP ogni volta.

Leggi questo prima di modificare qualsiasi cosa. PrestaShop genera il proprio file .htaccess, e salvare Parametri Negozio > Traffico & SEO > SEO & URL lo riscrive. Non svuota l’intero file. PrestaShop sostituisce solo il blocco compreso tra i suoi due commenti marcatori, # ~~start~~ e # ~~end~~, e conserva tutto ciò che si trova sopra o sotto di essi, esattamente come indicato dalla riga marcatore stessa. Quindi metti le tue regole fuori da quel blocco e sopravviveranno a ogni rigenerazione. Qualsiasi cosa incollata all’interno di esso viene persa al successivo salvataggio di quella pagina.

Su Apache, aggiungi questo al file .htaccess nella root del tuo negozio, sopra la riga # ~~start~~:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

La condizione deve essere off, cioè “reindirizza quando la richiesta non è già sicura”. Il flag R=301 è ciò che lo rende permanente; senza di esso ottieni un reindirizzamento temporaneo che non comunica ai motori di ricerca che qualcosa si è spostato.

Su Nginx non esiste il file .htaccess. Modifica invece il blocco server:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Verifica con nginx -t, poi ricarica con systemctl reload nginx.

Risolvere ciò che il passaggio lascia in sospeso

Svuota la cache di PrestaShop. Fai questo prima di tutto. Un frontend in cache continuerà a servire pagine piene di markup HTTP e farà sembrare rotto un passaggio già completato. Svuota anche la cache della tua CDN, se ne usi una.

Correggi i contenuti misti. Una pagina servita tramite HTTPS che carica ancora un’immagine, uno script o un foglio di stile tramite HTTP è un contenuto misto. I browser aggiornano silenziosamente alcune risorse, per lo più immagini e media, ma ne rifiutano altre apertamente, motivo per cui una pagina interessata può apparire senza stile. Su PrestaShop le fonti più comuni sono URL codificati direttamente nelle pagine CMS, nella configurazione dei moduli e nelle descrizioni dei prodotti incollate da altrove. La console del browser indica il file responsabile. La nostra guida su come risolvere i contenuti misti tratta la diagnosi in dettaglio.

Rigenera la tua sitemap in modo che elenchi URL https, e verifica che nessun modulo stia ancora scrivendo link http nelle email o nelle fatture.

Risoluzione dei problemi SSL di PrestaShop

SintomoCausaSoluzione
Ciclo di reindirizzamento infinito dopo l’attivazione di SSLModalità di crittografia Cloudflare impostata su Flexible, quindi invia HTTP alla tua origine mentre la tua origine reindirizza a HTTPSImpostare Cloudflare su Full (strict) e mantenere un certificato valido sull’origine
Accesso bloccato al back officeSSL attivato mentre il certificato è danneggiato o mancanteImposta entrambe le chiavi su 0 in ps_configuration, correggi il certificato, riprova
Lucchetto assente solo sulle pagine prodottoContenuto misto, di solito un’immagine prodotto o un asset di un moduloTrova la risorsa HTTP nella console del browser
Il negozio è diventato insicuro dopo settimaneUn certificato Let’s Encrypt è scaduto perché il rinnovo si è interrottoEmetti nuovamente, poi verifica il rinnovo automatico. Vedi certificati intermedi scaduti
Browser corretto, checkout o callback di pagamento fallisceCatena di certificati incompletaInstalla il bundle CA completo, riverifica con l’SSL Checker
Mismatch di nome su www o sul dominio principaleIl certificato copre solo uno dei due nomiEmetti nuovamente coprendo entrambi. Vedi common name non valido

Se il certificato è installato e il negozio continua a segnalarsi come non sicuro, le guide agli errori SSL trattano codici di errore specifici del browser.

Dopo il passaggio: checklist SEO

  • Aggiungi la proprietà HTTPS in Google Search Console. Una proprietà HTTP non riporta dati sugli URL HTTPS. Aggiungi quella nuova, oppure usa una proprietà a livello di dominio che copra entrambe.
  • Reinvia la sitemap con URL https.
  • Verifica che i tag canonical puntino a https su pagine prodotto e categoria.
  • Aggiorna i feed di Merchant Center, l’analytics e qualsiasi integrazione con marketplace che memorizza l’URL del tuo negozio. I feed prodotto con link http sono un problema comune che spesso viene trascurato.

Aspettati qualche oscillazione. Google considera il passaggio da HTTP a HTTPS come uno spostamento del sito con cambiamento di URL, quindi le impressioni si dividono per un po’ tra le tue due proprietà di Search Console e i posizionamenti fluttuano per alcune settimane. Purché ogni URL si risolva correttamente e i reindirizzamenti 301 siano attivi, non c’è nulla da correggere.

Una volta che HTTPS è stabile da un po’ di tempo, considera l’HSTS, che indica ai browser di rifiutare HTTP semplice per il tuo dominio. Lascia disattivata la direttiva preload all’inizio, poiché è lenta da annullare.

Domande frequenti

Come si attiva SSL in PrestaShop?

Installa prima un certificato sul tuo server, poi apri Parametri Negozio > Generale nel back office, clicca sul link che verifica se il tuo negozio supporta HTTPS, imposta Attiva SSL su Sì, imposta Attiva SSL su tutte le pagine su Sì, e premi Salva in fondo alla pagina. PrestaShop non emette certificati da sé.

Perché il pulsante Attiva SSL è disattivato (in grigio) in PrestaShop?

Verifica prima se l’interruttore è disattivato oppure completamente assente. Se Attiva SSL è assente, stai visualizzando il back office tramite HTTP semplice e PrestaShop mostra quell’interruttore solo su una connessione sicura, quindi ricarica il back office con un indirizzo https://. Se Attiva SSL su tutte le pagine è disattivata, ci sono tre motivi, in ordine di probabilità. Non hai scorso in basso e salvato, quindi la seconda impostazione non si è ancora sbloccata. Oppure la verifica HTTPS di PrestaShop è fallita perché il certificato manca, non copre il dominio che stai usando, oppure è installato senza i suoi certificati intermedi. Oppure l’impostazione è bloccata, nel qual caso puoi impostare PS_SSL_ENABLED e PS_SSL_ENABLED_EVERYWHERE su 1 direttamente nella tabella ps_configuration.

Qual è la differenza tra Attiva SSL e Attiva SSL su tutte le pagine?

Attiva SSL protegge solo le pagine di checkout e dell’account cliente, il che era l’approccio standard quando i negozi servivano tutto il resto tramite HTTP. Attiva SSL su tutte le pagine protegge l’intero negozio. La seconda opzione non è disponibile finché la prima non viene attivata e salvata. Su qualsiasi negozio moderno le vuoi entrambe.

Dove si trova l’impostazione SSL in PrestaShop?

Parametri Negozio > Generale nel back office. I tutorial più vecchi scritti per PrestaShop 1.6 chiamano la stessa schermata Preferenze > Generale, poiché il menu è stato rinominato nella versione 1.7.

Come si disattiva SSL in PrestaShop?

Riporta entrambi gli interruttori su No in Parametri Negozio > Generale e salva. Se un certificato danneggiato ti ha bloccato l’accesso al back office, esegui le stesse due istruzioni ps_configuration mostrate sopra con 0 invece di 1, poi svuota la cache. Disattivare SSL è una misura temporanea mentre correggi un certificato, non una soluzione: i gateway di pagamento non funzioneranno senza HTTPS.

Ho bisogno di un certificato SSL a pagamento per un negozio PrestaShop?

Non tecnicamente. Un certificato Domain Validation gratuito cifra il checkout esattamente come uno a pagamento, e soddisfa i gateway di pagamento. Un certificato a pagamento aggiunge una garanzia che copre le perdite in caso di guasto del certificato, un sigillo del sito per il checkout, dettagli aziendali verificati all’interno del certificato con OV o EV, e una copertura wildcard più semplice se gestisci un multistore su più sottodomini.

A quali versioni di PrestaShop si applicano questi passaggi?

PrestaShop 8 e PrestaShop 9, con le versioni 9.1.4 e 8.2.7 correnti a giugno 2026. PrestaShop 1.7 usa le stesse impostazioni nello stesso punto, ma non è più mantenuto da quando PrestaShop 9.0 è stato rilasciato a giugno 2025. PrestaShop 1.6 chiama la schermata Preferenze > Generale invece di Parametri Negozio > Generale.

Stai passando a HTTPS una piattaforma diversa, o vuoi conoscere la procedura generale? Consulta la nostra guida su come passare un sito da HTTP a HTTPS.

Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!

Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

Un'immagine dettagliata di un drago in volo
Scritto da

Scrittore di contenuti con esperienza, specializzato in certificati SSL. Trasforma intricati argomenti di cybersicurezza in contenuti chiari e coinvolgenti. Contribuisci a migliorare la sicurezza digitale attraverso narrazioni d'impatto.