Backend WooCommerce Lent?
Te confrunți cu un backend WooCommerce lent? Știm cu toții că este esențial ca magazinele să fie rapide pe front-end pentru a oferi o experiență de utilizare excelentă pentru cumpărători. Dar s-ar putea să nu știi că este la fel de important ca și backend-ul magazinului tău să fie rapid.
Viteza și eficiența tabloului de bord WordPress vă afectează productivitatea, capacitatea de a gestiona funcționarea zilnică a magazinului dvs. și modul în care puteți răspunde la orice probleme neașteptate care vă afectează site-ul.
În general, există trei cauze posibile pentru un backend WooCommerce lent:
- Cod PHP neperformant,
- Interogări neperformante de baze de date și
- Încărcare lentă a fișierelor.
Deci, cum diagnosticați și rezolvați aceste probleme? Am întrebat echipa Prospress – cei din spatele WooCommerce Subscriptions (cea mai populară extensie WooCommerce din lume), Robot Ninja și AutomateWoo – și am venit cu următoarele sfaturi, instrumente și sfaturi pentru a vă ajuta să identificați fiecare dintre cele trei probleme de mai sus și cum să implementați remedieri pentru ca backend-ul dvs. WooCommerce să funcționeze din nou fără probleme.
Noțiuni Introductive: Sfaturi Generale Pentru Accelerarea Backend-ului WooCommerce
Înainte de a explora, să recapitulăm câteva sfaturi generale de performanță. Fără îndoială, ați mai auzit de multe ori următoarele, dar este important să aveți o idee despre ele înainte de a trece la remediile mai implicate, care fac obiectul acestui articol.
1.Dezactivați/Ștergeți Pluginurile/Setările Neutilizate
Este cea mai bună practică să păstrați numai pluginurile de care aveți nevoie și să ștergeți restul. Acest lucru este în general recomandat din punct de vedere al securității și întreținerii WordPress.
Merită remarcat faptul că uneori oamenii se așteaptă că ștergerea unor plugin-uri va fi un impuls considerabil, dar nu este întotdeauna cazul. Deși numărul de pluginuri pe care le-ați instalat pe site-ul dvs. poate fi un factor de încetinire a lucrurilor, este mai probabil să existe o problemă cu calitatea pluginurilor dvs. (pe care le vom explora mai detaliat mai jos).
2.Țineți Actualizate WordPress Core, Plugin-urile și Temele
Performanța este întotdeauna un factor cheie pentru dezvoltatorii WordPress, fie că este vorba de echipa de bază care lucrează la cea mai recentă versiune de WooCommerce sau de dezvoltatorii de pluginuri și teme care își îmbunătățesc produsele.
Deci, o modalitate prin care puteți ajuta la îmbunătățirea și menținerea performanței site-ului dvs. este pur și simplu să țineți pasul cu actualizările de bază, pluginuri și teme pe măsură ce sunt lansate.
Este important să testați versiuni noi de WordPress, WooCommerce și orice pluginuri și teme pe care le utilizați înainte de a apăsa pe butonul de actualizare. Aceasta înseamnă să configurați un site de pregătire, să faceți cercetări și să efectuați teste amănunțite înainte de a vă actualiza site-ul de producție.
Pentru mai multe despre cum să testați și să actualizați site-ul dvs. WooCommerce, consultați ghidul – Actualizarea WooCommerce:
3.Alegeți/Comutați la o Gazdă Web Bună
Nu toate gazdele sunt la fel. Petrecerea timpului investigând opțiunile dvs. va ajuta foarte mult când vine vorba de performanța front-end-ului și backend-ului site-ului dvs.
Google este prietenul tău aici. Citiți recenziile, puneți o mulțime de întrebări și înscrieți-vă la gazda care vă satisface toate opțiunile. În timp ce găzduirea partajată este excelentă pentru site-urile mai mici și pentru cele noi în WooCommerce, merită să căutați soluții de găzduire WordPress gestionate și VPS care pot garanta resurse dedicate pentru site-ul dvs.
De preferință, alegeți o gazdă care acceptă PHP 7+ și dacă este posibil, oferă și unele funcționalități de cache integrate.
4.Utilizați Object Caching
Există o mulțime de opinii mixte și aparent înapoiate despre stocarea în cache a obiectelor. Dar să încercăm să clarificăm lucrurile: atunci când este făcută corect, memorarea în cache a obiectelor este o modalitate validă și dovedită de a vă accelera backend-ul WooCommerce.
Există multe gazde bune care oferă stocarea în cache a obiectelor imediată și uneori, tot ce trebuie să faceți este să cereți gazdei dvs. să o activeze.
În mod alternativ, dacă vă gestionați propria găzduire, pluginuri precum WP Redis cu un magazin de date Redis pot completa stocarea în cache a paginii front-end, accelerând în același timp tabloul de bord WooCommerce.
5.Dezactivați în Panoul de Control WordPress și WooCommerce Funcționalitățile de Care Nu Aveți Nevoie
Personalizarea a ceea ce este afișat în tabloul de bord poate părea redundantă, dar pentru unele site-uri, aceste modificări simple pot face o mare diferență pentru un backend WooCommerce lent:
- Eliminarea numărului de comenzi din meniul de administrare;
- Dezactivarea oricăror widget-uri de tablou de bord de care nu aveți nevoie sau nu mai utilizați atât pentru WooCommerce, cât și pentru WordPress;
- Ascunderea coloanelor de etichetă, prezentate și de tip admin din lista de produse WooCommerce; și
- Dezactivarea regenerării imaginii de fundal.
Plugin-urile precum WP Widget Disable vă pot ajuta să vă curățați widgeturile tabloului de bord. Pentru utilizatorii avansați, Luke Cavanagh de la Liquid Web a creat un plugin excelent care oferă ajustări de performanță pentru front-end și backend-ul WooCommerce, pe care îl puteți descărca din repo-ul său de la GitHub.
Pluginul lui Luke este o mină de aur de setări pe care le puteți dezactiva pentru a accelera tabloul de bord WooCommerce. Merită să subliniem că nu este foarte configurabil, așa că, dacă nu sunteți dezvoltator, vă recomand să continuați cu prudență. Viteza pe care o obțineți cu acest plugin, în ceea ce privește câștigurile de performanță, vor varia de la un site la altul.
Accelerarea Backend-ului WooCommerce
Acum, că ați exclus toate acele probleme generale de performanță ca fiind cauza încetinirii WooCommerce, probabil că puteți fixa un backend WooCommerce lent pe una dintre cele trei cauze posibile: cod PHP neperformant, interogări neperformante la baza de date sau lentă, încărcarea fișierelor sau chiar o combinație a tuturor celor trei.
Cauza Nr. 1 – Cod PHP Non-Performant
1.Actualizați la Cea Mai Recentă Versiune de PHP
Dacă site-ul dvs. rulează pe o versiune mai veche de PHP, în special pe orice versiune sub PHP 7, actualizarea la cea mai recentă versiune, 7+, vă va oferi câștiguri imediate de performanță.
PHP 7 este de până la șase ori mai rapid decât orice versiune anterioară de PHP și necesită mai puține servere pentru a vă livra site-ul WordPress la același număr de vizitatori. De fapt, testele de referință arată că PHP 5.6 execută o solicitare WordPress în mai puțin sub 100 de milioane de instrucțiuni CPU, în timp ce PHP 7 execută doar 25 de milioane pentru a face aceeași treabă.
Totuși, conform statisticilor WordPress.org, majoritatea site-urilor WordPress folosesc PHP 5.6.
De ce? Practic, pentru că gazdele web nu vor să distrugă site-urile clienților lor. Aceasta înseamnă că, dacă doriți ca site-ul dvs. să ruleze pe cea mai recentă versiune de PHP, va trebui să luați inițiativa și să o faceți singur sau să cereți ajutor furnizorului dvs. de găzduire.
Pentru a verifica ce versiune de PHP rulează site-ul dvs., pluginul Display PHP Version poate adăuga aceste informații la widgetul „Într-o privire” din tabloul de bord WordPress.
În timp ce actualizați PHP, este o idee bună să activați și OPcache. OPcache este o extensie PHP care îmbunătățește performanța PHP prin stocarea codului octet al scriptului pre-compilat în memoria partajată, eliminând astfel necesitatea ca PHP să încarce și să analizeze scripturile la fiecare cerere.
Când este activat, OPCache poate reduce timpii de răspuns cu până la 50%, conform Sitepoint. Extensia este încorporată în PHP 5.5+ și înlocuiește APC și este o alternativă la XCache ca accelerator PHP.
WP Rocket acceptă OPCache și include opțiunea de curățare.
2.Folosiți Numai Pluginuri Populare și Bine Acceptate
Nimeni nu dorește să folosească – sau dacă ești dezvoltator, scrie – cod sub-optimal. Dar, uneori lucrurile duc spre erori sau combinații ciudate de temă/plugin/găzduire și duce la blocaje de performanță. S-a întâmplat.
În cea mai mare parte, echipa Prospress a fost de acord că rămânerea la pluginuri populare, bine acceptate, este o opțiune bună. Cu toate acestea, unele plugin-uri populare sunt renumite pentru impactul lor asupra performanței site-ului.
În aceste situații, când lucrurile devin lente, metoda obișnuită de identificare a unui plugin deranjant este să vă dezactivați pluginurile unul câte unul până când problemele pe care le întâmpinați încetează. Dar, cu instrumentele potrivite de depanare, puteți identifica rapid problemele cu mai multă acuratețe.
Dacă sunteți un dezvoltator PHP, este posibil să fiți familiarizat cu instrumentele de profilare (de obicei, pe un site de testare local), precum cele incluse în XDebug, pentru a înregistra și analiza utilizarea PHP și pentru a identifica problemele de performanță.
În caz contrar, există câteva plugin-uri fantastice de depanare disponibile, care pot ajuta la identificarea oricăror probleme cu pluginurile dvs. Acestea sunt Query Monitor și Debug Bar (și diferitele sale suplimente, cum ar fi Debug Bar Slow Actions).
Ambele plugin-uri nu sunt strict pentru evaluarea performanței PHP, dar vă vor oferi o indicație bună dacă pluginurile dvs. sunt codificate pentru a utiliza interogări sub-optime (vom discuta acest lucru în secțiunea următoare).
Următoarea opțiune, dacă o aveți disponibilă, este să utilizați un serviciu puternic de performanță a aplicației pentru dezvoltatori, numită New Relic. Acest instrument fantastic (pe care îl voi explica mai detaliat mai jos) vă poate ajuta să vă familiarizați cu funcționarea interioară a unui site WordPress și să identificați erorile legate de pluginuri, fișiere de teme, interogări de baze de date, apeluri externe sau coduri care cauzează blocaje de performanță.
De exemplu, puteți obține o listă rapidă a celor mai consumatoare de timp plugin-uri și teme de pe site-ul dvs.:
Cauza Nr. 2. Interogări Neperformante în Baze de Date
1.Afișați un Număr Sensibil de Postări în Administrator
Paginile dvs. de administrator s-ar putea încărca lent pur și simplu pentru că încărcați prea multe pe ecran simultan, inclusiv postări și alte tipuri de obiecte, cum ar fi comenzi sau produse.
WordPress afișează implicit 20 de articole simultan. Dar am văzut că unii oameni afișează mai multe sute de articole simultan.
Într-o lume ideală, site-urile ar fi capabile să se ocupe de afișarea unui număr infinit de articole, dar pur și simplu nu este cazul. Deci, cel mai bine este să păstrați numărul de elemente afișate în tabloul de bord la un număr redus.
Verificați fila Opțiuni ecran din partea de sus a paginilor dvs. de administrare Comenzi, cupoane, abonamente și produse (în principiu, oricare dintre paginile de administrare care afișează liste de lucruri) și asigurați-vă că opțiunea „Număr de articole pe pagină” este setată la un număr adecvat pentru site-ul și găzduirea dvs.
2.Curățați-vă Baza de Date
Bazele de date WordPress devin adesea blocate cu multe mii de articole de care, în cea mai mare parte, s-ar putea să nu ai nevoie sau să nu le mai folosești vreodată. În funcție de găzduirea dvs., aceste mii de elemente ar putea face ca interogările bazei de date să dureze mai mult decât este necesar.
Elementele precum spam-ul, articolele aruncate în gunoi, revizuirile postate și elementele tranzitorii învechite (unde este cazul) pot fi curățate în mod regulat pentru a ajuta la reducerea dimensiunii bazei de date și la accelerarea bazei de date.
Există multe moduri diferite în care vă puteți curăța baza de date WordPress, inclusiv cu phpMyAdmin, pluginuri WordPress sau pur și simplu folosind funcția de optimizare a bazei de date din WP Rocket.
Pentru un ghid cuprinzător pentru curățarea bazei de date WordPress, consultați postarea: Cum să vă curățați baza de date WordPress ca un Profesionist.
Dacă administrați un magazin WooCommerce mare, merită să verificați pluginul gratuit Transients Manager de la Pippin Williamson pentru dezvoltatori.
3.Dezactivați Setările de Depanare Când nu le Utilizați
Activarea opțiunilor de depanare în WordPress poate avea un anumit impact asupra performanței site-ului dvs. WooCommerce. Deci, dacă nu aveți absolut nevoie de depanare activată pe site-ul dvs. live, verificați fișierul wp-config.php pentru a vă asigura că constantele de depanare precum WP_DEBUG și SAVEQUERIES sunt setate la false.
Intrarea WordPress Codex pentru SAVEQUERIES oferă chiar și un memento la îndemână atunci când utilizați această interogare:
BONUS: O armă Nu Atât de Secretă Pentru Analiza Interogărilor Bazei de Date: New Relic
Un instrument popular folosit foarte mult este New Relic.
Cu o platformă deschisă precum WooCommerce, este imposibil să cunoști toate interogările bazei de date care rulează pe site-ul tău. Singura modalitate sănătoasă de a diagnostica interogările lente este să obțineți vizibilitate în aplicația dvs. WordPress în ansamblu, inclusiv toate pluginurile, temele, codul personalizat și WordPress însuși. Acesta este exact ceea ce oferă New Relic.
Cu puține cunoștințe și câteva clicuri, este posibil să vedeți toate interogările bazei de date care consumă cel mai mult timp sau au cel mai lent timp de interogare în New Relic.
De exemplu, iată o captură de ecran care arată interogările bazei de date ordonate în funcție de timpul de interogare lent în New Relic pentru AutomateWoo.com:
Captura? New Relic a fost în mod normal dificil de configurat pentru proprietarii de magazine, deoarece necesită integrare cu serverul în sine, nu doar cu WordPress.
Din fericire, acest lucru se schimbă, deoarece unele gazde WordPress gestionate oferă acum integrare.
Dacă sunteți interesat să aflați mai multe despre funcționarea interioară a site-ului dvs. WooCommerce, luați în considerare să cereți gazdei dvs. acces New Relic. Vă va ajuta să vă concentrați asupra cauzei oricărei performanțe pentru un backend WooCommerce lent.
Dacă New Relic nu este o opțiune pentru dvs., așa cum am menționat mai sus, vă recomand pluginurile Query Monitor sau Debug Bar pentru a vă ajuta să analizați ce interogări rulează pluginurile dvs. atunci când vizitați diferite pagini de pe site-ul dvs. (atât pe front, cât și pe backend).
Atunci când a stabilit dacă un plugin este mai puțin decât optim, echipa celor de la Prospress a identificat următoarele semnale roșii pe baza experienței cu site-urile clienților:
- Plugin-uri care rulează interogări pe fiecare pagină de administrare, în loc să ruleze numai pe ale lor.
- Pluginuri care își încarcă codul pe alte pagini de administrare, indiferent dacă este necesar sau nu.
- Pluginuri care adaugă coloane suplimentare la anumite tipuri de obiecte, ceea ce necesită adesea interogări suplimentare.
- Plugin-uri care adaugă prea multe articole proprii în bara laterală de administrare WordPress.
Cauza Nr. 3. Încărcare Lentă a Fișierelor
1.Urmăriți Timpii de Încărcare a Fișierelor și Dimensiunile Fișierelor
Instrumentele pentru dezvoltatori de browser, cum ar fi Chrome Dev Tools sau Firefox Developer Tools, oferă o modalitate convenabilă de a vedea dacă există fișiere mari sau un număr excesiv de fișiere încărcate pe o pagină de administrare.
De exemplu, încărcarea în tabloul de bord de administrare pentru AutomateWoo.com, au putut sorta încărcările fișierelor în fila Rețea din Chrome Dev Tools și au putut vedea că există peste 1 MB de JavaScript care durează peste 1500 ms pentru a fi încărcate de pluginul Yoast SEO:
Este important că aceste fișiere vor fi stocate în cache local după o încărcare inițială, astfel încât impactul lor asupra performanței poate fi neglijabil. Fila Rețea poate oferi informații despre fișierele care nu sunt stocate în cache, ceea ce va avea un impact mare asupra timpului de încărcare, mai ales dacă sunt fișiere mari.
În cele din urmă, aceste instrumente pot fi folosite pentru a vedea câte fișiere sunt încărcate. Puteți vedea pe AutomateWoo.com, peste 100 de fișiere diferite sunt încărcate pe tabloul de bord admin. Mai multe fișiere înseamnă timpi de încărcare mai lenți!
Odată ce identificați orice blocaj, următorii cei mai buni pași sunt:
- Dezactivează pluginul ofensator (și/sau găsește un înlocuitor). Frumusețea ecosistemului WordPress este că avem de unde alege, o varietate de pluginuri și instrumente diferite disponibile pentru aproape orice aveți nevoie.
- Contactați autorul pluginului și comunicați-i descoperirile dvs. În acest fel, ei pot investiga și/sau remedia problema. Într-un fel, îi ajuți pe toată lumea, raportând probleme și/sau erori — WordPress se referă la comunitate!
Îmbunătățirile de Performanță vin la WooCommerce
Există două proiecte legate de baze de date aflate în dezvoltare activă, care sunt mai populare: Custom Product Tables și Custom Order Tables.
Aceste plugin-uri sunt în prezent disponibile pentru testare și anticipăm că ambele vor îmbunătăți considerabil performanța WooCommerce, făcându-l mult mai rapid pentru proprietarii de magazine.
Deci, dacă puteți, ajutați la testarea acestor plugin-uri și trimiteți feedbackul dvs. dezvoltatorilor. Cel puțin, veți obține o perspectivă a câștigurilor de performanță la care vă puteți aștepta odată ce sunt integrate cu core.
WooCommerce Custom Product Tables
Echipa de bază WooCommerce a lucrat pentru a rezolva problemele legate de utilizarea tabelului de bază de date post_meta WordPress pentru stocarea informațiilor despre produse. Soluția lor este pluginul Custom Product Tables.
Pluginul este conceput pentru a îmbunătăți performanța magazinului prin introducerea de tabele de baze de date concepute pentru comerțul electronic. În prezent este în versiune beta, dar va fi gata de producție în curând.
WooCommerce 3.5 a introdus recent hooks (cârlige) și filtrele necesare pentru ca pluginul să funcționeze. Aceasta înseamnă că proprietarii de magazine pot începe să-l testeze pe site-uri de pregătire înainte de integrarea sa cu core.
Testele arată îmbunătățiri de până la 30% ale timpilor de încărcare a paginii.
WooCommerce Custom Order Tables
Echipa Liquid Web lucrează la un plugin care introduce un tabel personalizat pentru a păstra toate informațiile despre comenzile cele mai comune pentru WooCommerce într-o singură locație, indexată corespunzător.
WooCommerce creează de obicei peste 40 de intrări post_meta separate pentru fiecare comandă. Aceasta înseamnă că dacă magazinul tău primește chiar și 10 comenzi pe zi, înseamnă 400 de rânduri noi în fiecare zi! Cu cât tabelul post_meta crește mai mare, cu atât vor dura mai mult timp executarea interogărilor, ceea ce poate încetini interogările și la rândul său, timpul de încărcare a paginii având ca rezultat un backend WooCommerce lent.
Pluginul Custom Orders Table salvează datele comenzilor într-un singur tabel plat, care este optimizat pentru interogările WooCommerce – o comandă înseamnă doar un rând nou, cu impact minim asupra performanței.
Concluzie
Dacă Backend WooCommerce lent și sfaturile obișnuite de optimizare a performanței nu vă ajută, ați putea avea o problemă cu codul PHP neperformant, interogările neperformante ale bazei de date sau încărcarea lentă a fișierelor sau chiar toate cele trei . Acest ghid vă va ajuta să diagnosticați orice probleme și să implementați remedieri.
Am putea continua toată ziua despre WooCommerce — cei de la Prospress sunt pentru a îmbunătăți puțin cea mai bună platformă de comerț electronic din lume, deoarece dorim să ajutăm antreprenorii să prospere cu WordPress.
Sunt câteva sfaturi avansate pe care nu le-am explorat în acest articol pe care ar trebui să le analizați, inclusiv utilizarea NGINX în loc de Apache și utilizarea cron real în loc de WP Cron.
În cele din urmă, vă încurajez să verificați pluginurile WooCommerce Custom Product Tables și WooCommerce Custom Order Tables pentru a vedea ce fel de câștiguri de performanță veți obține odată ce aceste plugin-uri sunt integrate cu core.
Nu uitați că pluginul potrivit de cache WordPress pentru WooCommerce va ajuta la îmbunătățirea performanței site-ului dvs.!