Guida SEO Passo 7: Sicurezza — La Base che Google Si Aspetta nel 2026
Guida SEO Passo 7: Sicurezza
Questo è il Passo 7 della Guida SEO in 13 Passi. La sicurezza non riguarda solo la protezione degli utenti, ma influisce direttamente sul tuo posizionamento nei motori di ricerca. Google utilizza HTTPS come segnale di posizionamento dal 2014 e le aspettative sono aumentate.
La maggior parte dei proprietari di siti pensa alla sicurezza come a un binario: "Abbiamo SSL, quindi siamo sicuri." In realtà, Google valuta dozzine di segnali di sicurezza. I siti con intestazioni di sicurezza adeguate, certificati validi e senza contenuti misti superano in classifica i siti con solo un certificato SSL di base, a parità di condizioni.
La buona notizia: la maggior parte delle correzioni di sicurezza sono configurazioni una tantum. Impostale una volta e proteggeranno permanentemente il tuo posizionamento.
Configurazione SSL
SSL (tecnicamente TLS) cripta la connessione tra il tuo server e i visitatori. Dal 2014, Google ha confermato esplicitamente HTTPS come segnale di posizionamento. Nel 2026, non avere HTTPS non è solo un problema di posizionamento: Chrome contrassegna i siti HTTP come "Non Sicuri" nella barra degli indirizzi, distruggendo la fiducia degli utenti.
Requisiti per un buon SSL:
| Requisito | Perché | Come Controllare | |-----------|--------|------------------| | Certificato valido | Scaduto = avviso del browser = utenti che abbandonano | Controlla la data di scadenza | | Catena completa | Catene incomplete possono non funzionare su alcuni dispositivi | Test di SSL Labs | | TLS 1.2+ | Le versioni più vecchie hanno vulnerabilità note | Test di SSL Labs | | No SHA-1 | Obsoleto, i browser lo rifiutano | Dettagli del certificato | | Copertura SAN | www e non-www devono essere entrambi coperti | Dettagli del certificato | | Auto-rinnovo | Previene disastri da scadenza | Configurazione di Let's Encrypt / fornitore |
Punteggio SSL:
100% = Certificato valido + Catena completa + TLS 1.3 + Cifratura forte + Auto-rinnovo
0% = Certificato scaduto o mancante
Errori comuni con SSL:
- Il certificato scade senza preavviso — Imposta il monitoraggio (Passo 6) almeno 30 giorni prima della scadenza
- Catena di certificato incompleta — Il server deve inviare i certificati intermedi, non solo quello finale
- Contenuti misti — Pagina HTTPS che carica risorse HTTP (immagini, script, fogli di stile)
- Cicli di reindirizzamento — Cicli HTTP → HTTPS → HTTP causati da CDN/proxy mal configurati
- Mismatch tra non-www e www — Il certificato copre uno ma non l'altro
Vittoria rapida: Esegui il tuo dominio tramite SSL Labs (ssllabs.com/ssltest). Qualsiasi punteggio inferiore a "A" ha problemi risolvibili. La maggior parte dei fornitori di hosting risolve questi problemi con un clic.
Intestazioni di Sicurezza
Le intestazioni di sicurezza sono intestazioni di risposta HTTP che istruiscono i browser su come comportarsi durante il caricamento del tuo sito. Prevengono intere categorie di attacchi — e i crawler di Google le controllano.
Le intestazioni di sicurezza essenziali:
Content-Security-Policy (CSP)
CSP è l'intestazione di sicurezza più potente. Indica ai browser esattamente quali risorse (script, stili, immagini, caratteri) possono essere caricate sulle tue pagine.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';
Cosa previene CSP:
- Attacchi di scripting tra siti (XSS)
- Attacchi di iniezione di dati
- Clickjacking (tramite
frame-ancestors) - Esecuzione non autorizzata di script (minatori di criptovalute, iniettori di pubblicità)
Strategia di distribuzione CSP:
- Inizia con
Content-Security-Policy-Report-Only(registra le violazioni senza bloccare) - Monitora i report per 1-2 settimane
- Aggiungi alla lista le fonti legittime
- Passa alla modalità di enforcement
- Aggiungi
report-urioreport-toper il monitoraggio delle violazioni
X-Frame-Options
Impedisce al tuo sito di essere incorporato in iframe su altri domini (protezione dal clickjacking).
X-Frame-Options: DENY
Oppure se hai bisogno di consentire il framing nello stesso dominio:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Impedisce ai browser di sniffare il MIME-type (interpretare i file come tipi diversi da quelli dichiarati).
X-Content-Type-Options: nosniff
Questa riga impedisce attacchi in cui un file .jpg contiene JavaScript nascosto che il browser potrebbe eseguire.
Referrer-Policy
Controlla quanta informazione sul referrer viene inviata quando gli utenti cliccano sui link dal tuo sito.
Referrer-Policy: strict-origin-when-cross-origin
Questo invia l'URL completo per le richieste dello stesso origin ma solo l'origine (dominio) per richieste cross-origin. Bilancia le esigenze analitiche con la privacy.
Permissions-Policy
Controlla quali funzionalità del browser (camera, microfono, geolocalizzazione, ecc.) possono essere utilizzate sul tuo sito.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
Disabilitare funzionalità che non usi evita che gli script di terze parti le abusino.
Esempio di implementazione intestazione (Next.js):
// next.config.js
module.exports = {
async headers() {
return [{
source: '/(.*)',
headers: [
{ key: 'X-Content-Type-Options', value: 'nosniff' },
{ key: 'X-Frame-Options', value: 'SAMEORIGIN' },
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
{ key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
{ key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
]
}]
}
}
Implementazione intestazione (Apache .htaccess):
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Implementazione intestazione (Nginx):
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Vittoria rapida: Aggiungi tutte e 5 le intestazioni sopra alla configurazione del tuo server. Questo richiede 5 minuti e migliora immediatamente la tua postura di sicurezza in qualsiasi strumento di scansione.
HSTS Preload
HTTP Strict Transport Security (HSTS) dice ai browser di utilizzare sempre HTTPS per il tuo dominio — anche prima della prima richiesta. Senza HSTS, la prima visita al tuo sito potrebbe comunque utilizzare HTTP (vulnerabile all'intercettazione) prima che avvenga il reindirizzamento a HTTPS.
Intestazione HSTS:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Le tre direttive:
| Direttiva | Significato | |-----------|-------------| | max-age=31536000 | Ricorda questo per 1 anno (in secondi) | | includeSubDomains | Applica a tutti i sottodomini | | preload | Richiedi inclusione nelle liste di preload dei browser |
Lista di caricamento HSTS:
La protezione HSTS definitiva. I browser vengono forniti con un elenco incorporato di domini che devono sempre utilizzare HTTPS. Inviare il tuo dominio a hstspreload.org significa:
- I visitatori per la prima volta ottengono immediatamente HTTPS (senza reindirizzamento HTTP → HTTPS)
- Impossibile per gli attaccanti degradare le connessioni
- Permanente (difficile da rimuovere una volta inviato)
Requisiti per HSTS preload:
- Certificato HTTPS valido
- Reindirizza tutto l'HTTP a HTTPS (compresi i sottodomini)
- Intestazione HSTS con
max-age>= 31536000 - Intestazione HSTS include
includeSubDomains - Intestazione HSTS include
preload - Tutti i sottodomini devono supportare HTTPS
Avvertenza: Invia solo per il preload se TUTTI i tuoi sottodomini supportano HTTPS. La direttiva includeSubDomains significa che qualsiasi sottodominio solo HTTP diventerà inaccessibile.
Vittoria rapida: Se hai già HTTPS su tutti i sottodomini, aggiungi l'intestazione HSTS completa e invia a hstspreload.org. L'elaborazione richiede alcune settimane ma la protezione è permanente.
Scansione delle Vulnerabilità
La scansione automatizzata delle vulnerabilità identifica problemi di sicurezza noti nella tua stack prima che gli attaccanti possano sfruttarli.
Cosa controlla la scansione delle vulnerabilità:
- Software obsoleto: WordPress, plugin, librerie JavaScript con CVE noti
- File esposti:
.env,.git,wp-config.php, dump del database - Perdita di informazioni: Intestazioni di versione del server, modalità di debug, stack traces
- Credenziali predefinite: Pagine admin senza autenticazione, password predefinite
- Porte/servizi aperti: Servizi non necessari esposti a Internet
- Punti di iniezione: Form senza protezione CSRF, input non validati
Vulnerabilità comuni per piattaforma:
| Piattaforma | Vulnerabilità principale | Correzione | |-------------|-------------------------|------------| | WordPress | Plugin obsoleti | Aggiornamento automatico + WAF | | Shopify | Permessi delle app di terzi | Audit della lista delle app trimestrale | | Next.js | Rotte API esposte | Middleware di autenticazione + limitazione della frequenza | | Siti statici| Misconfigurazione CDN | Rivedi le regole di cache | | Personalizzati | Iniezione SQL | Query parametrizzate |
Frequenza di scansione:
- Giornaliera: Scansione superficiale automatizzata (SSL, intestazioni, file esposti)
- Settimanale: Controllo delle vulnerabilità delle dipendenze (npm audit, scanner plugin di WordPress)
- Mensile: Scansione approfondita con test autenticati
- Dopo ogni distribuzione: Controllo delle regressioni
Vittoria rapida: Esegui npm audit (Node.js) o controlla la lista dei plugin del tuo CMS per componenti obsoleti. Risolvi immediatamente problemi di gravità critica/alta.
Contenuti Misti
I contenuti misti si verificano quando una pagina HTTPS carica risorse (immagini, script, fogli di stile, iframe) tramite HTTP. Questo rompe parzialmente la crittografia e attiva avvisi dei browser.
Tipi di contenuti misti:
| Tipo | Gravità | Esempio | Comportamento del Browser | |---------|---------|-----------------------|---------------------------| | Attivo | Alto | Script HTTP, iframe, CSS | Bloccato per impostazione predefinita | | Passivo | Medio | Immagine HTTP, video, audio | Caricato con avviso |
I contenuti misti attivi vengono bloccati dai browser moderni, il che significa che i tuoi script e stili non verranno semplicemente caricati. I contenuti misti passivi vengono caricati ma mostrano avvisi di sicurezza.
Come trovare contenuti misti:
- Apri Chrome DevTools → Console
- Cerca avvisi di "Contenuti Misti"
- In alternativa, scansiona con un crawler (Screaming Frog, LANGR)
Fonti comuni di contenuti misti:
- URL hardcoded
http://nel contenuto (post del blog, descrizioni dei prodotti) - Widget di terze parti che caricano risorse HTTP
- Contenuti incorporati (embed di YouTube obsoleti, widget dei social media)
- CSS
background-imagecon URL HTTP - Caratteri caricati tramite HTTP
Correzione dei contenuti misti:
<!-- Cattivo -->
<img src="http://example.com/image.jpg" />
<!-- Buono -->
<img src="https://example.com/image.jpg" />
<!-- Migliore (relativo al protocollo, si adatta al protocollo della pagina) -->
<img src="//example.com/image.jpg" />
Correzione del database (WordPress):
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');
Vittoria rapida: Apri la tua homepage in Chrome, premi F12 e controlla la scheda Console per avvisi di contenuti misti. Correggi qualsiasi avviso — questi sono direttamente visibili a Google.
Rischi degli Script di Terze Parti
Ogni script esterno che carichi è una potenziale responsabilità in termine di sicurezza (e performance). Gli script di terze parti possono:
- Essere compromessi (attacchi alla catena di forniture)
- Monitorare i tuoi utenti senza consenso (violazione del GDPR)
- Rallentare il tuo sito (blocco di rendering, latenza di rete)
- Rompere la funzionalità (aggiornamenti di versione, interruzioni)
- Iniettare contenuti indesiderati (script pubblicitari andati male)
Audita i tuoi script di terze parti:
| Script | Necessario? | Livello di Rischio | Alternativa | |-------------------|-------------|--------------------|---------------------------------| | Google Analytics | Spesso sì | Basso | Monitoraggio lato server | | Widget di chat | Forse | Medio | Soluzioni auto-ospitate | | Pulsanti di condivisione sui social | Raramente | Medio | Link di condivisione statici | | Test A/B | A volte | Alto | Test lato server | | Pixel di retargeting | Decisione aziendale | Alto | Dati di prima parte | | CDN di font | Comodo | Basso | Font auto-ospitati |
Mitigazione del rischio per script di terze parti essenziali:
- Integrità delle risorse (SRI): La verifica dell'hash impedisce il caricamento di script manomessi
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- Restrizioni CSP: Consenti solo script da domini noti
- Iframe sandbox: Isola i widget di terze parti
- Audits regolari: Rivedi trimestralmente tutte le risorse esterne
- Monitoraggio: Allerta su nuovi domini esterni che appaiono nelle tue pagine
Vittoria rapida: Elenca ogni tag nel tuo HTML che carica da un dominio esterno. Rimuovi qualsiasi cosa che non riconosci o di cui non hai più bisogno. Ogni rimozione migliora sia la sicurezza che la velocità della pagina.
Rilevamento Malware e Navigazione Sicura di Google
Google mantiene un elenco di Navigazione Sicura di siti noti per distribuire malware o ospitare contenuti di phishing. Essere elencati qui è catastrofico per la SEO — Google mostra un avviso a tutto schermo prima di consentire agli utenti di visitare il tuo sito.
Come i siti vengono segnalati:
- Sito compromesso che distribuisce malware (WordPress hackerato, ecc.)
- Script iniettati che reindirizzano a siti malevoli
- Pagine di phishing ospitate sul tuo dominio
- Contenuti generati dagli utenti che collegano a malware
- File ospitati contrassegnati come pericolosi
Controllare il tuo stato di Navigazione Sicura:
https://transparencyreport.google.com/safe-browsing/search?url=yourdomain.com
Oppure in Google Search Console: sezione Problemi di Sicurezza.
Prevenzione:
- Tieni tutto il software aggiornato (CMS, plugin, librerie)
- Usa password di amministrazione forti e uniche + 2FA
- Monitora l'integrità dei file (rileva modifiche non autorizzate)
- Scansiona i contenuti caricati dagli utenti
- Rimuovi plugin/temi non utilizzati
- Rivedi regolarmente gli utenti admin
Se sei segnalato:
- Identifica e rimuovi il contenuto di malware/phishing
- Aggiorna tutto il software e cambia tutte le password
- Richiedi una revisione in Google Search Console
- Le revisioni di solito richiedono 1-3 giorni
- Monitora attentamente per 30 giorni (è comune una reinfezione)
Vittoria rapida: Controlla il tuo sito su transparencyreport.google.com. Se pulito, assicurati che il tuo CMS e tutti i plugin siano aggiornati per mantenere così.
La Checklist di Sicurezza SEO
- [ ] Certificato SSL valido con auto-rinnovo configurato
- [ ] Reindirizzamento HTTP → HTTPS su tutte le pagine (301, non 302)
- [ ] Intestazione HSTS con max-age >= 31536000
- [ ] Intestazione Content-Security-Policy configurata
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY o SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Permissions-Policy che disabilita caratteristiche inutilizzate
- [ ] Nessun contenuto misto (risorse HTTP su pagine HTTPS)
- [ ] Nessun file sensibile esposto (.env, .git, file di configurazione)
- [ ] Intestazioni di versione del server rimosse o generiche
- [ ] Tutto il software/plugin aggiornato
- [ ] Stato di Google Safe Browsing: pulito
- [ ] Script di terze parti auditati e minimizzati
- [ ] Hash SRI sugli script esterni critici
Errori di Sicurezza Comuni (Classificati per Impatto SEO)
- Certificato SSL scaduto — Diminuzione immediata del posizionamento + avviso del browser
- Contenuti misti — Deteriora i segnali di fiducia, crittografia parziale inutile
- Nessun HSTS — Prima richiesta vulnerabile, segnali di postura di sicurezza debole
- Mancanza di CSP — Permette l'esecuzione di qualsiasi script (vettore XSS)
- File sensibili esposti —
.envcon chiavi API,.gitcon codice sorgente - CMS/plugin obsoleti — Sfruttamenti noti, compromissione eventuale
- Nessuna intestazione di sicurezza — Segnala che non hai considerato la sicurezza
- Script di terze parti eccessivamente permissivi — Fessure di sicurezza che non puoi controllare
Cosa C'è Dopo?
Passo 8: Visibilità AI — L'avanguardia della SEO nel 2026. Come ottimizzare per la Panoramica AI di Google, le citazioni di ChatGPT, i riferimenti di Perplexity e Gemini — il canale di scoperta in più rapida crescita che la maggior parte dei concorrenti non ha nemmeno preso in considerazione.
Questa guida fa parte della serie di SEO in 13 passi di LANGR. Esegui un audit gratuito per vedere a che punto si trova il tuo sito in tutte e 13 le discipline.