Skip to main content
Back to blog

Ghid SEO Pasul 7: Securitate — Nivelul de bază pe care Google îl așteaptă în 2026

·13 min read·by LANGR SEO

Ghid SEO Pasul 7: Securitate

Acesta este Pasul 7 din Ghidul SEO de 13 Pași. Securitatea nu este doar despre protejarea utilizatorilor — ea impactează direct clasamentele tale de căutare. Google a utilizat HTTPS ca semnal de clasificare din 2014, iar așteptările au crescut doar.


Cei mai mulți proprietari de site-uri consideră securitatea ca fiind o opțiune binară: „Avem SSL, deci suntem în siguranță.” În realitate, Google evaluează zeci de semnale de securitate. Site-urile cu antete de securitate corespunzătoare, certificate valide și fără conținut mixt se clasează mai bine decât site-urile cu un simplu certificat SSL — totul fiind egal.

Vestea bună: cele mai multe remedieri de securitate sunt configurații unice. Setează-le o dată și ele îți protejează clasamentele permanent.

Configurarea SSL

SSL (tehnic TLS) criptează conexiunea între serverul tău și vizitatori. Din 2014, Google a confirmat în mod explicit HTTPS ca semnal de clasificare. În 2026, lipsa HTTPS nu este doar o problemă de clasare — Chrome marchează site-urile HTTP ca „Nu este sigur” în bara de adrese, distrugând încrederea utilizatorilor.

Cerințe pentru un SSL corespunzător:

| Cerință | De ce | Cum verifici | |---------|-------|--------------| | Certificat valid | Expirat = avertisment browser = utilizatori plecați | Verifică data expirării | | Lanț complet | Lanțuri incomplete eșuează pe unele dispozitive | Test SSL Labs | | TLS 1.2+ | Versiunile anterioare au vulnerabilități cunoscute | Test SSL Labs | | Fără SHA-1 | Deprecat, browserele îl resping | Detalii certificat | | Acoperire SAN | www și non-www trebuie să fie acoperite | Detalii certificat | | Auto-renewal | Previene dezastrele din expirări | Configurare Let's Encrypt / furnizor |

Scorare SSL:

100% = Certificat valid + Lanț complet + TLS 1.3 + Cipher puternic + Auto-renew
  0% = Certificat expirat sau lipsă

Erori comune SSL:

  1. Certificatul expiră fără notificare — Configurează monitorizarea (Pasul 6) cu minimum 30 de zile înainte de expirare
  2. Lanț incomplet de certificate — Serverul trebuie să trimită certificate intermediare, nu doar cel final
  3. Conținut mixt — Pagina HTTPS încarcă resurse HTTP (imagini, scripturi, foi de stil)
  4. Buclă de redirecționare — Cicli HTTP → HTTPS → HTTP cauzate de CDN/proxy configurat greșit
  5. Mismatch non-www vs www — Certificatul acoperă unul, dar nu și celălalt

Quick win: Rulează domeniul tău prin SSL Labs (ssllabs.com/ssltest). Orice sub o evaluare „A” are probleme care pot fi acționate. Majoritatea furnizorilor de găzduire rezolvă aceste probleme cu un singur clic.

Antetele de Securitate

Antetele de securitate sunt antete de răspuns HTTP care instruiesc browserele cum să se comporte atunci când încarcă site-ul tău. Ele previn întreaga categorie de atacuri — iar crawlerii Google le verifică.

Antetele de securitate esențiale:

Content-Security-Policy (CSP)

CSP este cel mai puternic antet de securitate. El indică browserelor exact ce resurse (scripturi, stiluri, imagini, fonturi) sunt permise să se încarce pe paginile tale.

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';

Ce previne CSP:

  • Atacuri de tip cross-site scripting (XSS)
  • Atacuri de injectare a datelor
  • Clickjacking (prin frame-ancestors)
  • Execuția scripturilor neautorizate (cryptominers, injectoare de reclame)

Strategia de implementare a CSP:

  1. Începe cu Content-Security-Policy-Report-Only (înregistrează încălcările fără a bloca)
  2. Monitorizează rapoartele timp de 1-2 săptămâni
  3. Listează sursele legitime
  4. Comută în modul de implementare
  5. Adaugă report-uri sau report-to pentru înregistrarea continuă a încălcărilor

X-Frame-Options

Previne încorporarea site-ului tău în iframe-uri pe alte domenii (protecție clickjacking).

