Preskoči na vsebino
BeoHosting
BeoHosting
WordPress

Kako optimizirati podatkovno bazo WordPress

BeoHosting Ekipa··9 min branja branja
Kako optimizirati podatkovno bazo WordPress

WordPress baza spletne strani je srce vaše strani. Vsaka objava, stran, komentar, nastavitev in podatek vtičnika se shrani v MySQL ali MariaDB bazi. Sčasoma baza postane obremenjena z nepotrebnimi podatki, ki upočasnjujejo stran. V tem vodniku vam bomo pokazali, kako očistiti in optimizirati WordPress bazo podatkov za maksimalno zmogljivost.

Zakaj je optimizacija baze podatkov pomembna?

Vsakič, ko obiskovalec odpre vašo stran, WordPress pošlje poizvedbe v bazo podatkov, da prikaže vsebino. Če baza vsebuje tisoče nepotrebnih vrstic, te poizvedbe trajajo dlje, kar neposredno vpliva na hitrost nalaganja strani. Počasna baza pomeni počasno spletno stran, počasna stran pa pomeni manj obiskovalcev in slabšo uvrstitev na Googlu.

Tipična WordPress stran po enem letu delovanja lahko ima deset tisočev nepotrebnih revizij objav, tisoče transientov, stotine spam komentarjev in fragmentirane tabele. Vse to obremenjuje bazo brez kakršnekoli koristi.

Revizije objav - tihi morilec zmogljivosti

WordPress samodejno shrani revizijo vsakič, ko shranite objavo ali stran. Če imate 100 objav in je vsaka shranjena 20-krat, je to 2000 vrstic v bazi samo za revizije. Večine teh revizij ne boste nikoli potrebovali.

Ročno brisanje revizij: Lahko uporabite SQL poizvedbo neposredno v phpMyAdmin. V cPanelu imate dostop do phpMyAdmin:

DELETE FROM wp_posts WHERE post_type = 'revision';

Vendar priporočamo varnejši pristop preko vtičnika, saj lahko ročno brisanje povzroči težave, če ne veste natančno, kaj počnete.

Omejitev prihodnjih revizij: V wp-config.php dodajte naslednjo vrstico:

define('WP_POST_REVISIONS', 3);

To shrani samo zadnje 3 revizije vsake objave. Lahko daste tudi 0, da popolnoma izklopite revizije, vendar priporočamo vsaj 2-3 za primer napake.

Transienti - začasni podatki, ki ostanejo za vedno

Transienti (transients) so začasni podatki, ki jih WordPress in vtičniki shranjujejo v bazi z določenim rokom trajanja. Težava je v tem, da WordPress ne izbriše poteklih transientov samodejno - ostanejo v bazi in zasedajo prostor. Nekateri vtičniki ustvarijo tisoče transientov, ki nikoli ne potečejo.

Transienti se shranjujejo v wp_options tabeli, ki je ena najpomembnejših in najpogosteje brane tabele. Več nepotrebnih vrstic v wp_options pomeni počasnejše nalaganje vsake strani.

Za brisanje poteklih transientov lahko uporabite WP-CLI ukaz:

wp transient delete --expired

Ali uporabite vtičnik, ki to počne samodejno v rednih intervalih.

Spam in izbrisani komentarji

Če imate blog z vklopljenimi komentarji, se spam komentarji nakopičijo z neverjetno hitrostjo. Akismet in drugi anti-spam vtičniki blokirajo spam, vendar izbrisani in spam komentarji ostajajo v bazi v mapi "Spam" in "Trash". WordPress samodejno izbriše komentarje iz trasha po 30 dneh, vendar spam komentarjev nikoli ne izbriše, razen če to storite ročno.

Redno praznite mape spam in trash za komentarje. Če imate na tisoče spam komentarjev, je brisanje preko WordPress admin plošče lahko počasno - uporabite vtičnik ali SQL poizvedbo:

DELETE FROM wp_comments WHERE comment_approved = 'spam';

Optimizacija tabel

Ko brišete podatke iz MySQL tabele, se prostor ne sprosti samodejno. Tabela ostane enake velikosti, samo z "luknjami", kjer so bili izbrisani podatki. To se imenuje fragmentacija. Ukaz OPTIMIZE TABLE defragmentira tabelo in sprosti prostor.

