Quando il tuo sito web viene improvvisamente contrassegnato da Google come “Non sicuro”, e gli utenti vedono pop-up di avviso nelle pagine di login o pagamento, oltre il 63% delle persone chiude subito la pagina — il che significa perdita di traffico e un calo drastico della fiducia nel marchio!
Questo articolo fornisce soluzioni pratiche e immediate che puoi implementare anche senza conoscenze tecniche — in meno di 2 ore puoi rendere di nuovo sicuro il tuo sito!
Table of Contens
TogglePerché il tuo sito viene indicato come “non sicuro”?
Dal 2018, Google richiede che tutte le pagine con input da parte degli utenti (come login, pagamenti o moduli) abbiano un certificato SSL installato — altrimenti verranno automaticamente segnalate come “Non sicure”.
E anche se hai già installato un certificato SSL, potresti comunque ricevere avvisi se è scaduto (i certificati gratuiti durano solo 3 mesi), non corrisponde al dominio (es. il certificato è per domain.com ma l’utente accede a www.domain.com), oppure se la pagina contiene immagini o script da link HTTP, che causano un errore HTTPS.
HTTP è come trasmettere tutto “in chiaro”
Un sito e-commerce di una catena fisica non aveva attivato HTTPS, e un hacker ha intercettato i dati degli utenti che si registravano. Il team tecnico ha scoperto che bastava usare una WiFi pubblica e lo strumento Wireshark per rubare più di 200 password in 5 minuti.
Problemi principali:
- Con HTTP, tutti i dati (password, info di pagamento) sono inviati senza crittografia
- I siti HTTP hanno una probabilità 3,6 volte maggiore di essere manipolati rispetto a quelli HTTPS (fonte: report sicurezza Sucuri 2024)
- Google penalizza i siti HTTP riducendo il posizionamento SEO del 15%-20% (dati test SEMrush)
Dettagli “critici” del certificato SSL
Durante una campagna promozionale nel 2023, un sito di moda ha perso oltre 370.000 yuan in ordini perché il certificato SSL era scaduto e la pagina di pagamento è stata bloccata dal browser.
- Certificato scaduto: i certificati gratuiti (es. Let’s Encrypt) scadono dopo 90 giorni e vanno rinnovati
- Dominio non corrispondente: se il certificato è per
domain.com
ma l’utente visitawww.domain.com
, viene mostrato un avviso - Certificato intermedio mancante: può causare errori su Android come “catena di certificati incompleta”
Situazione attuale: il 43% dei siti HTTPS ha ancora errori di configurazione del certificato (dati SSL Labs 2024)
Contenuto misto: “un solo link HTTP rovina tutto”
Un amministratore WordPress ha detto: “Ho installato l’SSL ma mi mostra ancora ‘Non sicuro’!” Alla fine ha scoperto che il problema era un’immagine con link HTTP nel tema.
Cause comuni:
- Vecchi articoli con immagini linkate tramite HTTP (es.
http://image.com/1.jpg
) - Plugin di terze parti che usano API HTTP (es. chat live, pubblicità)
- Link HTTP inseriti nel database
Strumenti per controllare:
- Apri Chrome, premi F12 → guarda nel pannello Console per eventuali errori
- Usa SSL Checker per verificare il certificato
Minaccia nascosta: hijacking da parte di ISP locali
In alcune regioni, i provider internet (ISP) intercettano il traffico HTTP e inseriscono pubblicità o reindirizzamenti. Un’azienda dello Yunnan ha scoperto pop-up di gioco d’azzardo sulla propria homepage — in realtà era l’ISP che modificava il traffico.
In questi casi, il browser mostra un avviso di sicurezza, e gli utenti pensano che il problema sia del sito, portando a un aumento del 280% delle lamentele (fonte: studio站长之家)
3 modi per ottenere velocemente un certificato SSL gratuito
“Installare un certificato SSL è complicato? Serve un tecnico?” — Questa convinzione scoraggia oltre il 90% dei piccoli webmaster dal risolvere il problema del “Non sicuro”.
In realtà, ci sono oltre 430 milioni di siti che usano SSL gratuiti (dati BuiltWith), inclusi sottodomini di Amazon, WordPress e altri grandi nomi.
Un certificato gratuito è sicuro quanto uno a pagamento — l’unica differenza è il metodo di verifica.
1. Installazione con un clic dal pannello di hosting (ideale per principianti)
Quando usarlo: se utilizzi hosting condiviso o server cloud (come Alibaba Cloud, Tencent Cloud, SiteGround)
Passaggi operativi:
- Accedi al pannello di amministrazione del tuo hosting e cerca la sezione “SSL/TLS” o “Sicurezza”
- Seleziona “Certificato gratuito” e scegli i domini da proteggere (è possibile farlo anche in blocco)
- Clicca su “Distribuisci” e attendi 3–5 minuti per l’attivazione automatica
Tasso di successo:98%(La maggior parte dei provider di hosting cinesi ha già il sistema configurato correttamente)
Vantaggi:Non sono richieste competenze tecniche, rinnovo automatico, bassa probabilità di fallimento
Punti da considerare:
- Alcuni provider limitano il numero di certificati gratuiti (ad esempio, West.cn ne offre solo 1)
- Assicurati che il dominio punti all’indirizzo IP del server attuale
2. Let’s Encrypt + Certbot (preferito dagli sviluppatori)
Caso d’uso:Se hai un server dedicato (come Nginx/Apache) o gestisci più domini
Esperienza reale:Un blog con più di 100.000 utenti giornalieri ha cifrato automaticamente 100 sottodomini in soli 3 minuti
Procedura:
# Installa Certbot (esempio per Ubuntu + Nginx)
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
# Richiedi e configura automaticamente il certificato (sostituisci yourdomain.com)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
# Abilita il rinnovo automatico (il certificato è valido per 90 giorni)
sudo certbot renew --dry-run
Tasso di successo:92%(Dipende dalla configurazione del server)
Soluzioni per gli errori comuni:
Failed to connect to host for DVSNI challenge
→ Verifica se le porte 80/443 sono aperte nel firewallThe server experienced an internal error
→ Il DNS del dominio non è ancora stato aggiornato, attendi che si propaghi
3. HTTPS integrato nei servizi CDN (accelerazione + sicurezza)
Piattaforme supportate:Cloudflare, Baidu Cloud Acceleration, Tencent Cloud CDN
Guida operativa (esempio con Cloudflare):
- Crea un account e aggiungi il tuo dominio
- Vai alla sezione “SSL/TLS” e scegli la modalità “Flexible” (abbonamento HTTPS per l’intero sito)
- Attiva “Always Use HTTPS” e “Automatic HTTPS Rewrites”
Tempo di attivazione:Immediato (disponibile sui nodi globali)
Vantaggi principali:
- Non è necessario installare certificati sul server di origine
- Funziona anche con server HTTP più vecchi
- La versione gratuita supporta i certificati wildcard (*.dominio.com)
Limiti e soluzioni
Limite | Impatto | Soluzione |
---|---|---|
Durata breve | Let’s Encrypt è valido solo per 90 giorni | Configura un rinnovo automatico usando crontab |
Verifica solo la proprietà del dominio | Non appare il nome dell’azienda nel browser | I siti aziendali possono passare a certificati OV (da 300¥/anno) |
Limitazioni sui domini | Alcuni hosting supportano solo un dominio | Utilizza certificati wildcard (*.dominio.com) |
Verifica dei “contenuti misti”
“Perché il mio sito risulta ancora non sicuro dopo aver installato il certificato SSL?” — Questa è una domanda che il 78% degli amministratori di siti web si pongono dopo aver attivato HTTPS (Fonte: SSL Labs).
Il motivo? Contenuti misti: il tuo sito è protetto da HTTPS, ma alcune risorse (come immagini o script) vengono caricate tramite HTTP, il che può compromettere la sicurezza.
1. Impatti negativi dei contenuti misti
- Perdita di fiducia: i browser mostrano un’icona di avviso (su Chrome 94+ appare rossa)
- Funzionamento errato: alcuni browser bloccano le risorse HTTP (ad esempio immagini o script che non vengono caricati)
- Penalizzazioni SEO: Google considera la pagina “parzialmente sicura” e la sua posizione nei risultati di ricerca può scendere tra l’11% e il 15% (dati di Ahrefs)
2. Come identificare il problema in 3 minuti
Metodo 1: Usa gli strumenti per sviluppatori di Chrome
- Apri il sito web e premi F12 per accedere agli strumenti per sviluppatori
- Passa al pannello Console e guarda gli errori in rosso
- Clicca sul link nel messaggio di errore per accedere direttamente al pannello Sources e localizzare il codice con il problema
Metodo 2: Strumenti di scansione di terze parti
- Why No Padlock: Inserisci l’URL e genera in 5 secondi un elenco delle risorse inquinate
- Jitbit SSL Check: Scansione approfondita dei link incorporati in CSS/JS
Metodo 3: Ricerca globale nel database
Per sistemi di creazione di siti come WordPress/Shopify, è necessario verificare i contenuti storici nel database:
-- Trova i link HTTP (sostituisci your_db_prefix con il prefisso effettivo della tabella)
SELECT * FROM your_db_prefix_posts
WHERE post_content LIKE '%http://%' AND post_status='publish';
3. Fonti comuni di inquinamento e soluzioni
Tipo di problema | Percentuale | Scenario tipico | Soluzione permanente |
---|---|---|---|
Link esterni alle immagini | 52% | Immagini caricate in articoli prima del 2018 | Scarica l’immagine → Carica sul CDN del sito |
Codice di terze parti | 23% | Finestra di chat, script di reti pubblicitarie | Contatta il fornitore per ottenere la versione HTTPS del codice |
Tema/Plugin | 17% | Biblioteche di font di temi vecchi, richieste AJAX | Aggiorna il plugin o sostituisci manualmente http:// con // |
Hardcoding nel database | 8% | Link video inseriti manualmente nelle pagine dei prodotti | Sostituzione in blocco dei dati SQL (più sicuro con un plugin) |
4. Strategia di difesa permanente contro i contenuti misti
- Link relativi al protocollo: Cambia
http://example.com/image.jpg
in//example.com/image.jpg
- Politica di sicurezza dei contenuti (CSP): Aggiungi nel file di configurazione Nginx/Apache:
add_header Content-Security-Policy "upgrade-insecure-requests";
Forzare il reindirizzamento HTTPS su tutto il sito (esempio di codice)
“Perché, anche dopo aver installato il certificato, gli utenti riescono ancora ad accedere alla versione HTTP?” — Questo è il difetto più critico dopo la correzione del contenuto misto.
Un negozio di e-commerce per bambini ha visto una riduzione del 30% del suo ranking nei motori di ricerca perché il 40% degli utenti mobili continuava ad accedere alle pagine HTTP, causando una duplicazione dei contenuti da parte di Google.
La logica principale del reindirizzamento forzato è: intercettare tutte le richieste HTTP e reindirizzarle permanentemente su HTTPS con codice di stato 301.
1. Template di codice generico (per Apache/Nginx/IIS)
Server Apache (.htaccess)
RewriteEngine On
# Forza il reindirizzamento al dominio principale
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Corregge l’uso misto di www e non-www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Scenari di utilizzo: hosting virtuale, WordPress, Joomla e altri siti PHP
Consigli per evitare problemi:
- Assicurati che il modulo
mod_rewrite
sia attivo sul server - Il file deve essere caricato nella directory principale del sito
- Se il reindirizzamento non funziona, verifica la presenza di conflitti tra più file
.htaccess
Server Nginx (sezione di configurazione in nginx.conf)
server {
listen 80;
server_name example.com www.example.com;
# Reindirizzamento 301 dell'intero sito
return 301 https://$server_name$request_uri;
# Blocca i metodi HTTP sensibili
if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}
}
Trucchi per il debug:
- Dopo le modifiche, esegui
nginx -t
per testare la configurazione - Ricarica la configurazione con:
nginx -s reload
- Blocca i metodi HTTP non necessari per evitare la perdita di dati
Server Windows IIS (regole nel file web.config)
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Forza HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Errori comuni:
- Il modulo “URL Rewrite” non è installato in IIS → Link per il download ufficiale
- Errore di codifica dei percorsi cinesi → Aggiungere
encode="false"
nella regola
2. Soluzioni specifiche per i CMS
Utenti WordPress
- Accedi al pannello → Impostazioni → Generali
- Cambia Indirizzo WordPress e Indirizzo sito da
http://
ahttps://
- Installa il plugin Really Simple SSL → Risolvi i contenuti misti nel database con un clic
Framework come Shopify/Laravel
Forza HTTPS nel file delle variabili d’ambiente (.env
):
APP_URL=https://www.example.com
FORCE_SSL=true
SESSION_SECURE_COOKIE=true
3. Gestione speciale per dispositivi mobili (AMP/WeChat Browser)
- Reindirizzamento della pagina AMP: Aggiungi questo codice nell’HTML AMP:
- Problema di cache su WeChat: Aggiungi un parametro casuale alla fine dell’URL, come
?v=2024
, per forzare l’aggiornamento della versione HTTPS
4. Verifica se il reindirizzamento funziona
Test nel browser:
- Accedi a
http://example.com
→ L’indirizzo dovrebbe cambiare automaticamente inhttps://
- Controlla se il simbolo del lucchetto diventa verde dopo il reindirizzamento
Verifica da riga di comando:
curl -I http://example.com
# La risposta corretta dovrebbe includere:
# HTTP/1.1 301 Moved Permanently
# Location: https://example.com
Strumenti online per il controllo:
Avvisi di errore:
Configurazione errata → loop di reindirizzamento (ERR_TOO_MANY_REDIRECTS)
Cause comuni:
1. CDN che attiva il reindirizzamento HTTPS (conflitto con le regole del server)
2. Load balancer che non passa correttamente l'header del protocollo
Soluzione:
Aggiungi questa riga nella configurazione di Nginx:
proxy_set_header X-Forwarded-Proto $scheme;
Principi di reindirizzamento SEO-friendly:
- Usa il 301 Redirect (permanente) su tutto il sito, in modo che il ranking venga trasferito al 100%
- Evita i reindirizzamenti a catena (ad esempio, http→http://www→https), consentito al massimo un solo reindirizzamento
- Invia la sitemap della versione HTTPS su Google Search Console
Dal 2018, Google ha iniziato a considerare HTTPS come un fattore di ranking. I siti non criptati perdono mediamente dal 12% al 15% di traffico ogni anno, e questa perdita sta crescendo man mano che cresce la consapevolezza degli utenti sulla sicurezza.