X-Frame-Options: DENY

Sau dacă trebuie să permiți încorporarea din aceeași origine:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Previne browserele de la identificarea MIME-type (interpretarea fișierelor ca fiind tipuri diferite de cele declarate).

X-Content-Type-Options: nosniff

Această linie împiedică atacurile în care un fișier .jpg conține JavaScript ascuns care ar putea fi executat de browser.

Referrer-Policy

Controlează cât de multe informații despre referrer sunt trimise atunci când utilizatorii fac clic pe linkuri din site-ul tău.

Referrer-Policy: strict-origin-when-cross-origin

Acesta trimite URL-ul complet pentru cereri din aceeași origine, dar doar originea (domeniul) pentru cererile de cross-origin. Echilibrează nevoile analitice cu confidențialitatea.

Permissions-Policy

Controlează ce caracteristici ale browserului (cameră, microfon, geolocație etc.) pot fi utilizate pe site-ul tău.

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()

Dezactivarea caracteristicilor pe care nu le folosești împiedică scripturile de terță parte să le abuzeze.

Exemplu de implementare a antetului (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' },
      ]
    }]
  }
}

Implementarea antetului (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"

Implementarea antetului (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;

Quick win: Adaugă toate cele 5 antete de mai sus la configurația serverului tău. Acest lucru durează 5 minute și îmbunătățește imediat postura ta de securitate în orice instrument de scanare.

HSTS Preload

HTTP Strict Transport Security (HSTS) spune browserelor să folosească întotdeauna HTTPS pentru domeniul tău — chiar și înainte de prima cerere. Fără HSTS, prima vizită pe site-ul tău poate utiliza în continuare HTTP (vulnerabil la interceptare) înainte ca redirecționarea către HTTPS să aibă loc.

Antet HSTS:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Cele trei directive:

| Directivă | Semnificație | |-----------|---------------| | max-age=31536000 | Amintește aceasta timp de 1 an (în secunde) | | includeSubDomains | Aplică și tuturor subdomeniilor | | preload | Solicită includerea în listele de preload ale browserului |

Lista de preload HSTS:

Protecția HSTS supremă. Browserele vin cu o listă încorporată de domenii care trebuie să utilizeze întotdeauna HTTPS. Trimite domeniul tău către hstspreload.org înseamnă:

  • Vizitatorii care vin pentru prima dată obțin HTTPS imediat (fără redirecție HTTP → HTTPS)
  • Imposibil pentru atacatori să downgradeze conexiunile
  • Permanent (dificil de eliminat odată trimis)

Cerințe pentru HSTS preload:

  1. Certificat HTTPS valid
  2. Redirecționează tot HTTP către HTTPS (inclusiv subdomeniile)
  3. Antet HSTS cu max-age >= 31536000
  4. Antet HSTS include includeSubDomains
  5. Antet HSTS include preload
  6. Toate subdomeniile trebuie să suporte HTTPS

Atenție: Trimite pentru preload doar dacă TOATE subdomeniile tale suportă HTTPS. Directiva includeSubDomains înseamnă că orice subdomeniu doar HTTP va deveni inaccesibil.

Quick win: Dacă deja ai HTTPS pe toate subdomeniile, adaugă antetul HSTS complet și trimite către hstspreload.org. Procesarea durează câteva săptămâni, dar protecția este permanentă.

Scanarea Vulnerabilităților

Scanarea automată a vulnerabilităților identifică problemele de securitate cunoscute din stivă înainte ca atacatorii să le exploateze.

Ce verifică scanarea vulnerabilităților:

  • Software învechit: WordPress, pluginuri, biblioteci JavaScript cu CVE-uri cunoscute
  • Fișiere expuse: .env, .git, wp-config.php, dump-uri de baze de date
  • Scurgerea informațiilor: Antete de versiune server, modul de debug, tracțiuni de stivă
  • Credențiale implicite: Pagini de admin fără autentificare, parole implicite
  • Porturi/servicii deschise: Servicii inutile expuse pe internet
  • Puncte de injectare: Formulare fără protecție CSRF, intrări nevalidate

Vulnerabilități comune pe platforme:

| Platformă | Vulnerabilitate Principală | Remediere | |-----------|---------------------------|-----------| | WordPress | Pluginuri învechite | Actualizare automată + WAF | | Shopify | Permisiuni aplicații de terță parte | Auditează lista aplicațiilor trimestrial | | Next.js | Rute API expuse | Middleware de autentificare + limită de rată | | Site-uri statice | Configurare greșită CDN | Revizuiește regulile de cache | | Personalizat | Injectare SQL | Interogări parametrizate |

Frecvența scanării:

  • Zilnic: Scanare automată a suprafeței (SSL, antete, fișiere expuse)
  • Săptămânal: Verificarea vulnerabilităților dependențelor (npm audit, scanner pluginuri WordPress)
  • Lunar: Scanare detaliată cu testări autentificate
  • După fiecare livrare: Verificare de regresie

Quick win: Rulează npm audit (Node.js) sau verifică lista pluginurilor CMS pentru componente învechite. Remediază imediat problemele critice/serioase.

Conținut Mixt

Conținutul mixt apare atunci când o pagină HTTPS încarcă resurse (imagini, scripturi, foi de stil, iframe-uri) prin HTTP. Acest lucru sparge parțial criptarea și declanșează avertismente în browser.

Tipuri de conținut mixt:

| Tip | Severitate | Exemplu | Comportamentul Browserului | |-----|------------|---------|-----------------------------| | Activ | Ridicat | Script HTTP, iframe, CSS | Blocat implicit | | Pasiv | Mediu | Imagine HTTP, video, audio | Încărcat cu avertisment |

Conținutul mixt activ este blocat de browserele moderne — ceea ce înseamnă că scripturile și stilurile tale pur și simplu nu se vor încărca. Conținutul mixt pasiv se încarcă, dar arată avertismente de securitate.

Găsirea conținutului mixt:

  1. Deschide Chrome DevTools → Console
  2. Caută avertismente „Mixed Content”
  3. Alternativ, scanează cu un crawler (Screaming Frog, LANGR)

Surse comune de conținut mixt:

  • URL-uri hardcodate http:// în conținut (postări pe blog, descrieri de produse)
  • Widgeturi de terță parte care încarcă resurse HTTP
  • Conținut încorporat (embedded) (vechi embeduri YouTube, widgeturi de social media)
  • CSS background-image cu URL-uri HTTP
  • Fonturi încărcate prin HTTP

Remedierea conținutului mixt:

<!-- Rău -->
<img src="http://example.com/image.jpg" />

<!-- Bine -->
<img src="https://example.com/image.jpg" />

<!-- Cel mai bine (indiferent de protocol, se adaptează la protocolul paginii) -->
<img src="//example.com/image.jpg" />

Remediere bază de date (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');

Quick win: Deschide pagina ta de pornire în Chrome, apasă F12, verifică tab-ul Console pentru avertismente de conținut mixt. Remediază orice apare — aceste avertismente sunt vizibile direct pentru Google.

Riscurile Scripturilor de Terță Parte

Fiecare script extern pe care îl încarci este o potențială responsabilitate de securitate (și performanță). Scripturile de terță parte pot:

  • Fi compromise (atacuri de tip supply chain)
  • Urmări utilizatorii tăi fără consimțământ (încălcare GDPR)
  • Încetini site-ul tău (blocking rendering, latență de rețea)
  • Interfera cu funcționalitatea (actualizări de versiune, întreruperi)
  • Injecta conținut nedorit (scripturi publicitare care dau greș)

Auditează scripturile tale de terță parte:

| Script | Necesitar? | Nivel de risc | Alternativă | |--------|-----------|---------------|-------------| | Google Analytics | Adesea da | Mic | Tracking pe server | | Widgeturi de chat | Poate | Mediu | Soluții auto-găzduite | | Butoane de distribuire socială | Rareori | Mediu | Linkuri de distribuire statice | | Testare A/B | Uneori | Ridicat | Testare pe server | | Pixels de retargeting | Decizie de afaceri | Ridicat | Date de primă parte | | Font CDNs | Convenabil | Mic | Fonturi auto-găzduite |

Mitigarea riscurilor pentru scripturile de terță parte esențiale:

  1. Integritatea Subresurselor (SRI): Verificarea hash-ului împiedică încărcarea scripturilor compromise
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. Restricții CSP: Permite doar scripturi din domenii cunoscute
  2. Iframe-uri izolate: Izolează widgeturile de terță parte
  3. Audite regulate: Revizuiește trimestrial toate resursele externe
  4. Monitorizare: Alerta pe noile domenii externe care apar pe paginile tale

Quick win: Listează fiecare etichetă