Cum să-ți treci site-ul de pe HTTP pe HTTPS


Dacă ai un site WordPress și vrei să migrezi pe conexiune securizată HTTPS trebuie să urmezii acești pași:

  1. generare și instalare certificat SSL
  2. schimbare URL-uri de pe site din HTTP în HTTPS
  3. creare redirecționare de la HTTP la HTTPS
  4. adăugare versiune HTTPS în Google Search Console

Generare și instalare certificat SSL

autossl-in-progress

Dacă ai o găzduire web de la Simplenet, certificatul SSL pentru domeniul tău este emis automat și gratuit. Poți să-l re-emiți și manual, dacă e nevoie, urmând instrucțiunile de mai jos.

Dacă ai o găzduire cu cPanel, accesează interfața cPanel, mergi la secțiunea SSL/TLS Status, bifează domeniul tău și subdomeniile www și mail, apoi fă click pe butonul Run AutoSSL now și așteaptă până apare mesajul de succes.

Dacă ai o găzduire premium dedicată WordPress, accesează panoul de control, mergi la secțiunea Security, fă click pe cele 3 puncte din dreptul domeniului tău, apoi click pe Request Let’s Encrypt certificate. Click final pe butonul Request și așteaptă până apare mesajul de succes.

Schimbare URL-uri din HTTP în HTTPS

setari-wp

Schimbarea URL-urilor se poate face din interfața de administrare WordPress. Din wp-admin de la Settings > General, modificați cele 2 url-uri, în loc de HTTP puneți HTTPS și salvați.

Înainte de versiunea WordPress 5.7, schimbarea aceasta nu schimba și toate URL-urile elementelor din pagini (de ex. imagini sau linkuri).

Pentru modificarea tuturor URL-urilor de pe site, trebuie rulate o serie de interogări SQL în baza de date WordPress. Se poate face din cPanel prin secțiunea phpMyAdmin. Cele 4 interogări pentru modificarea URL-urilor sunt acestea:

UPDATE wp_options SET option_value = REPLACE(option_value, 'ORIGINAL_URL', 'NEW_URL');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'ORIGINAL_URL', 'NEW_URL');
UPDATE wp_posts SET guid = REPLACE(guid, 'ORIGINAL_URL', 'NEW_URL');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'ORIGINAL_URL', 'NEW_URL');

ATENȚIE

1. În codul de mai sus prefixul tabelelor bazei de date este cel default (wp_). Dacă aveți un alt prefix modificați cele 4 linii de cod în concordanță.

