Často opomíjeným tématem je databáze WordPressu, která se postupem času zaplňuje daty až do té míry, kdy způsobuje problémy v samotné rychlosti webových stránek. V tomto článku se podíváme hned na několik možných způsobů čištění WordPress databáze.
Co je to databáze?
Databáze je zjednodušeně řečeno souhrn strukturovaných dat. Data se zde ukládají a třídí do různých tabulek. Ve WordPressu mohou být za data považována například informace o vytvořených stránkách, tagy, informace o uživatelích…
Problém nastává u některých WordPress pluginů, které i po svém odstranění obsahují některá data v databázi a brzdí tím celý web.
Tabulky v databázi vytvořené WordPressem
Po instalaci WordPressu se automaticky vytvoří 12 základních tabulek v databázi:
wp_users | Obsahuje veškeré informace o uživatelích |
wp_usermeta | Ukládá dodatečné metainformace o uživatelích |
wp_comments | Jednotlivé komentáře na webu |
wp_commentmeta | Ukládá dodatečné metainformace o komentářích |
wp_options | Obsahuje různá nastavení u jednotlivých pluginů a motivů včetně globálního nastavení WP |
wp_links | Tato tabulka byla v minulosti využívána k uchovávání odkazů na jiné webové stránky. Od určité verze WordPressu (kolem 2015) je považována za zastaralou a používá se pro zachování kompatibility |
wp_postmeta | Ukládá dodatečné metainformace o jednotlivých příspěvcích |
wp_termmeta | Podobně jako wp_postmeta, ukládá dodatečné metainformace o jednotlivých položkách(kategorie, štítky…) |
wp_posts | Obsahuje téměř veškerý obsah webu. Patří sem například příspěvky a stránky |
wp_term_relationships | Slouží k propojení například příspěvků se štítky, a kategoriemi v tabulce wp_terms |
wp_term_taxonomy | Ukládání informací o taxonomii. |
wp_terms | Obsahuje informace o kategoriích a štítcích |
Více informací najdete v článku „Struktura WordPress databáze„.
Jak vyčistit databázi WordPressu
Uvedeme si dva nejčastější způsoby:
- Pomocí pluginu
- Manuální čištění bez pluginů pomocí phpMyAdmin
Čištění WordPress databáze pomocí pluginu WP-Optimize
WP-Optimize je ideální volbou v případě čištění databáze. Většinu svých funkcí nabízí zcela zdarma:
- Čištěné všech revizí příspěvků
- Čištění všech automatických konceptů příspěvků
- Čištění všech příspěvků v koši
- Odstranění spamu a vyhozených komentářů
- Odebrání neschválených komentářů
V nastavení pluginu můžeme využít automatické optimalizace tabulek, nebo zobrazit veškeré tabulky a manuálně odstranit záznamy.
U jednotlivých položek můžeme vidět, k jakému pluginu se tabulka vztahuje, a především to, jestli je plugin používaný. U těch nepotřebných můžeme tabulky v klidu smazat(pro jistotu nejprve provedeme zálohu webu!)
Čištění WordPress databáze pomocí pluginu Advanced Database Cleaner
Dalším skvělým nástrojem je Advanced Database Cleaner, který také nabízí většinu svých služeb zdarma. V pluginu můžeme nastavit například pravidelné automatické čištění databáze(mazání revizí, draftů, spam komentářů…) a mnoho dalšího.
Manuální čištění WordPress databáze bez pluginů pomocí phpMyAdmin
Dalším častým řešením jsou ruční zásahy do databáze pomocí systému phpMyAdmin(umožňuje nám jednoduchou správu databáze MySQL, nebo MariaDB, kterou WordPress ve většině případů používá).
Nejprve musíme získat přihlašovací údaje do databáze, které většinou můžeme nalézt v cPanelu, nebo v nastavení webhostingu.
Po přihlášení do phpMyAmin zvolíme požadovanou databázi a sjedeme až na konec výsledků. (1)Zaškrtneme veškeré tabulky v databázi, a zvolíme možnost (2)“Optimalizovat tabulku“
Tipy pro udržování čisté WordPress databáze
Neodkládejte údržbu do doby, kdy ji situace vyžaduje. Není od věci alespoň párkrát do roka zkontrolovat stav databáze, aby nám neunikly žádné důležité změny! Zde si uvedeme pár tipů jak na to.
Udržujte svou WordPress databázi aktuální
Dost často se zapomíná na aktualizaci WordPress databáze, přitom se ve skutečnosti nejedná o nic složitého. Aktuální verzi WordPress databáze včetně dalších vlastností můžeme zjistit v administraci samotného WP(konkrétně v sekci Nástroje > Zdraví webu).
WordPress databázi čistěte pravidelně
Obzvlášť na webech s větším množstvím dat je velmi důležité provádět očistu databáze nejlépe několikrát do roka.
Neprovádějte více než jednu instalaci WordPressu ne jednu databázi
Pro každou WordPress instalaci vytvořte novou databázi(i v případě omezeného množství databází stojí za to si u webhostingu připlatit). Čím více WordPress webů běží na jedné databázi, tím více je server zatížený a zpomalený. Riskujeme tím nejen rychlost, ale i bezpečnost databáze.
Snižte, nebo zcela odstraňte revize
Po každém vytvoření článku, nebo stránky nám nejspíše vznikne nemalé množství revizí, které při větším množství stránek či příspěvků zatěžují databázi a zpomalují web. Revize se dají složitě manuálně odebrat, nebo je lze odstranit automaticky pomocí kódu, který si níže ukážeme. Před zahájením práce provedeme zálohu WordPressu.
Budeme se potřebovat dostat do FTP, kde přejdeme k souboru wp-config.php. Zvolíme editaci souboru, sjedeme téměř na samý konec, a kód musíme pro správnou funkčnost vložit nad „ABSPATH“. Poté soubor uložíme, a můžeme vše zkontrolovat.
/Následující kód zachová u všech příspěvků maximálně tři nejaktuálnější revize(číslo můžeme změnit na námi požadované)*/
define('WP_POST_REVISIONS', 3);
//Následující kód revize zcela zakáže:
define('WP_POST_REVISIONS', false)
Závěr
Pravidelná údržba databáze WordPressu je zásadní pro optimální výkon webu. Kromě rychlosti můžeme čištěním a údržbou databáze posílit i celkovou bezpečnost. Před zahájením práce proveďte zálohu webu!