Ghid aproape complet despre procesul de actualizare WordPress

  • 13 mins read

După o experiență de 12 ani în administrarea site-urilor web, am scris pentru tine acest ghid „aproape complet” despre procesul de actualizare WordPress, în care am documentat toate aspectele tehnice ce trebuie avute în vedere pentru evitarea compromiterii site-ului tău și a experienței neplăcute a clienților tăi.

Scurtă introducere

Nevoia de actualizare a soft-urilor din site-ul tău vine din dorința de a oferi vizitatorilor ultimele funcționalități în materie de tehnologie web și totodată de a îmbunătăți experiența interacțiunii de navigare și informare paginilor din site-ul tău.

Odată cu actualizările pot apărea probleme de funcționare a site-ului și prin urmare ai nevoie de un proces de actualizare software bine pus la punct.

Mai jos am structurat pentru tine un proces de actualizare și expus recomandările mele ca urmare a experienței mele de 12 ani în servicii de mentenanță site-uri WordPress.

Ce soft-uri trebuie să actualizezi?

Într-un site WordPress există 3 tipuri de soft-uri de trebuie actualizate:

  • Core CMS (CMS este abrevierea de al Content Management System) – reprezintă soft-ul nucleu ce generează paginile web ale site-ului.
  • Tema – reprezintă interfața web a site-ului cu vizitatorului și conține toate configurațiile referitoare la aspect-ul site-ului (design)
  • Modulele adiționale (denumirea în engleză plugins este mult mai expresivă) – reprezintă blocuri funcționale ce extind funcționalitățile temei și a CMS-ului.

Îți recomand să ai o a doua temă instalată în site, inactivă, și anume o temă dezvoltată de WordPress (ex. Twenty Twenty Three). Scopul temei este temă de rezervă (fallback). În cazul în care tema selectată de tine (cea activă) are erori critice sau vulnerabilități de securitate aceasta va fi dezactivată, iar tema de rezervă devine vitală, deoarece un site WordPress nu funcționează fără temă activă. Și da, tema să actualizați frecvent chiar dacă nu este activă.

De câte tipuri sunt actualizările?

Fiecare tip de soft expus mai sus este supus unei recenzii cu privire la securitatea și calitatea codului sursă. Pentru a respecta aceste standard are codului sursă s-a implementat sistemul de versionare semantică a codului sursă, prin urmare fiecare versiune are 3 grupe depărțite prin punct, de exemplu versiunea actuală de WordPress (core CMS) este 6.3.2. ce reprezintă:

  • 6 – versiune majoră (major)
  • 3 – versiune minoră (minor)
  • 2 – versiune de fixare (patch)

Fiecare software are o listă denumită Changelog unde dezvoltatorii vor nota toate modifiările aduse soft-ului în fiecare versiune și data lansării versiunii.

Încep prin a explica în ordine inversă, pentru că este mai simplu de înțeles:

Luăm ca punct de reper versiunea 6.0.0 a WordPress lansată în data de 24 Mai 2022.. Echipa de dezvoltare are un plan bine stabilit pentru dezvoltarea noii versiuni majore, dezvoltă noile funcții, le testază dar în ciuda efortului depus au constatat ulterior lasării noi versiuni că există câteva disfuncționalități în site. Imediat după constatare vor deschide câte un ticket pentru fiecare disfuncționalitate în platforma lor de management al codului sursă și încep lucrul la remedierea disfuncționalităților. Versiunea stabilă 6.0.3. (care fixează erorile raportate și închide breșele de vulnerabilitate) a fost lansată abia in data de 17 Octombrie 2022. Având în vedere că versiunea 5.9.2 a fost la rândul ei stabilă și nu a avut probleme, în producție se poate amana actualizarea și se poate face direct de la 5.9.2. la 6.0.3. Și astfel veți scădea considerabil riscurile compromiterii.

Lista vulnerabilităților raportate se află pe site-ul WPScan sau PatchStack.

Lista defectelor WordPress (erori și disfuncționalități). Fiecare temă și modul are o secțiune dedicată de raportare. În pagina modului, în meniu este un link cu titlul suport.

