Kako optimizovati WordPress bazu podataka

WordPress baza sajta baza podataka je srce vašeg sajta. Svaki post, stranica, komentar, podešavanje i plugin podatak se čuva u MySQL ili MariaDB bazi. Vremenom, baza postaje opterećena nepotrebnim podacima koji usporavaju sajt. U ovom vodicu pokazacemo vam kako da očistite i optimizujete WordPress bazu podataka za maksimalne performanse.
Zašto je optimizacija baze podataka važna?
Svaki put kada posetilac otvori vašu stranicu, WordPress šalje upite ka bazi podataka da bi prikazao sadržaj. Ako baza sadrži hiljade nepotrebnih redova, ovi upiti traju duže, što direktno utice na brzinu učitavanja sajta. Spora baza znači spor sajt, a spor sajt znači manje posetilaca i losije rangiranje na Google-u.
Tipican WordPress sajt nakon godinu dana rada može imati desetine hiljada nepotrebnih revizija postova, hiljadu transijenata, stotine spam komentara i fragmentirane tabele. Sve ovo opterećuje bazu bez ikakve koristi.
Revizije postova - tihi ubica performansi
WordPress automatski čuva reviziju svaki put kada sačuvate post ili stranicu. Ako imate 100 postova i svaki je sačuvan 20 puta, to je 2000 redova u bazi samo za revizije. Većina ovih revizija vam nikada neće trebati.
Ručno brisanje revizija: Možete koristiti SQL upit direktno u phpMyAdmin. U cPanel-u imate pristup phpMyAdmin-u:
DELETE FROM wp_posts WHERE post_type = 'revision';
Međutim, preporučujemo sigurniji pristup kroz plugin, jer ručno brisanje može dovesti do problema ako ne znate tačno šta radite.
Ogranicavanje budućih revizija: Dodajte sledeću liniju u wp-config.php:
define('WP_POST_REVISIONS', 3);
Ovo čuva samo poslednje 3 revizije svakog posta. Možete staviti i 0 da potpuno isključite revizije, ali preporučujemo bar 2-3 za slučaj greške.
Transijenti - privremeni podaci koji ostaju zauvek
Transijenti (transients) su privremeni podaci koje WordPress i plugini čuvaju u bazi sa rokom trajanja. Problem je što WordPress ne brise istekle transijente automatski - oni ostaju u bazi i zauzimaju prostor. Neki plugini kreiraju hiljade transijenata koji nikada ne isteknu.
Transijenti se čuvaju u wp_options tabeli, koja je jedna od najvažnijih i najčešće čitanih tabela. Više nepotrebnih redova u wp_options znači sporije učitavanje svake stranice.
Za brisanje isteklih transijenata možete koristiti WP-CLI komandu:
wp transient delete --expired
Ili koristite plugin koji to radi automatski u redovnim intervalima.
Spam i obrisani komentari
Ako imate blog sa uključenim komentarima, spam komentari se gomilaju neverovatnom brzinom. Akismet i drugi anti-spam plugini blokiraju spam, ali obrisani i spam komentari ostaju u bazi u folderu "Spam" i "Trash". WordPress automatski brise komentare iz trash-a nakon 30 dana, ali spam komentare ne brise nikada osim ako to ne uradite ručno.
Redovno praznite spam i trash foldere za komentare. Ako imate hiljade spam komentara, brisanje kroz WordPress admin može biti sporo - koristite plugin ili SQL upit:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
Optimizacija tabela
Kada brišete podatke iz MySQL tabele, prostor se ne oslobađa automatski. Tabela ostaje iste veličine, samo sa "rupama" gde su bili obrisani podaci. Ovo se zove fragmentacija. OPTIMIZE TABLE komanda defragmentira tabelu i oslobađa prostor.
U phpMyAdmin, selektujte sve tabele, izaberite "Optimize table" iz dropdown menija. Ili koristite SQL:
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;
Preporučujemo da ovo radite jednom mesečno ili koristite plugin koji to automatizuje.
WP-Optimize - sve u jednom rešenje
WP-Optimize je najpopularniji plugin za optimizaciju baze podataka sa preko 1 milion aktivnih instalacija. Omogućava vam da:
Cistite bazu: Jednim klikom brišete revizije, transijente, spam komentare, trashed postove, pingbacks i trackbacks. Možete birati šta želite da obrišete i pregledati koliko prostora će se osloboditi pre brisanja.
Optimizujete tabele: Automatski pokreće OPTIMIZE TABLE na svim WordPress tabelama. Pokazuje nivo fragmentacije svake tabele.
Zakaze automatsko čišćenje: Podesite dnevno, nedeljno ili mesečno automatsko čišćenje. Plugin će sam brisati nepotrebne podatke po rasporedu.
Besplatna verzija pokriva sve osnovne potrebe. Premium verzija dodaje napredne funkcije poput kompresije slika i keširanja stranica.
Advanced Database Cleaner - za napredne korisnike
Advanced Database Cleaner je odlican plugin koji ide korak dalje od WP-Optimize. Njegova ključna prednost je detekcija "sirocih" tabela - tabela koje su ostale u bazi nakon što ste deinstalirali plugin. Mnogi plugini kreiraju svoje tabele pri instalaciji, ali ih ne brisu kada ih deinstalirate.
Plugin prikazuje listu svih tabela u bazi i označava koje pripadaju WordPress jezgru, koje aktivnim pluginima, a koje su ostale bez vlasnika. Možete sigurno obrisati sirocane tabele i osloboditi prostor.
Takođe detektuje "sirocane" redove u wp_options tabeli - podešavanja plugina koji više nisu instalirani. Ovo je cest problem koji dovodi do enormno velike wp_options tabele.
wp_options tabela - najčešći uzrok sporosti
wp_options tabela je posebno kritična jer se učitava na svakom zahtevu. WordPress učitava sve redove gde je autoload polje postavljeno na "yes" u memoriju pri svakom učitavanju stranice. Ako imate stotine kilobajta autoloaded opcija, to direktno usporava svaku stranicu.
Proverite veličinu autoloaded podataka SQL upitom:
SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload = 'yes';
Ako je rezultat veći od 1MB, imate problem. Pregledajte najveće autoloaded opcije i isključite autoload za one koje ne moraju biti učitane na svakoj stranici.
Backup pre optimizacije
Pre bilo kakve optimizacije baze, napravite backup. Ovo je najvažniji korak koji mnogi preskacu. Ako nešto pođe po zlu tokom optimizacije, backup vam omogućava da vratite sajt u prethodno stanje za nekoliko minuta.
Koristite plugin kao što je UpdraftPlus za automatski backup baze, ili eksportujte bazu kroz phpMyAdmin. BeoHosting takođe pravi dnevne backup-ove vašeg sajta na svim hosting paketima, ali uvek je bolje imati i svoj backup pre velikih promena.
Preporučeni raspored održavanja
Nedeljno: Brisanje spam komentara i trashed postova.
Mesečno: Brisanje revizija (zadrzite poslednje 3), čišćenje transijenata, optimizacija tabela.
Kvartalno: Provera sirocanih tabela i opcija, analiza veličine wp_options tabele, pregled performansi baze.
Sa redovnim održavanjem, vaša WordPress baza će ostati brza i efikasna, a sajt će se učitavati znatno brže. Optimizovana baza podataka je jedan od najlakših načina da poboljšate performanse sajta bez ikakvih troškova.
BeoHosting Tim
10+ godina iskustva — Stručnjaci za web hosting i infrastrukturu
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Poslednje ažurirano: