I certificati SSL e HTTPS non sono opzionali per i negozi e-commerce. Oltre agli ovvi vantaggi di sicurezza, Google utilizza HTTPS come segnale di ranking dal 2014, i browser mostrano avvisi "Non sicuro" sulle pagine HTTP, e i fornitori di pagamento richiedono sempre piu HTTPS affinche le loro integrazioni funzionino. Se il vostro negozio PrestaShop e ancora su HTTP o ha una configurazione HTTPS non funzionante, correggerlo dovrebbe essere la vostra priorita assoluta.
Questa guida vi accompagna attraverso l'intero processo: ottenere un certificato, configurare PrestaShop, risolvere i problemi comuni e verificare che tutto funzioni correttamente.
Capire i certificati SSL
Cosa fa realmente SSL/TLS
SSL (Secure Sockets Layer) e il suo successore TLS (Transport Layer Security) crittografano la connessione tra il browser del vostro cliente e il vostro server web. Questo impedisce a terze parti di intercettare dati sensibili come password, numeri di carta di credito e informazioni personali durante la trasmissione.
Quando un browser si connette a un sito HTTPS, verifica il certificato SSL del server, stabilisce una connessione crittografata e mostra l'icona del lucchetto nella barra degli indirizzi. Questo processo avviene in millisecondi ed e invisibile all'utente al di la dell'indicatore del lucchetto.
Tipi di certificati SSL
Esistono tre tipi di certificati SSL, differenziati dal livello di validazione:
- Validazione del dominio (DV): Verifica che controlliate il dominio. I piu economici e rapidi da ottenere (minuti). Let's Encrypt li fornisce gratuitamente. Sufficienti per la maggior parte dei negozi PrestaShop.
- Validazione dell'organizzazione (OV): Verifica che la vostra organizzazione esista e controlli il dominio. Costa 50-200 EUR/anno. Mostra il nome dell'azienda nei dettagli del certificato ma non nella barra del browser. Fornisce una fiducia leggermente superiore per i negozi B2B.
- Validazione estesa (EV): La verifica piu approfondita, inclusi i controlli sull'entita legale. Costa 200-1.000 EUR/anno. In precedenza mostrava il nome dell'azienda in verde nella barra del browser, ma la maggior parte dei browser ha rimosso questa distinzione visiva. Il beneficio di sicurezza rispetto al DV e minimo per la maggior parte dei negozi.
Per la stragrande maggioranza dei negozi PrestaShop, un certificato DV gratuito di Let's Encrypt fornisce una sicurezza di crittografia identica a un certificato EV da 500 EUR. La forza della crittografia e la stessa. Risparmiate i vostri soldi e investiteli nel vostro negozio.
Passo 1: Ottenere un certificato SSL
Opzione A: Let's Encrypt (Consigliata)
Let's Encrypt e un'autorita di certificazione gratuita e automatizzata che emette certificati DV. La maggior parte dei provider di hosting moderni integra Let's Encrypt direttamente nei propri pannelli di controllo.
Su cPanel: Navigate su Stato SSL/TLS nella dashboard del vostro cPanel. Cliccate "Esegui AutoSSL" per ottenere e installare automaticamente i certificati per tutti i domini. AutoSSL di cPanel gestisce il rinnovo automaticamente ogni 60-90 giorni.
Su Plesk: Andate su Siti web e domini, selezionate il vostro dominio, cliccate su Certificati SSL/TLS e cliccate "Installa" accanto a Let's Encrypt. Abilitate il rinnovo automatico.
Da riga di comando (VPS/dedicato): Installate Certbot, il client ufficiale di Let's Encrypt. Per Apache su Debian/Ubuntu: eseguite il comando certbot apache. Per Nginx: utilizzate il comando certbot nginx. Certbot configura automaticamente il vostro server web e imposta un cron job per il rinnovo.
Opzione B: Certificato acquistato
Se avete bisogno di un certificato OV o EV, acquistatelo da una CA affidabile (Sectigo, DigiCert, GlobalSign). Il processo prevede la generazione di una Certificate Signing Request (CSR) sul vostro server, l'invio alla CA, il completamento del loro processo di validazione e l'installazione del certificato emesso.
Il team di supporto del vostro provider di hosting puo di solito assistere con l'installazione se non vi sentite a vostro agio con il processo.
Opzione C: Cloudflare (SSL gratuito)
Il piano gratuito di Cloudflare include SSL. Quando indirizzate il vostro dominio attraverso Cloudflare, fornisce SSL tra il visitatore e i server di Cloudflare. Potete scegliere la modalita "Full (Strict)", che crittografa anche la connessione tra Cloudflare e il vostro server (richiede un certificato sul vostro server, anche uno autofirmato).
Questa e una buona opzione se state gia utilizzando Cloudflare per CDN/protezione DDoS. Tenete presente che in modalita "Flexible", la connessione tra Cloudflare e il vostro server non e crittografata, il che non e veramente sicuro.
Passo 2: Abilitare HTTPS in PrestaShop
Una volta installato il certificato SSL sul server, dovete dire a PrestaShop di utilizzarlo.
In PrestaShop 1.7.x e 8.x:
Andate su Parametri del negozio > Generale nel back office. Impostate "Abilita SSL" su Si. Se non compaiono errori dopo il salvataggio, impostate anche "Abilita SSL su tutte le pagine" su Si.
Importante: Abilitate prima SSL, verificate che il back office funzioni, poi abilitatelo su tutte le pagine. Se abilitate entrambi contemporaneamente e qualcosa non va, potreste restare bloccati fuori dal pannello di amministrazione.
Se rimanete bloccati fuori
Se l'abilitazione di SSL interrompe l'accesso al back office, potete risolvere modificando direttamente il database. Connettetevi al vostro database e impostate il valore PS_SSL_ENABLED a 0 nella tabella ps_configuration. Questo disabilita SSL cosi potete accedere nuovamente all'admin per risolvere il problema.
Aggiornare gli URL del negozio
Andate su Parametri del negozio > Traffico e SEO > URL del negozio. Verificate che sia il dominio che il dominio SSL siano impostati correttamente. Devono essere identici (es. entrambi "vostronegozio.com" senza prefissi http:// o https://). Non aggiungete prefissi di protocollo in questi campi.
Passo 3: Configurare il redirect da HTTP a HTTPS
Dopo aver abilitato HTTPS, dovete reindirizzare tutto il traffico HTTP verso HTTPS. Questo serve a due scopi: garantisce che i visitatori utilizzino sempre la connessione crittografata e previene problemi di contenuto duplicato nei motori di ricerca.
Redirect .htaccess (Apache)
Aggiungete le seguenti regole al vostro file .htaccess nella directory root di PrestaShop. Posizionatele dopo "RewriteEngine On" ma prima delle regole di riscrittura esistenti di PrestaShop:
La condizione di riscrittura verifica che HTTPS non sia gia abilitato, e la regola di riscrittura reindirizza alla versione HTTPS dello stesso URL con un codice di stato 301 redirect permanente.
Importante: PrestaShop genera il proprio contenuto .htaccess. Se eseguite "Genera file .htaccess" dal back office (Parametri del negozio > Traffico e SEO), le vostre aggiunte personalizzate verranno sovrascritte. Aggiungete le regole dopo la rigenerazione oppure posizionatele in un file di configurazione include separato.
Redirect Nginx
Per i server Nginx, aggiungete un redirect nella configurazione del vostro blocco server. Create un blocco server separato che ascolti sulla porta 80 e restituisca un redirect 301 alla versione HTTPS dell'URI richiesto.
Redirect Cloudflare
Se utilizzate Cloudflare, abilitate "Usa sempre HTTPS" nelle impostazioni SSL/TLS. Questo gestisce il redirect a livello di CDN, che e piu efficiente dei redirect lato server.
Passo 4: Correggere il contenuto misto
Il contenuto misto si verifica quando una pagina HTTPS carica alcune risorse (immagini, CSS, JavaScript) tramite HTTP. I browser bloccano o avvisano riguardo a queste risorse non sicure, il che puo interrompere il layout delle pagine, disabilitare i form di pagamento e mostrare avvisi di sicurezza.
Trovare il contenuto misto
Aprite il vostro negozio in Chrome, premete F12 per aprire gli Strumenti per sviluppatori e controllate la scheda Console per gli avvisi di contenuto misto. Hanno questo aspetto: "Mixed Content: The page at https://... was loaded over HTTPS, but requested an insecure resource http://...".
In alternativa, utilizzate uno strumento online come WhyNoPadlock.com o SSL Checker di JitBit per scansionare le vostre pagine alla ricerca di contenuto misto.
Fonti comuni di contenuto misto in PrestaShop
- URL HTTP hardcoded nel contenuto CMS: Descrizioni dei prodotti, descrizioni delle categorie e pagine CMS che contengono URL assoluti con http://. Correggete cercando nel database gli URL http:// e sostituendoli con https:// o con URL relativi al protocollo //.
- Asset dei moduli: Alcuni moduli caricano file CSS o JavaScript utilizzando URL http://. Aggiornate il codice del modulo o contattate lo sviluppatore del modulo.
- Risorse esterne: Google Fonts, analytics, video incorporati o widget dei social media caricati tramite HTTP. Aggiornate i codici di incorporamento per utilizzare https://.
- Modifiche personalizzate al tema: Immagini di sfondo CSS o file di font referenziati con http:// nei fogli di stile del tema.
- Vecchi template email: Template email che includono immagini con URL http://. Aggiornateli in Design > Tema email.
Pulizia del database
Per una correzione approfondita, eseguite query di cerca-e-sostituisci sul vostro database per convertire gli URL HTTP rimanenti. Puntate ai campi descrizione prodotto, descrizione categoria, contenuto CMS e voci della tabella di configurazione. Fate sempre un backup del database prima di eseguire query di aggiornamento.
Passo 5: Aggiornare i servizi esterni
Diversi servizi esterni e configurazioni necessitano di aggiornamento dopo il passaggio a HTTPS:
- Google Search Console: Aggiungete la vostra proprieta HTTPS (https://vostronegozio.com) come nuova proprieta. Google tratta HTTP e HTTPS come siti separati.
- Google Analytics: Aggiornate il vostro URL predefinito nelle Impostazioni proprieta per utilizzare https://.
- Google Merchant Center: Aggiornate l'URL del vostro sito web se utilizzate feed per Google Shopping.
- Sitemap: Rigenerate la vostra sitemap per assicurarvi che tutti gli URL utilizzino https://. Se utilizzate un modulo SEO, rigenerate la sitemap attraverso il modulo. Su mypresta.rocks, il nostro modulo sitemap gestisce questo automaticamente quando le impostazioni SSL cambiano.
- Profili social media: Aggiornate l'URL del vostro sito web su Facebook, Instagram e altre piattaforme.
- Directory aziendali e backlink: Dove possibile, aggiornate i link esterni per utilizzare https://. Il redirect 301 gestisce questo per la SEO, ma i link HTTPS diretti sono sempre migliori.
Passo 6: Verificare che tutto funzioni
Dopo aver completato la configurazione, eseguite questa checklist di verifica:
- Visitate la vostra homepage su HTTPS - il lucchetto deve apparire senza avvisi
- Navigate le pagine prodotto, le pagine categoria e le pagine CMS - controllate gli avvisi di contenuto misto
- Completate un checkout di test - verificate che l'intero flusso di pagamento funzioni su HTTPS
- Controllate il back office - tutte le pagine admin devono caricarsi su HTTPS
- Verificate il redirect da HTTP a HTTPS - visitando http://vostronegozio.com dovete essere reindirizzati a https://vostronegozio.com
- Testate il redirect non-www verso www (o viceversa) - dovete avere un formato URL canonico unico
- Controllate il vostro certificato SSL con SSL Labs Server Test (ssllabs.com/ssltest) - puntate a un rating A o A+
Errori comuni e come risolverli
Loop di redirect
Se il vostro negozio entra in un loop di redirect infinito dopo l'abilitazione di SSL, la causa piu comune e un proxy o load balancer che termina SSL prima di raggiungere il vostro server. PrestaShop vede la connessione come HTTP e reindirizza a HTTPS, che il proxy reindirizza di nuovo, creando un loop.
Soluzione: Verificate se il vostro hosting utilizza un reverse proxy (comune con Cloudflare, AWS ELB o pannelli di hosting). Potreste dover impostare il controllo dell'header X-Forwarded-Proto nel vostro .htaccess o nella configurazione di PrestaShop.
CSS e JavaScript non si caricano
Se il vostro negozio appare rotto dopo l'abilitazione di HTTPS (nessuno stile, nessuna interattivita), controllate il blocco del contenuto misto. Il browser probabilmente sta bloccando le risorse HTTP. Controllate la console per gli errori e correggete gli URL.
Errori del gateway di pagamento
Alcuni gateway di pagamento hanno URL di webhook configurati che utilizzano ancora http://. Aggiornate gli URL di webhook/notifica nella dashboard del vostro fornitore di pagamento per utilizzare https://. I piu comuni: URL IPN di PayPal, endpoint webhook di Stripe, URL webhook di Mollie.
Immagini non caricate
Se le immagini dei prodotti o le immagini CMS scompaiono dopo la migrazione a HTTPS, probabilmente contengono URL http:// hardcoded. Eseguite la pulizia del database descritta nel Passo 4. Controllate anche che il vostro server di immagini o CDN supporti HTTPS.
Considerazioni sulle prestazioni
HTTPS aggiunge un piccolo overhead dovuto all'handshake TLS, ma sui server moderni e trascurabile (1-5 ms per nuova connessione). L'overhead e ulteriormente minimizzato da:
- HTTP/2: Disponibile solo su HTTPS e migliora significativamente le prestazioni attraverso multiplexing, compressione degli header e server push. La maggior parte degli hosting moderni supporta HTTP/2 automaticamente su HTTPS.
- Ripresa della sessione TLS: I visitatori di ritorno possono riprendere la loro sessione TLS senza un handshake completo, riducendo l'overhead quasi a zero.
- OCSP Stapling: Il vostro server puo includere il controllo di validita del certificato nell'handshake TLS, eliminando la necessita per il client di contattare separatamente la CA.
In pratica, abilitare HTTPS tipicamente migliora le prestazioni perche sblocca HTTP/2, che compensa ampiamente l'overhead TLS.
Mantenere la configurazione SSL
SSL non e una configurazione da impostare e dimenticare. Monitorate queste preoccupazioni continue:
- Rinnovo del certificato: I certificati Let's Encrypt scadono ogni 90 giorni. AutoSSL o Certbot dovrebbero gestire il rinnovo automaticamente, ma verificate che funzioni controllando periodicamente la data di scadenza del vostro certificato.
- Nuovi contenuti: Ogni volta che aggiungete nuovi contenuti CMS, descrizioni prodotto o incorporate risorse esterne, assicuratevi che utilizzino URL HTTPS.
- Aggiornamenti dei moduli: Nuovi moduli o aggiornamenti dei moduli possono introdurre contenuto misto. Testate dopo ogni installazione o aggiornamento di modulo.
- Header di sicurezza: Considerate l'aggiunta di header di sicurezza come HSTS (HTTP Strict Transport Security) per istruire i browser a utilizzare sempre HTTPS. Iniziate con un max-age breve e aumentatelo una volta sicuri che tutto funzioni.
La configurazione SSL/HTTPS e uno di quei compiti che sembra scoraggiante ma e in realta semplice quando suddiviso in passaggi. I benefici per la sicurezza e la SEO sono immediati e significativi. Se il vostro negozio PrestaShop non e ancora completamente su HTTPS, fatene il vostro progetto per questa settimana. I vostri clienti, il vostro posizionamento su Google e i vostri fornitori di pagamento ve ne saranno grati.
Articoli Correlati
- Sicurezza PrestaShop: La checklist completa per il rafforzamento
- Proteggere il Tuo Negozio PrestaShop: Una Guida Pratica per i Proprietari
- PrestaShop .htaccess: regole di sicurezza e performance indispensabili
Commenti
Ancora nessun commento. Sii il primo!
Sii il primo a fare una domanda o a condividere un feedback utile.
Lascia un commento
Condividi una domanda, un dettaglio di installazione o un feedback utile per un altro lettore.