V phpMyAdmin izberite vse tabele, izberite "Optimize table" iz spustnega menija. Ali uporabite SQL:

OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;

Priporočamo, da to počnete enkrat mesečno ali uporabite vtičnik, ki to avtomatizira.

WP-Optimize - rešitev vse v enem

WP-Optimize je najbolj priljubljen vtičnik za optimizacijo baze podatkov z več kot 1 milijonom aktivnih namestitev. Omogoča vam, da:

Čistite bazo: Z enim klikom izbrišete revizije, transiente, spam komentarje, trashed objave, pingbacks in trackbacks. Lahko izberete, kaj želite izbrisati, in pred brisanjem pregledate, koliko prostora se bo sprostilo.

Optimizirate tabele: Samodejno zažene OPTIMIZE TABLE na vseh WordPress tabelah. Pokaže stopnjo fragmentacije vsake tabele.

Načrtujete samodejno čiščenje: Nastavite dnevno, tedensko ali mesečno samodejno čiščenje. Vtičnik bo sam brisal nepotrebne podatke po razporedu.

Brezplačna različica pokrije vse osnovne potrebe. Premium različica doda napredne funkcije, kot sta stiskanje slik in predpomnjenje strani.

Advanced Database Cleaner - za napredne uporabnike

Advanced Database Cleaner je odličen vtičnik, ki gre korak dlje od WP-Optimize. Njegova ključna prednost je odkrivanje "osirotelih" tabel - tabel, ki so ostale v bazi po deinstalaciji vtičnika. Mnogi vtičniki ob namestitvi ustvarijo svoje tabele, vendar jih ob deinstalaciji ne izbrišejo.

Vtičnik prikaže seznam vseh tabel v bazi in označi, katere pripadajo WordPress jedru, katere aktivnim vtičnikom in katere so ostale brez lastnika. Osirotele tabele lahko varno izbrišete in sprostite prostor.

Prav tako zazna "osirotele" vrstice v wp_options tabeli - nastavitve vtičnikov, ki niso več nameščeni. To je pogosta težava, ki vodi do izjemno velike wp_options tabele.

wp_options tabela - najpogostejši vzrok počasnosti

wp_options tabela je še posebej kritična, ker se naloži ob vsaki zahtevi. WordPress ob vsakem nalaganju strani v pomnilnik naloži vse vrstice, kjer je polje autoload nastavljeno na "yes". Če imate stotine kilobajtov autoloaded opcij, to neposredno upočasnjuje vsako stran.

Velikost autoloaded podatkov preverite s SQL poizvedbo:

SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload = 'yes';

Če je rezultat večji od 1 MB, imate težavo. Preglejte največje autoloaded opcije in izklopite autoload za tiste, ki ne smejo biti naložene na vsaki strani.

Varnostna kopija pred optimizacijo

Pred kakršnokoli optimizacijo baze naredite varnostno kopijo. To je najpomembnejši korak, ki ga mnogi preskočijo. Če gre med optimizacijo kaj narobe, vam varnostna kopija omogoči, da v nekaj minutah obnovite stran v prejšnje stanje.

Uporabite vtičnik, kot je UpdraftPlus, za samodejno varnostno kopijo baze, ali izvozite bazo prek phpMyAdmin. BeoHosting prav tako dela dnevne varnostne kopije vaše strani na vseh hosting paketih, vendar je vedno bolje imeti tudi svojo varnostno kopijo pred velikimi spremembami.

Priporočen razpored vzdrževanja

Tedensko: Brisanje spam komentarjev in trashed objav.

Mesečno: Brisanje revizij (ohranite zadnje 3), čiščenje transientov, optimizacija tabel.

Četrtletno: Pregled osirotelih tabel in opcij, analiza velikosti wp_options tabele, pregled zmogljivosti baze.

Z rednim vzdrževanjem bo vaša WordPress baza ostala hitra in učinkovita, stran pa se bo nalagala znatno hitreje. Optimizirana baza podatkov je eden najlažjih načinov za izboljšanje zmogljivosti strani brez kakršnihkoli stroškov.

BeoHosting Ekipa

10+ let izkušenj — Strokovnjaki za spletno gostovanje in infrastrukturo

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Zadnja posodobitev: