Téměř všechny weby WordPress, které jsem viděl, měly nabité databáze. Myslím, že je to docela normální. Nikdo se nenarodil jako odborník na vytváření superefektivních a optimalizovaných stránek.
Když jsem začal používat WordPress, měnil jsem témata každý měsíc a testoval jsem spoustu pluginů. Kdysi jsem četl články o „top 21, které musí mít pluginy“, a prostě jsem je všechny nainstaloval. O pár týdnů později odinstalujte.
Takto se učíte. Zkoušíte, testujete, objevujete, co potřebujete, co vám funguje.
Ale po letech vám zůstane databáze WordPress plná starých, zbytečných věcí. Je to proto, že databáze vašeho webu neobsahuje pouze váš obsah, ale všechna nastavení motivů a pluginů.
Proč je důležité mít čistou databázi?
Měli jsme jednoho zákazníka, blog o jídle s přibližně 10 000 zobrazeními stránek/den, který měl pomalé načítání, 13–15 sekund. Řešením nabízeným hostingovou společností bylo upgradovat na VPS ze sdíleného plánu, na kterém byla.
Naše řešení bylo jiné.
Zjistili jsme, že WordPress spotřebovával 300 MB na vygenerování stránky. Typická instance WordPressu by měla spotřebovat 30–40 MB, takže si uděláte představu, jak špatná to byla. Není divu, že načtení a maximální využití zdrojů přidělených jejímu hostingovému účtu trvalo 15 sekund.
V tabulce wp_options jsme objevili více než 25 000 záznamů databáze s automatickým načítáním nastaveným na yes. „Automatické načítání: ano“ znamená, že když se WordPress inicializuje, načte tyto možnosti z databáze. Jen to trvalo asi 11 sekund.
Smazali jsme ty staré, zbytečné možnosti a nyní WordPress spotřebovává 50 MB a načte se za 2-3 sekundy. Také jsme optimalizovali obrázky, přepnuli ji na Genesis Framework, nahradili některé špatné pluginy lepšími a další drobné úpravy.
Nepotřebovala upgradovat na VPS; zůstala u sdíleného plánu dalších 8–9 měsíců, když její návštěvnost dosáhla ~60 000 zobrazení stránek/den, a nastal čas opustit sdílený hosting .
Na závěr, čistá databáze WordPress jí pomohla ušetřit peníze za hosting. A může pomoci i vám. Pojďme se tedy podívat, co můžete udělat pro optimalizaci vaší WordPress databáze.
Nejprve zálohujte
Než začnete cokoliv dělat, ujistěte se, že jste si zálohovali databázi. Používám UpdraftPlus s Amazon S3, ale existuje mnoho záložních pluginů/řešení pro WordPress, jako například:
Svou databázi můžete také exportovat z phpMyAdmin; váš poskytovatel hostingu by měl nabídnout přístup k tomuto nástroji pro správu databáze (nebo podobnému).
Základní čištění
Jednou z hlavních věcí, které můžete udělat, je smazat nepoužívané pluginy a motivy, smazat spamové komentáře, smazat vyhozené komentáře, vyhozené příspěvky a vyhozené stránky.
Odstraňte nepoužívané pluginy a motivy
Pomáhá to i z bezpečnostního hlediska. Doporučuji, abyste na svém serveru neuchovávali PHP skripty (pluginy, témata, jiné soubory PHP), které nepoužíváte.
Chcete-li odebrat nepoužívané pluginy, přihlaste se do wp-admin a přejděte do Plugins > Installed plugins. Kliknutím na Neaktivní zobrazíte neaktivní pluginy a smažete je.
Chcete-li odstranit nepoužívané motivy, přejděte na Vzhled > Motivy. Klikněte na každý motiv, který chcete odstranit, a poté klikněte na Odstranit v pravém dolním rohu.
Doporučuji, abyste si ponechali pouze své aktivní téma a jedno výchozí téma (pokud potřebujete otestovat nekompatibility). Používám Genesis Framework. Ponechávám si tedy Genesis (nadřazené téma), podřízené téma Genesis (aktivní téma) a jedno výchozí téma WordPress (pro účely testování).
Vyprázdněte spamové komentáře
Přihlaste se do wp-admin a přejděte do Komentáře. Kliknutím na Spam zobrazíte spamové komentáře a pomocí tlačítka Vyprázdnit spam je odstraníte.
Vysypte odpadky
Když jste stále v sekci Komentáře, klikněte na Koš pro zobrazení komentářů v koši a pomocí tlačítka Vysypat koš je odstraňte.
Přejděte na Příspěvky > Všechny příspěvky, kliknutím na Koš zobrazíte vyhozené příspěvky. K jejich odstranění použijte tlačítko Vysypat koš.
Přejděte na Stránky > Všechny stránky, kliknutím na Koš zobrazte vyhozené stránky a pomocí tlačítka Vysypat koš je odstraňte.
Pokud máte nějaké vlastní typy příspěvků v koši, můžete je smazat stejným způsobem. Pokud máte kategorie nebo značky, které nepoužíváte, můžete je také odstranit.
Můžete to provést také pomocí pluginu WP Sweep, jak je vysvětleno níže.
Použijte plugin k vyčištění databáze WordPress
Nejjednodušší, zejména pro netechnické lidi, je použít WordPress plugin pro vyčištění databáze.
Nejoblíbenější pluginy pro optimalizaci databáze jsou:
Doporučujeme WP-Sweep, protože místo spouštění dotazů MySQL s přímým odstraněním používá co nejvíce správné funkce odstranění WordPress. Plugin WP-Optimize používá dotazy SQL pro přímé odstranění, které mohou zanechat osiřelá data.
Nainstalujte a aktivujte plugin WP Sweep a poté přejděte na Nástroje > Sweep. Uvidíte různé sekce s tlačítkem Sweep vedle nich, kliknutím na tlačítko vyčistíte nepořádek.
Tento plugin vám pomůže odstranit:
- Revize
- Automatické návrhy
- Smazané, neschválené a spamované komentáře
- Osiřelý a duplicitní příspěvek meta
- Osiřelé a duplicitní meta komentáře
- Osiřelé a duplicitní meta uživatele
- Osiřelé termínové vztahy
- Nepoužité termíny
- Přechodné možnosti.
Plugin umí také optimalizovat tabulky a je to jednodušší než to dělat přes phpMyAdmin. Můžete to dělat pravidelně, optimalizovat databázové tabulky, možná jednou za pár měsíců.
Pokročilé čištění
Někdy, pokud používáte sdílený hosting, může WP Sweep zamrznout kvůli omezením PHP. Obvykle se to stane, když je potřeba odstranit velký počet záznamů databáze, například odstranění přechodných jevů.
Pokud nemůžete použít plugin k vyčištění databáze, musíte provést čištění spuštěním dotazů přímo do databáze. Například dotaz na odstranění přechodných jevů je:
DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');
Poznámka: Ujistěte se, že jste změnili výchozí prefix (wp_) na ten, který používá vaše databáze.
Tento dotaz můžete spustit v phpMyAdmin (nástroj přístupný z cPanel) nebo pomocí nástroje pro správu databází, jako je Sequel Pro (Mac) nebo MySQL Workbench (Windows, Linux, Mac).
Používám Sequel Pro a mám ho raději než phpMyAdmin, protože je rychlejší a stabilnější, phpMyAdmin může občas spadnout (sdílený hosting, omezení PHP). Nikdy jsem nepoužil MySQL Workbench k porovnání.
Nezapomeňte nejprve zálohovat databázi
Skvělý návod, jak spouštět dotazy v phpMyAdmin, je tento na wpmudev.com .
Z mé zkušenosti je jedním z nejvýznamnějších problémů s databází WordPress velký počet záznamů databáze v tabulce wp_options s automatickým načítáním: ano.
Můžete je najít a odstranit pomocí pluginu – Clean Options – nebo přímo v tabulce wp_options pomocí phpMyAdmin nebo Sequel Pro.
Zde je dobrý návod na použití pluginu Clean Options , ale čištění těchto možností je zdlouhavý úkol a bez ohledu na to, jak to uděláte, bohužel neexistuje snadný způsob.
Protože vám plugin ukazuje „ možná osiřelé možnosti“, musíte být opatrní, abyste nesmazali něco, co byste neměli, a nepoškodili váš web.
Co musíte udělat, je identifikovat možnosti, které jsou k ničemu, například ze starých pluginů, které již nemáte. Potřebovali byste vědět, jakou předponu má každý plugin; jako když vidíte mnoho možností s předponou „wcj_“, která pochází z Booster for WooCommerce . Pokud Booster již nepoužíváte, můžete je bezpečně smazat.
Plugin Clean Options nepoužívám, rád pracuji přímo na databázi se Sequel Pro a přistupuji k tomu stejně jako v roce 1998 hraním Tomb Raidera, kdy hru ukládám po každém skoku.
Zálohuji tabulku, hledám možnosti, mažu možnosti, kontroluji chyby, znovu zálohuji, opakuji.
Nyní máte čistou databázi WordPress. Udržujte jej v čistotě pomocí následujících osvědčených postupů.
Doporučené postupy, jak udržet databázi WordPress v čistotě
V žádném konkrétním pořadí.
1. Zabraňte hromadění revizí a omezte počet revizí uložených v databázi, například 3. Přidejte následující kód do souboru wp-config.php.
define( 'WP_POST_REVISIONS', 3);
2. Koš pravidelně vysypávejte nebo jej nastavte na automatické vyprazdňování po několika dnech, například 5. Přidejte následující kód do souboru wp-config.php.
define( 'EMPTY_TRASH_DAYS', 5);
3. Pravidelně vyprazdňujte spam.
4. Nenechávejte komentáře neschválené – schvalujte je, spamujte je nebo je zahoďte do koše.
5. Pomocí pluginu WP Sweep optimalizujte tabulky a pravidelně kontrolujte přechodné jevy (a v případě potřeby je smést).
6. Dejte si pozor na pluginy, které ukládají velké množství dat:
- statistické pluginy
- bezpečnostní pluginy
- antispamové pluginy
- pluginy souvisejících příspěvků
- pluginy pro sledování odkazů
Neříkám, že byste neměli používat žádný z výše uvedených pluginů, ale používejte pluginy, které tyto funkce nabízejí a ukládají data externě, nikoli do vaší databáze WordPress. Pokud se tomu můžete vyhnout, nepoužívejte pluginy, které přidávají nadýmání, udržujte databázi WordPress co nejčistší.
7. Pokud smažete plugin, o kterém jste si jisti, že ho již nechcete používat, vyčistěte po něm.
Většina pluginů se po sobě nevyčistí. Takže musíte odstranit databázové tabulky, které plugin přidal, a odstranit možnosti pluginu z tabulky wp_options.
Tímto jsme uzavřeli náš 4. krok ve snaze o rychlejší a škálovatelnější web WordPress.
Zanechat odpověď