Cum să Instalați un Certificate SSL pe Site-ul Dvs. WordPress
Un certificat SSL (Secure Sockets Layer / TLS) este o legătură de protocol criptografic care criptează datele în tranzit între un server web și un browser. Pe un site WordPress, instalarea SSL înseamnă că fiecare cerere HTTP este redirecționată către HTTPS, browserul afișează un lacăt, iar datele sensibile — credențiale de autentificare, trimiteri de formulare, detalii de plată — călătoresc printr-un canal criptat, nu în text simplu.
Pentru WordPress în mod specific, instalarea SSL implică trei straturi distincte: furnizarea certificatului la nivelul serverului sau al găzduirii, configurarea WordPress în sine pentru a servi toate resursele prin HTTPS și eliminarea avertismentelor de conținut mixt care compromit silențios contextul securizat. Dacă ratați oricare dintre acestea, site-ul dvs. va afișa fie un lacăt defect, fie va declanșa avertismente de securitate ale browserului, fie va eșua complet validarea HTTPS.
Pasul 1: Alegeți Tipul Corect de Certificat SSL
Nu toate certificatele SSL oferă același nivel de validare sau semnal de încredere. Selectarea tipului greșit este o greșeală comună care risipește bani sau, în direcția opusă, protejează insuficient un site care gestionează tranzacții sensibile.
Compararea Nivelurilor de Validare
| Tip Certificat | Nivel de Validare | Timp de Emitere | Recomandat Pentru | Semnal de Încredere Browser |
|---|---|---|---|---|
| — | — | — | — | — |
| **Domain Validated (DV)** | Doar proprietatea domeniului | Minute până la ore | Bloguri, site-uri personale, medii de dezvoltare | Pictogramă lacăt |
| **Organization Validated (OV)** | Domeniu + entitate juridică | 1–3 zile lucrătoare | Site-uri de afaceri, portaluri SaaS | Lacăt + detalii organizație în certificat |
| **Extended Validation (EV)** | Verificare juridică + operațională completă | 1–5 zile lucrătoare | E-commerce, banking, portaluri de înaltă încredere | Lacăt + numele organizației (unele browsere) |
| **Wildcard DV/OV** | Domeniu + toate subdomeniile | Minute până la zile | Implementări cu mai multe subdomenii | Lacăt |
| **Multi-Domain (SAN)** | Mai multe domenii distincte | Minute până la zile | Agenții care gestionează mai multe proprietăți | Lacăt |
SSL Gratuit vs. Plătit
Let's Encrypt emite certificate DV gratuite, automatizate, valabile 90 de zile cu suport de reînnoire automată prin protocolul ACME. Este de încredere pentru toate browserele majore și este alegerea corectă pentru marea majoritate a site-urilor WordPress. Fereastra scurtă de valabilitate este intenționată — forțează automatizarea și reduce fereastra de risc a unui certificat compromis.
SSL-ul gratuit Cloudflare funcționează diferit: criptează conexiunea dintre vizitator și marginea Cloudflare, dar conexiunea dintre Cloudflare și serverul dvs. de origine poate rămâne necriptată dacă nu configurați modul Full (Strict) cu un certificat de origine valid. Acesta este un caz limită frecvent înțeles greșit, care creează o falsă senzație de securitate.
Certificatele plătite de la CA-uri comerciale (DigiCert, Sectigo, GlobalSign) sunt necesare când aveți nevoie de validare OV sau EV, o garanție sau o configurație specifică SAN/Wildcard neacceptată de Let's Encrypt.
Dacă trebuie să achiziționați un certificat de încredere pentru domeniul dvs., AlexHost oferă Certificate SSL cu emitere și gestionare simplă direct din panoul contului dvs.
Pasul 2: Instalați Certificatul SSL la Nivelul Găzduirii
Certificatul trebuie instalat pe serverul web înainte ca WordPress să poată servi răspunsuri HTTPS. Metoda depinde de mediul dvs. de găzduire.
Instalarea SSL prin cPanel (Găzduire Partajată și VPS)
cPanel este cel mai comun panou de control pentru mediile partajate și gestionate. Dacă gazda dvs. folosește AutoSSL (susținut de Sectigo) sau acceptă Let's Encrypt nativ, un singur clic furnizează și reînnoiește certificatul automat.
Pași de instalare manuală când aveți fișiere de certificat de la un CA:
- Conectați-vă la cPanel și navigați la Security > SSL/TLS.
- Faceți clic pe Manage SSL Sites.
- Selectați domeniul țintă din lista derulantă.
- Lipiți conținutul a trei fișiere în câmpurile corespunzătoare:
- Certificate (CRT): Certificatul semnat de CA-ul dvs.
- Private Key (KEY): Generat în timpul creării CSR — nu îl partajați niciodată.
- Certificate Authority Bundle (CABUNDLE): Certificatele lanțului intermediar.
- Faceți clic pe Install Certificate.
Dacă rulați WordPress pe un VPS cu cPanel, AutoSSL gestionează de obicei acest lucru automat pentru toate domeniile din WHM. Verificați în WHM > SSL/TLS > Manage AutoSSL că domeniul este acoperit și că certificatul nu se află într-o stare de așteptare sau eșec.
Instalarea SSL pe un VPS cu Apache (Metodă Manuală)
Pe un VPS Linux auto-gestionat care rulează Apache, procesul necesită editarea directă a configurației virtual host.
Instalați Certbot (clientul Let's Encrypt) pe Debian/Ubuntu:
sudo apt update
sudo apt install certbot python3-certbot-apache -yObțineți și instalați certificatul automat:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.comCertbot modifică configurația virtual host Apache, instalează certificatul și configurează un cron job sau un timer systemd pentru reînnoire automată. Verificați că timerul de reînnoire este activ:
sudo systemctl status certbot.timerPentru Nginx pe un VPS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.comInstalarea manuală a certificatului pe Apache (când folosiți un certificat CA plătit):
Plasați fișierele de certificat într-un director securizat, apoi editați virtual host-ul:
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
SSLCertificateChainFile /etc/ssl/certs/yourdomain_ca_bundle.crt
</VirtualHost>Reporniți Apache pentru a aplica:
sudo systemctl restart apache2Dacă gestionați o instalare WordPress cu trafic ridicat pe un Server Dedicat, aveți control complet asupra suitelor de cifruri, antetelor HSTS și OCSP stapling — configurații care nu sunt posibile pe găzduirea partajată.
Instalarea SSL pe un VPS cu Nginx (Metodă Manuală)
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/ssl/certs/yourdomain.crt;
ssl_certificate_key /etc/ssl/private/yourdomain.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
root /var/www/html;
index index.php;
}Reîncărcați Nginx după editare:
sudo nginx -t && sudo systemctl reload nginxPasul 3: Forțați HTTPS la Nivelul Serverului cu o Redirecționare 301
Înainte de a modifica setările WordPress, aplicați redirecționarea HTTP-la-HTTPS la nivelul serverului. Aceasta este mai fiabilă decât să vă bazați exclusiv pe WordPress sau pe un plugin și împiedică browserul să încarce vreodată versiunea HTTP.
Apache: .htaccess Redirecționare
Deschideți fișierul .htaccess (aflat în rădăcina WordPress, de obicei /var/www/html/.htaccess sau accesibil prin cPanel File Manager) și adăugați următorul bloc deasupra regulilor de rescriere WordPress existente:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Capcană critică: Dacă plasați acest bloc *după* marcatorul # BEGIN WordPress, acesta poate fi suprascris de actualizările WordPress core. Plasați întotdeauna regulile de redirecționare la nivel de server deasupra blocului gestionat de WordPress.
Nginx: Redirecționare Bloc Server
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}Antet HSTS (Avansat, Recomandat)
Odată ce sunteți sigur că configurația HTTPS este stabilă, adăugați un antet HTTP Strict Transport Security pentru a instrui browserele să nu mai încerce niciodată o conexiune HTTP:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"Avertisment: Nu activați HSTS cu preload până când nu sunteți sigur că fiecare subdomeniu are și el un certificat SSL valid. Preîncărcarea este ireversibilă pe termen scurt și va defecta subdomeniile care nu au HTTPS configurat.
Pasul 4: Actualizați WordPress pentru a Servi Tot Conținutul prin HTTPS
Cu certificatul instalat și redirecționarea la nivel de server activă, WordPress însuși trebuie informat să genereze URL-uri HTTPS pentru toate linkurile interne, resursele și endpoint-urile API.
Opțiunea A: Actualizați Manual URL-urile Site-ului WordPress
- Accesați Settings > General în panoul de administrare WordPress.
- Schimbați atât WordPress Address (URL) cât și Site Address (URL) din
http://înhttps://. - Faceți clic pe Save Changes.
WordPress vă va deconecta imediat după salvare. Reconectați-vă folosind URL-ul HTTPS.
Opțiunea B: Actualizați URL-urile prin wp-config.php
Dacă nu puteți accesa panoul de administrare sau preferați o abordare bazată pe cod, adăugați aceste linii în wp-config.php înainte de linia /* That's all, stop editing! */:
define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');Opțiunea C: Actualizați URL-urile HTTP Hardcodate din Baza de Date
WordPress stochează URL-uri în baza de date, inclusiv date serializate în tabelele post meta și options. Un simplu find-and-replace pe SQL brut poate corupe array-urile serializate. Folosiți WP-CLI pentru o înlocuire sigură, conștientă de serializare:
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --skip-columns=guid --all-tablesFlag-ul --skip-columns=guid păstrează GUID-urile postărilor, care nu ar trebui modificate conform bunelor practici WordPress. Rulați această comandă din directorul rădăcină WordPress cu credențialele de bază de date corespunzătoare configurate în wp-config.php.
Alternativ, plugin-ul Better Search Replace efectuează aceeași operațiune prin interfața de administrare cu suport pentru serializare.
Pasul 5: Remediați Avertismentele de Conținut Mixt
Un avertisment de conținut mixt apare când o pagină HTTPS încarcă una sau mai multe resurse (imagini, scripturi, foi de stil, iframe-uri) prin HTTP. Aceasta compromite contextul securizat, suprimă lacătul și, în unele cazuri, determină browserele să blocheze complet resursa.
Diagnosticarea Conținutului Mixt
Deschideți instrumentele pentru dezvoltatori ale browserului (F12), accesați fila Console și căutați avertismente prefixate cu Mixed Content:. Mesajul va identifica URL-ul exact al resursei care cauzează problema.
Alternativ, folosiți instrumentul Why No Padlock? sau rulați o scanare SSL Labs pentru a obține un raport complet.
Remedierea Conținutului Mixt: Metoda cu Plugin
Really Simple SSL este cel mai utilizat plugin în acest scop. După activare, acesta:
- Setează variabila de server
HTTPSpentru a forța WordPress să recunoască conexiunea securizată. - Adaugă un filtru de conținut bazat pe JavaScript pentru a rescrie URL-urile HTTP din mers.
- Opțional, golește regulile de rescriere și actualizează URL-ul site-ului.
SSL Insecure Content Fixer oferă un control mai granular, permițându-vă să alegeți între o înlocuire simplă a bufferului de ieșire și o abordare mai profundă cu hook-uri de filtre WordPress — util când metoda JavaScript a Really Simple SSL cauzează probleme de randare cu anumiți constructori de pagini.
Remedierea Conținutului Mixt: Metoda Manuală
Pentru URL-urile HTTP hardcodate în fișierele temei sau în plugin-uri personalizate, căutați în directorul temei:
grep -r "http://yourdomain.com" /var/www/html/wp-content/themes/your-theme/Înlocuiți toate aparițiile cu https:// sau, mai bine, folosiți URL-uri relative la protocol (//yourdomain.com/...) pentru resursele terțe unde nu puteți garanta disponibilitatea HTTPS.
Pentru media încărcată înainte de migrarea SSL, rulați comanda WP-CLI search-replace din Pasul 4 dacă nu ați făcut-o deja, deoarece URL-urile atașamentelor de imagini sunt stocate în tabelele wp_posts și wp_postmeta.
Pasul 6: Validați Instalarea SSL
Nu presupuneți niciodată că instalarea a reușit — verificați-o sistematic.
Testul SSL Labs
Navigați la https://www.ssllabs.com/ssltest/ și introduceți domeniul dvs. Un site WordPress configurat corect ar trebui să obțină scorul A sau A+. Un rating A+ necesită:
- Suport TLS 1.2 și 1.3 cu TLS 1.0 și 1.1 dezactivate.
- O suită de cifruri puternică (fără RC4, fără 3DES).
- Antet HSTS prezent.
- OCSP stapling activat.
- Fără probleme de lanț (certificate intermediare instalate corect).
Verificare prin Browser
Faceți clic pe pictograma lacăt din bara de adrese. În Chrome, navigați la Connection is secure > Certificate is valid pentru a confirma că emitentul, datele de valabilitate și Subject Alternative Names (SAN-urile) corespund domeniului dvs.
Verificare prin Linie de Comandă
openssl s_client -connect yourdomain.com:443 -servername yourdomain.comAceasta afișează lanțul complet de certificate, cifrul negociat și versiunea TLS. Căutați Verify return code: 0 (ok) pentru a confirma că lanțul este de încredere.
Verificați Expirarea Certificatului
echo | openssl s_client -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -datesPentru certificatele Let's Encrypt, verificați și că rularea de test a reînnoirii automate funcționează:
sudo certbot renew --dry-runPasul 7: Întărire Post-Instalare și Curățare SEO
Actualizați Google Search Console
Adăugați versiunea HTTPS a site-ului dvs. ca o nouă proprietate în Google Search Console. Google tratează http:// și https:// ca proprietăți separate. Trimiteți sitemap-ul HTTPS (https://yourdomain.com/sitemap.xml) pentru a accelera re-crawlarea URL-urilor actualizate.
Actualizați Sitemap-ul și Etichetele Canonice
Asigurați-vă că sitemap-ul XML (generat de Yoast SEO, Rank Math sau similar) generează exclusiv URL-uri HTTPS. Verificați că etichetele canonice din <head> temei dvs. fac referire la HTTPS. O etichetă canonică care indică versiunea HTTP a unei pagini va deruta crawlerele chiar dacă redirecționarea 301 este activă.
Notificați Google despre Schimbare
În Google Search Console, folosiți instrumentul Change of Address doar dacă ați migrat la un domeniu complet nou. Pentru migrarea HTTP-la-HTTPS pe același domeniu, redirecționările 301 gestionează transferul semnalului — nu este necesar instrumentul de schimbare a adresei.
Considerații pentru WordPress Multisite
Pe o rețea WordPress Multisite, trebuie să actualizați valorile siteurl și home din tabelele wp_siteurl și wp_blogs pentru fiecare subsite, nu doar pentru site-ul principal. WP-CLI gestionează acest lucru per site:
wp search-replace 'http://subdomain.yourdomain.com' 'https://subdomain.yourdomain.com' --url=subdomain.yourdomain.com --all-tablesMatrice de Decizie Practică: Ce Metodă SSL să Folosiți
| Mediul dvs. de Găzduire | Metodă SSL Recomandată | Reînnoire | Efort |
|---|---|---|---|
| — | — | — | — |
| Găzduire partajată cu cPanel | AutoSSL sau Let's Encrypt prin cPanel | Automată | Minimă |
| [VPS Hosting](https://alexhost.com/vps/) cu Apache/Nginx | Certbot (Let's Encrypt) | Automată prin timer systemd | Scăzut |
| VPS cu cPanel/WHM | AutoSSL în WHM | Automată | Minimă |
| [Dedicated Server](https://alexhost.com/dedicated-servers/) | Certbot sau certificat CA plătit | Manuală sau automată | Medie |
| Domeniu proxiat prin Cloudflare | SSL Cloudflare + certificat de origine | Automată (Cloudflare) | Scăzut (dar verificați modul Full Strict) |
| Site E-commerce / de înaltă încredere | Certificat OV sau EV plătit | Reînnoire manuală anuală | Ridicat |
Concluzii Tehnice Cheie
- Instalarea certificatului și configurarea WordPress sunt pași separați. Un certificat instalat la nivelul serverului nu face automat WordPress să genereze URL-uri HTTPS. Ambele trebuie configurate.
- Conținutul mixt este cel mai frecvent eșec post-migrare. Rulați un search-replace în baza de date cu WP-CLI înainte de a activa orice plugin SSL pentru a prinde URL-urile HTTP hardcodate la sursă.
- Reînnoirea automată Let's Encrypt trebuie verificată, nu presupusă. Rulați
certbot renew --dry-rundupă configurarea inițială și monitorizați datele de expirare. O reînnoire eșuată vă defectează silențios site-ul după 90 de zile. - HSTS este o ușă cu sens unic. Nu setați un
max-agelung sau activațipreloadpână când fiecare subdomeniu are un certificat valid și sunteți angajat permanent la HTTPS. - SSL-ul gratuit Cloudflare nu este criptat end-to-end implicit. Setați modul SSL/TLS la Full (Strict) și instalați un certificat de origine pe serverul dvs. pentru a închide decalajul.
- Pe găzduirea partajată, verificați că SSL-ul furnizorului dvs. de găzduire acoperă atât domeniul apex (
yourdomain.com) cât și subdomeniulwww. Un certificat emis doar pentru unul va produce o eroare de nepotrivire a numelui pentru celălalt. - Datele serializate din bazele de date WordPress nu pot fi actualizate în siguranță cu SQL brut
REPLACE(). Folosiți întotdeauna WP-CLI sau un plugin conștient de serializare.
Pentru site-urile găzduite pe Găzduire Web Partajată, calea cea mai rapidă către SSL este activarea AutoSSL sau Let's Encrypt prin cPanel — întregul proces durează mai puțin de cinci minute și nu necesită acces la linia de comandă. Pentru implementări mai complexe care necesită configurare personalizată a cifrurilor, OCSP stapling sau certificate multi-domeniu, un VPS cu un panou de control configurabil vă oferă accesul necesar la nivel de server.
Întrebări Frecvente
Instalarea unui certificat SSL îmbunătățește direct clasamentul meu în Google?
Google a confirmat HTTPS ca semnal de clasament în 2014. Creșterea directă a clasamentului este modestă, dar beneficiile indirecte — rata de respingere redusă din cauza avertismentelor de securitate ale browserului, eligibilitatea pentru HTTP/2 și HTTP/3 și încrederea utilizatorilor — au un efect cumulativ măsurabil asupra performanței organice.
Care este diferența dintre SSL și TLS?
SSL (Secure Sockets Layer) este predecesorul depreciat al TLS (Transport Layer Security). Toate certificatele moderne folosesc TLS 1.2 sau 1.3. Termenul „certificat SSL” persistă ca prescurtare în industrie, dar niciun browser sau server nu a folosit SSL efectiv din 2015. Dacă serverul dvs. acceptă în continuare SSLv3 sau TLS 1.0, dezactivați-le imediat — sunt vulnerabile la atacurile POODLE și respectiv BEAST.
De ce site-ul meu afișează în continuare „Not Secure” după instalarea certificatului?
Cea mai frecventă cauză este o eroare de conținut mixt: cel puțin o resursă de pe pagină se încarcă prin HTTP. Deschideți instrumentele pentru dezvoltatori ale browserului, verificați consola pentru avertismente de conținut mixt și folosiți WP-CLI search-replace sau plugin-ul Really Simple SSL pentru a rescrie URL-urile problematice. O cauză secundară este că URL-ul Site-ului WordPress din Settings > General indică în continuare http://.
Cum reînnoiesc un certificat Let's Encrypt înainte să expire?
Certbot instalează un timer systemd sau un cron job care încearcă reînnoirea automată când certificatul este în termen de 30 de zile de la expirare. Pentru a forța o reînnoire imediată, rulați sudo certbot renew --force-renewal. Pentru a testa fără a face modificări, rulați sudo certbot renew --dry-run. Verificați jurnalul de reînnoire la /var/log/letsencrypt/letsencrypt.log dacă reînnoirea eșuează.
Pot instala SSL pe WordPress fără acces la server sau cPanel?
Da, prin Cloudflare. Adăugați domeniul dvs. la Cloudflare, îndreptați nameserver-ele dvs. către cele ale Cloudflare și activați setarea SSL/TLS. Segmentul vizitator-la-Cloudflare este criptat imediat. Cu toate acestea, setați modul la Full (Strict) și instalați un Certificat de Origine Cloudflare pe serverul dvs. pentru a cripta și segmentul Cloudflare-la-origine. Fără aceasta, conexiunea dintre Cloudflare și serverul dvs. rămâne necriptată, ceea ce reprezintă o vulnerabilitate de securitate semnificativă pentru orice site care gestionează date ale utilizatorilor.
