Optimizare WordPress Imbunatatire Viteza de Incarcare

Optimizare WordPress, imbunatatim viteza de raspuns a site-ului

Nu o sa ma bag in aceasta postare in optimizarea de imagini sau mutarea scripturilor in footer, https sau altele. O sa ma limitez la cateva lucruri simple ce pot fi facute de oricine, observate la “volum”(adica schimbarile sunt minore ca si timp 0,… secunde daca nu ai un site mare dar pe masura ce acesta creste o sa castigi ceva timp).

Spre exemplu treaba cu cron-ul de mai jos pe un server cu 32 de site-uri a imbunatatit incarcarea fiecarui site cu peste 3 secunde (bine e mai complicat site-urile aveau un bot ce posta la fiecare aprx. 7 min in fiecare site si de asta treaba cu cron-ul a devenit relevanta). In sfarsit o sa te ajute crede-ma pe cuvant :))

Optimizam WordPress-ul pentru a micsora viteza de incarcare stergand reviziile

“By default” ca sa zic asa, de fiecare data cand faci o modificare asupra unui post (fie el pagina,custom etc..) wordpress-ul salveaza in baza de date o “revizie”, pt a te ajuta sa aduci postul la forma initiala in cazul unei greseli. Eh acum poti salva intr-un fiser text forma originala iti faci modificariile si asta e. Ideea e ca intr-un site mai mare aceste revizii se acumuleaza si ingreuneaza baza de date, deci creste timpul de raspuns al site-ului catre client. Solutia e simpla deschide wp-config.php
si adauga (deasupra comentariului asta /* That’s all, stop editing! Happy blogging. */):

Cele 2 linii fac:
1.Autosave-ul la 300 de secunde
2.Dezactiveaza Reviziile.

Bun, acum ca le-am dezactivat cum mama draq le curatam pe alea existente in baza de date?
Pei avem mai multe solutii, una din command line (daca ai access ssh la server) si a doua cu ajutorul unui plugin. Eu prefer sa fac tot ce pot fara ajutorul plugin-urilor deoarece majoritatea ingreuneaza site-ul(unele prin simpla introducere a unor informatii suplimentare in baza de date)

1. Curatam reviziile si transienturile folosind wp-cli

Presupun ca ai instalat WP-CLI, daca nu “iete” un tutorial aici: Instalare WP-CLI pentru Mentenanta WordPress
Acum mergi in root-ul site-ului (/var/www/site.com/public_html sau oricare e rootul tau)


(daca esti logat ca root lasa comanda cu –allow-root daca nu, nu este nevoie de ea) mai multe detalii despre librarie gasesti aici : https://github.com/trepmal/wp-revisions-cli

Observa –post_type=posts daca ai tipuri de postari custom, modifica in: –post_type=songs spre exemplu
In cazul in care ai multisite, putem face un simplu bash script pentru comanda de deasupra:

Bun, acum sa trecem la transiente.

optimizam wordpress stergand reviziile cu ajutorul wp-cli din ssh
Cu asta am sters si transientele. Recomand sa faci un si un CRONJOB pt treaba asta(vezi mai jos). Sunt o gramada de chestii utile ce le poti face cu ajutorul WP-CLI, uite aici: Comenzi utile wordpress cu WP-CLI.

2. Curatam reviziile si transienturile folosind un plugin

Un plugin pe care il folosesc des este WP Optimize daca te mai intereseaza ce alte plugin-uri mai folosesc vezi aici Lista cu cele mai utile pluginuri pt worpdress

Optimizam viteza de incarcare a WordPress-ului dand disable la CRON

Am descoperit ca cron-ul wordpress-ului “sucks” ca sa zic asa. Poate la un site updatat din “an in paste” nu iti dai dai seama dar daca ai un bot sa iti posteze in el la un interval de maxim 10 min o sa fie sesizabila diferenta. De aceea prefer sa dau disable la cron-ul wordpress-ului si sa-l inlocuiesc cu un cron adevarat :)

In cazul in care ai mai multe site-uri ruland pe acelasi server si vrei sa folosesti CRON-ul serverului pt fiecare dintre acestea, nu da si tu cron in acelasi timp, pt fiecare site lasa minim 10-15 min intre cron-uri.

In wp-config.php pune:

dupa avem 2 optiuni din command line sau din cpanel, depinde de ce ai.

CRON pentru wordpress din command line

Presupunand ca ai cronul instalat(daca nu vezi un tutorial Instalare Crontab pt centos 6 si 7, ubuntu ar trebui sa il aibe instalat deja)

Aici ala pune:

deci acest cron va rula la fiecare jumatate de ora, si va avea output null, daca vrei sa vezi exact ce face inlocuieste /dev/null cu un fisier la alegere si in acel fisier va fi scris outputul. Inlocuieste /var/www/site.net/public_html/wp-cron.php cu locatia corespunzatoare.

Daca tot suntem in cron mai putem adauga:

pentru a sterge transienturile si pt a optimiza baza de date.

CRON pentru wordpress din CPANEL

Te loghezi, te duci la cronjobs, alegi timpul(odata la fiecare ora sau mai putin pt un singur site) si la comanda pui


Inlocuieste yourwebsite.com cu site-ul tau.

Recomandate: Plugin de cache: WP Super Cache sau W3 TOTAL CACHE

Acum depinde f mult de cum ai serverul. Deobicei instalez modpagespeed pe server cu/sau cloudflare si nu prea am avem nevoie de vreunul din pluginurile astea, dar atunci cand avem, personal prefer WP Super Cache mai multe despre pluginuri in categoria WordPress.

Optionale pentru Optimizarea WordPress-ului

– Dezactivez updateurile si transienturile la update-uri. Vezi mai multe aici WordPress dezactivam update-uri
– Incerc sa pastrez wp cat mai curat, nu instalez plugin-uri decat daca am absoulta nevoie de ele, si atunci caut cele mai simple(sa faca numai lucrul de care am nevoie cu cat mai putine optiuni)

Exemple wp-config.php si CRON din linia de comanda:

exemplu wordpress config

Optimizare WordPress CRON-uri din linia de comanda
Optimizare WordPress CRON-uri din linia de comanda

Ultima Modificare: 11 februarie, 2018