· hutor.tech
Popis provjera za performanse WordPressa
Spora stranica na WordPressu rijetko je spora iz tajanstvenog razloga. Gotovo u svakom slučaju na koji nas zovu uzrok je jedan od pet, a najbrži put do odgovora je provjeriti ih redom umjesto kupiti veći server.
Izmjerite prije nego što išta dirnete. Učitajte stranicu s otvorenim alatima za programere i zabilježite dva broja: vrijeme do prvog bajta i vrijeme prikaza najvećeg elementa. Spor prvi bajt problem je servera — PHP, baza, udaljeni API. Brz prvi bajt uz sporu stranicu problem je frontenda — slike, fontovi, skripte. Ta dva puta gotovo da nemaju zajedničkih rješenja, pa pogrešna pretpostavka stoji dan.
Ako je spor server, instalirajte Query Monitor i pogledajte stranicu koju ispitujete. Pokazat će broj upita, najsporiji među njima, HTTP pozive tijekom iscrtavanja i dodatak koji ih je poslao. Uobičajeni krivci:
— dodatak koji pri svakom učitavanju zove vanjski API bez predmemorije i bez timeouta;
— upit nad meta poljem bez indeksa u tablici sa stotinama tisuća redaka;
— automatski učitane opcije narasle na nekoliko megabajta;
— tema koja pokreće `wp_query` u petlji umjesto jednog upita s `post__in`.
Predmemoriju provjerite, nemojte je pretpostaviti. Cijela stranica u predmemoriji ispred PHP-a najveći je dobitak koji sadržajna stranica može imati, a zaslon postavki dodatka nije dokaz da radi. Zatražite stranicu dvaput i pročitajte zaglavlja odgovora; ako vam ništa ne kaže da je predmemorija pogođena, nije. Pazite na dva klasična ubojice predmemorije: kolačić postavljen svakom posjetitelju i parametar u adresi koji dodaje oglasna platforma.
Na frontendu su dobici dosadni i pouzdani: slike u WebP formatu u veličini u kojoj se prikazuju, izričiti width i height, lijeno učitavanje svega ispod prvog zaslona, fontovi na vlastitom serveru i preload samo za onaj koji je gore. Glavna slika izvezena u širini od 4000 piksela stoji više od svih dodataka zajedno.
Hosting rješavajte zadnji, kad već znate što aplikacija radi. Objektna predmemorija s Redisom pomaže stranici s mnogo sitnih upita; više procesora pomaže stranici s teškim PHP-om; nijedno ne pomaže stranici koja čeka tuđi API.
I rezultat zapišite: što je bilo sporo, što je promijenjeno, koji su brojevi sada. Rad na performansama koji nije izmjeren obično poništi prva sljedeća nadogradnja dodatka.