Care este ordinea actualizărilor?

Pas 1 – core CMS

Pas 2 – tema

Pas 3 – modulele

Prin excepție

Dacă nu ai făcut de mult actualizări, trebuie să aplici un pas 0 și anume să actualizezi modulele prima dată. Modulele se actualizează la ultima versiune lansată compatibilă cu versiunea de core CMS instalată, dar nu după actualizarea core CMS vei constata că vor apărea versiuni mai noi la modulele deja actualizate. Acest proces ajuta la scăderea discrepanței dintre versiuni, și anume o compatibilitate mai mare.

Cum verifici compatibilitatea?  

WordPress are un sistem bine pus la punct de informare cu privire la compatibilitatea temelor și modulelor cu core CMS. În pagină de instalare temă nouă sau modul nou exista informația privind compatibilitatea dar este doar orientativă, de aici apar majoritatea problemelor.

Ghid aproape complet despre procesul de actualizare WordPress
verificare compatibilitate

Când să nu actualizezi soft-urile?

Este foarte probabil ca tema și modulele să fie dezvoltate de echipe distincte de dezvoltatori software. WordPress are o planificare foarte bună și notifică din timp dezvoltatorii cu privire la schimbările aduse noilor versiuni dar echipele de dezvoltare nu reușesc să lansare o versiune nouă a soft-ului care să fie compatibilă cu noua versiune de WordPress, prin urmare trebuie să aștepți lasarea versiunilor de temă/module compatibile pentru a evita disfuncționalitatea site-ului sau experiențe cu impact negativ pentru vizitatori.

Dacă timpul de așteptare este mare trebuie să iei în calcul înlocuirea temei și/sau a modulelor care se bucură de o popularitate mai are și suport tehnic mai bun.

Cum pregătești site-ul de actualizare?

Recomand să creați o instanță (copie a site-ului) pentru testarea actualizărilor (chiar și a funcționalități noi dezvoltate, depanare site, teste de stres, etc.). De exemplu instanța poate fi un subdomeniu de forma https://dev.nume-firma.ro. Această instanță diminuează considerabil riscul de experiențe neplăcute pentru vizitatori și evitatea blocajelor cauzate de nefuncționalitate a site-ului.

Având o astfel de instanță puteți comuta în modul depanare site-ul, inclusiv procesatori de plată sau firme de curierat și puteți testa fără presiunea că aveți site-ul nefuncțional.

Mai mult, dacă întâmpinați erori pe care nu reușiti să le fixați și apelați la dezvoltatorii soft-ului să depanere eroarea, de regulă aceaștia cer access la site să reproducă eroarea, având o instanță de test veți evita de a da acces dezvoltatorilor la informații despre business-ul vostru, inclusiv la datele clienților voștrii.

Dacă aveți licențe valabile pe un singur domeniu le puteți migra spre instanța de testare . Aceste licențe verifică autorizarea clineților înainte de descărcarea actualizărilor, apoi poți copia print-un client FTP pe instanța de producție (live).

Totodată, recomand generarea unei copii de siguranță a site-ului folosind un modulul All-in-One WP Migration înainte de demararea procesului de actualizare.  Diferența față de backup-ul generat este că cPanel este că aceasta generează o copie de siguranță exclusivă a site-ului, ceea ce te ajută să generezi/restaurezi copii când vrei și vei aștepta ca firma de găzduire să soluționeze cererea ta.

Cum faci actualizarea efectivă?

Recomand să folosiți modulul WP Toolkit din cPanel pentru actualizarea efectivă.  

print screen cPanel - WP Toolkit
print screen cPanel – WP Toolkit
Ghid aproape complet despre procesul de actualizare WordPress
print screen cPanel – WP Toolkit – autoupdate settings

Cum depanezi site-ul și jurnalizezi erorile?

Pentru a testa eficient actualizările site-ul WordPress trebuie comutat pe modul depanare (debug) navigând în secțiunea WP Toolkit în panoul de administrare a pachetului de găzduire cPanel, aveți opțiunea Debugging. Nu este suficientă testarea din interfața publică a site-ului, există erori care apar doar în anumite scenarii sau la apar doar când traficul de pe site este crescut (multe conexiuni concurente). De exemplu, echipa de recenzii software a WordPress solicită dezvoltatorilor ca soft-urile lor să nu genereze nici un fel de erori pentru a accepta temele sau modulele pe librăria wordpress.org.

Ghid aproape complet despre procesul de actualizare WordPress
WP Toolkit – Debug settings

Cum testezi “actualizarea”?

În timp ce testezi site-ul trebuie să fie configurat în modul depanare pentru a jurnaliza eventualele erori. Dezvoltatorii au realizat suite de teste dar există probabilitatea ca anumite scenarii să nu fie reproduse în testele lor, mai ales dacă ai temă sau module achiziționate din diverse platforme. Ei de regulă testează actualizările cu cele mai populare module din librăria publică și gratuită wordress.org. În standardele de programare impuse de WordPress pentru publicare de software există o procedură de urmat pentru evita conflictele între module dar această procedură nu este obligatorie pe alte platforme de vânzări software, așa că acest aspect este neglijat. 

Pentru testarea efectivă a actualizărilor trebuie consultată lista Changelogs și testare funcțiile care au avut modificări de cod, în versiunile de tip patch sau minor, iar în versiunile de tip major recomand testarea în integralitate a site-ului.

Recomand scrierea unor liste de teste care să acopere toate scenariile posibile de interacțiune a vizitatorilor cu site-ul tău și parcurgerea celor ce fac obiectul funcționalităților actualizate.

Cum restabilești actualizarea?

Cea mai ușoară metodă este instalarea modului WP Rollback (pentru temele și modulele gratuite descărcate de pe librăria wordpress.org).

Pentru soft-urile achiziționate de pe diverse platforme, în lipsa unei proceduri specifice, recomand descărcarea versiunii vechi folosind un client FTP înainte de actualizare și suprascrierea cu cele actualizate de pe server.

Cum dezactivezi actualizarea automată?

Actualizarea automată cauzează mult mai multe probleme decât neactualizarea la timp. De cele mai multe ori testarea in izolare realizată de către echipele de dezvoltatori nu este suficientă sau aceastia nu au suficientă expertiză în securizarea soft-urilor dezvoltate, prin urmare apar probleme de securitate, erori de programare sau incompatibillități între diverse module. În încercarea de a diminua munca, firmele de găzduire recomandă actualizarea automată, dar nu este o variantă eficientă, actualizarea se face doar la versiuni stabile și în compatibilitatea cu celalte soft-uri, ceea de impune o actualizare ca proces complex cu verificare și testare în prealabil. Aici vorbim despre versiunile majore și minore. Pentru versiunile de fixare, este corect, actualizare automată (adică cât mai curând posibil) pentru a evita situații neplăcute.

Prin urmare în WP Toolkit, la secțiunea Autoupdate settings, alegem opțiunea “Yes, but only minor (security) updates”.

Ghid aproape complet despre procesul de actualizare WordPress
Wp Toolkit – updates settings

Cum propagi actualizarea pe site-ul de producție?

Dacă vrei să actualizezi soft-uri gratuite descărcate din libraria wordpress.org le poți actualiza foarte ușor fie din panoul de adminsitrare wordpress, secțiunea actualizări, fie din WP Toolkit.

Dacă vrei să actualizezi soft-uri cumpărate de pe alte platforme trebuie să verifici procedura platformei respective pentru actualizări.

În timpul instalării actualizării site-ul se comută automat pe modul mentenanță.

Ghid aproape complet despre procesul de actualizare WordPress
Maintenance mode

Personalizarea aceste pagini se realizează din cPanel, secțiunea Toolkit.

Ghid aproape complet despre procesul de actualizare WordPress
Maintenance page customisation

Cum să planifici inteligent actualizarea?

În primul rând trebuie să consulți o platformă de analiză a traficului, eu folosesc Google Analytics, și să creezi un raport cu traficul în site pentru fiecare oră, iar în slotul unde identifică traficul cel mai mic este ideal de realizat actualizările.

În al doilea rând, tot din Google Analytics, trebuie să verifici când a fost pe site crawler-ul Google care indexează paginile site-ului (GoogleBot) dar și frecvența cu care vizitează site-ul, astfel ar fi indicat să nu faci actualizările când urmează ca acesta să indexeze site-ul, riști să pierzi din punctajul ranking iar paginile tale vor scădea din rezultalele căutării. Chiar dacă pagina (în mentenanță) are instrucțiuni pentru roboți să revină în 5 minute și să continue indexarea, din experiența proiectelor anterioare, robot-ul revină chiar și după 2 săptămâni, în funcție de frecvența cu care tu actualizezi paginile site-ului tău.

Majoritatea problemelor apar atunci când administratorii se grăbesc să actualizeze site-urile, așa că varianta câștigătoare este să instalezi actualizările pe instanța de test, să testezi și să aștepți 1-2 săptămâni pentru stabilizare versiune și adoptare patch-uri. De exemplu, în producție poți să ai versiunile 6.0.3, 6.1.3, 6.2.2, 6.3.2. și astfel ai cele mai mici șanse de a-ți compromite site-ul.

De ce sunt necesare actualizările?

Dincolo de beneficiile aduse prin adoptarea de noi funcționalități, echipele de dezvoltatori asigură suport tehnic limitat în materie de timp pentru fiecare versiune, ceea ce atrage riscul de a avea probleme în actualizarea soft-urilor în mod facil, vor apărea erori care pot duce la nefuncționalitatea site-ului. Din experiența proiectelor precedente pot să îți spun că actualizărilor de până la 1 an sunt ok de realizat, restul au necesitat intervenție în cod-ul sursă din cauza erorilor, ceea ce a implicat un buget mai mare de mentenanță cu plata per oră, calculat în funcție de orele de lucru necesare.

Bine de reținut

Soft-urile neactualizate duc la incompatibilități între soft-uri și reprezintă un risc mai mare de securitate pentru că sunt întotdeauna o prioritate în agenda atacatorilor.

Cum monitorizezi incidentele de securitate? 

În modulul WP Tookit ai opțiunea de Fix Vulnerabilities unde sunt raportate vulnerabilitățile, nivelul de severitate și versiunile în care acestea au fost fixate pentru actualizare.

Dacă nu ai cPanel, îți recomand să instalezi modulul WPScan care va scana zilnic soft-urile instalate în site și transmite emailuri cu vulnerabilitățile deschise și raportate și ce versiuni le fixează.

Cum verifici sănătatea site-ului?

În panoul de administrare, secțiunea Instrumente, sub secțiunea Sănătate site găsești informații referitoare la problemele din site și recomandări de îmbunătățire a configurațiilor. Tot aici găsești informații despre alocarea resurselor hardware pe server și informațiile despre pachetele software aflate pe server-ul ce facilitează găzduirea site-ul WordPress.

Concluzii

Actualizările aduc beneficii atât vizitatorilor cât și administratorilor de site-uri dar reprezintă un topic sensibil de cele mai multe ori din cauza estimării necorespunzătoare a impactului asupra funcționalității site-ului și experienței vizitatorilor. Îți recomand să eviți actualizările automate ale versiunilor minore și majore, și să îți creezi un plan bine definit de actualizare. Totodată, îți recomand actualizarea cu o întârziere de aproximativ 2 luni a versiunilor minore și majore pentru a crea spațiu (timp) de fixare a noilor versiuni și a lansa versiuni de tip fixare (îmi place traducerea peticire, este mai expresivă).


Acest articol a fost scris în limba română și tradus automat în limba engleză cu Google Translate, ne cerem scuze pentru eventualele greșeli de traducere.

Sper ca acest ghid actualizare WordPress să răspundă nevoilor tale. Dacă ai neclarități sau întrebări legate de acest subiect te rugăm să completezi formularul de la pagina Întreabă-ne orice și îți răspundem cât mai curând posibil.