2. În loc de ORIGINAL_URL treceți domeniul actual, așa cum îl folosiți (dacă site-ul vostru e cu www treceți http://www.domeniu.ro, dacă e fără www treceți http://domeniu.ro). La NEW_URL treceți varianta cu https așa cum doriți să folosiți, cu www sau fără.

3. Dacă folosiți o temă care are Theme Options sau un plugin de tip page builder (Visual Composer) atunci rularea interogării SQL vă resetează tot ce ați configurat acolo și trebuie refăcute setările.

Situația se poate evita dacă eliminați prima linie (cea cu update wp_options) și le rulați doar pe celelalte 3.

Redirecționare de la HTTP la HTTPS

Dacă accesați site-ul pe url-ul normal (cu HTTP) și nu sunteți redirecționați automat către varianta cu HTTPS, e nevoie să adăugați o redirecționare 301 de la varianta cu HTTP la cea cu HTTPS.

Codul de adăugat în fișierul .htaccess este:

RewriteEngine On
RewriteRule ^.well-known - [L]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Adăugare versiune HTTPS în Google Search Console

Odată ce site-ul se încarcă corect pe HTTPS și apare lăcățelul verde pe toate paginile, adăugați site-ul (varianta cu HTTPS) în Google Webmaster Tools.

Modificați robots.txt și adăugați link către varianta cu HTTPS a sitemap.xml.

Regenerați fișierul sitemap.xml pentru a apărea toate linkurile cu HTTPS și adăugați-l în Google Webmaster Tools.

Potențiale probleme

O problemă cu migrarea la HTTPS este resetarea la zero a numărului de like-uri și share-uri ale articolelor. Like-urile nu se pierd, ele există însă doar pentru varianta cu HTTP.

Asta se poate rezolva cu un plugin de share numit Shared Counts care știe să preia și numărul de share-uri de pe HTTP. Plugin-ul e și compliant cu GDPR, adică nu folosește cookies.

O altă problemă pe care am observat-o pe site-urile care fac afiliere (marketing afiliat) este că trebuie modificate și linkurile de afiliere din HTTP în HTTPS altfel nu mai apare referrer-ul la statisticile din platforma 2Performant, respectiv Profitshare.

Certificatele SSL gratuite de la Let’s Encrypt nu sunt validate de toate browserele (cele vechi, fără suport SNI). De exemplu, la accesarea site-ului cu Internet Explorer 6/8 de pe Windows XP va apărea eroarea de certificat invalid. E o problemă minoră, în general nu se mai folosesc browserele respective.

Certificatele SSL gratuite de la Let’s Encrypt nu se pot reînnoi automat dacă aveți Cloudflare activ, trebuie folosit certificatul SSL emis de Cloudflare în loc de certificatul SSL emis de Let’s Encrypt din panoul de control al găzduirii.

Migrarea la HTTPS trebuie tratată cu foarte mare seriozitate, e la fel ca și cum ați migra pe un alt domeniu. Majoritatea problemelor se pot evita, dacă se lucrează cu atenție.

Avatar Andrei Chira

Comentarii

18 răspunsuri

  1. Avatar Coffee

    Crezi ca e obligatorie migrarea dacă vrei o pozitie bună în Google?

    1. Nu cred. Impactul https asupra pozitionarii in Google este foarte mic.

  2. Pentru un magazin online, fara modalitati de plata online, este recomandata trecerea la https?

    1. Dacă procesati date cu caracter personal este bine să aveți https însă nu știu să vă spun dacă este mai mult o recomandare de best practice sau e chiar o obligație.

  3. La partea de import in sql ar trebui specificat ca trebuie sa tii cont de numele tabelelor tale din baza de date. daca ai adaugat table prefix, o sa fie alt nume.

    De exemplu tu ai wp_options, la mine era _tkoptions.

    In rest, pare sa mearga. Mersi de tutorial!

    1. Asa e, trebuie atentie.

  4. Salut Andrei. Foarte bun articolul. Util.
    Insa cu plugin-ul Visual Composer comanda SQL:

    UPDATE wp_options SET option_value = REPLACE(option_value, ‘ORIGINAL_URL’, ‘NEW_URL’);
    UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, ‘ORIGINAL_URL’, ‘NEW_URL’);
    UPDATE wp_posts SET guid = REPLACE(guid, ‘ORIGINAL_URL’, ‘NEW_URL’);
    UPDATE wp_posts SET post_content = REPLACE(post_content, ‘ORIGINAL_URL’, ‘NEW_URL’);

    nu face decat sa lucrezi la link-ul de pe fiecare shortcode inserat cu acest plugin.
    In rest, perfect, util.

    1. Nu prea inteleg, deci daca folosesti Visual Composer atunci url-urile din content-ul bagat prin acest plugin nu se inlocuiesc atunci cand ruleaza comanda sql respectiva?

    2. Nu. Am rulat aceasta comanda si a trebuit sa restaurez baza de date ca sa nu muncesc in zadar. Am reluat procesul de migrare fara sa execut aceasta comanda si este in regula. Am inlocuit manual url-urile cu Visual Composer si e ok.

    3. Da, am verificat si eu si, intr-adevar, daca folosesti o tema care are Theme Options atunci rularea interogarii sql iti reseteaza tot ce ai configurat acolo si trebuie refacute setarile.
      Situatia se poate evita daca elimini prima linie (cea cu update wp_options) si le rulezi doar pe celelalte 3.

  5. Salut, am urmat tutorialul tau si am o problema, nu-mi redirectioneaza decat prima pagina, celelalte link-uri sunt 404.
    In Mysql nu a dat nicio eroare:

    UPDATE wp_options SET option_value = REPLACE( option_value, ‘http://www.servicegsm.info’, ‘https://www.servicegsm.info’ ) ;# 9 rows affected.
    UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, ‘http://www.servicegsm.info’, ‘https://www.servicegsm.info’ ) ;# 2 rows affected.
    UPDATE wp_posts SET guid = REPLACE( guid, ‘http://www.servicegsm.info’, ‘https://www.servicegsm.info’ ) ;# 475 rows affected.
    UPDATE wp_posts SET post_content = REPLACE( post_content, ‘http://www.servicegsm.info’, ‘https://www.servicegsm.info’ ) ;# 258 rows affected.

    Am urmat si tutorialul de aici: https://designmodo.com/wordpress-https/

    Ceva idei? Merci

    1. In wp-admin, mergi la Settings > Permalinks si salveaza.

  6. Avatar Viorel

    Salut ca imi iei sa imi muti si mie website-ul pe https?

    1. Daca doriti sa efectuam noi mutarea, va putem ajuta cu generarea certificatului SSL din cPanel, redirectionarea de la http la https si inlocuirea in baza de date a url-urilor la un cost de 100 lei + tva.

      O problema ar fi cu plugin-urile de tip page builder, gen Visual Composer, Divi Builder etc. Continutul creat cu acest tip de plugin trebuie editat manual, va trebui sa se inlocuiasca manual url-uri (https in loc de http) iar acest lucru va trebui sa-l faceti dvs.

    2. Avatar Viorel

      Salut nu am astfel de pluginuri instalate. Am vazut ca faceti si migrare catre un nou domeniu. Astept un mail sa imi spuneti cat doriti sa imi faceti redirect-ul catre https si mutarea website-ului de pe un domeniu pe altul

    3. Buna ziua,

      Puteti deschide un tichet de suport din contul de client si vom continua discutia in cadrul tichetului.

  7. Avatar Doina Pop

    Buna ziua
    Vreau si eu o trecere a website pe https.

    1. Bună ziua,

      Doar pentru site-uri construite pe platforma WordPress putem să efectuăm aceste operațiuni.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *