Jak odstranit přebytečné revize ve WordPressu?

Co jsou to revize a k čemu slouží?

Revize a jejich ukládání je funkce WordPressu, která umožňuje uložení a porovnávání verzí příspěvků či stránek na vašich webových stránkách. Tuto funkci lze využít pro sledování změn, které byly v obsahu článků provedeny. Také slouží pro obnovu dříve uložených verzí obsahu příspěvků, nebo stránek.

Funkce revize automaticky ukládá každou úpravu, kterou provedete v textu, stejně tak, jako ukládá původní verzi stránky nebo příspěvku. Tyto původní verze obsahu lze pak jednoduše porovnávat mezi sebou, nebo se vracet k původnímu obsahu. Tato funkce je tedy velmi vhodná pro takové weby, které spravuje více uživatelů, kteří mohou do obsahu zasahovat.

Výhody a nevýhody revizí

Revize tedy mají jednu velkou výhodu, ale i nevýhodu. Výhodou revizí je to, že pokud v článku uděláte kritickou chybu, smažete obsah, nebo v něm nastane jakákoliv jiná, větší chyba, můžete se vždy pohodlně vrátit do stavu, ve kterém byl obsah před Vaším zásahem. Nevýhoda je pak v tom, že revize článků a stránek po určité době rostou a zabírají nemalé místo v databázi. Po určitém čase se může stát, že jsou v databázi uloženy stovky až tisíce kopií jednotlivých článků a stránek. To může výrazně snižovat odezvu samotného redakčního systému. Pak je velmi užitečné revize smazat a tím optimalizovat obsah MySQL databáze.

Další problém, který mohou revize způsobit je pád WordPressu po aktualizaci na novou verzi. Díky velkému počtu revizí může dojít k vyčerpání přidělené paměti (memory limit) a po aktualizaci se zobrazí pouze tato (nebo velmi podobná) chyba:

fatal error: allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /web/htdocs/www.mojedomena.cz/home/www/wp-includes/plugin.php on line 203

Zároveň může velký počet revizí způsob nefunkční administraci WordPressu.

Kdy mohu revize smazat?

Smazání revizí je vhodné naplánovat na dobu, kdy víte, že obsah Vašeho webu, tedy stránek i článků je finální a nebudete v něm provádět další změny. Tedy, že nebude potřeba vracet se k původním verzím obsahu, pokud by nastal problém. Případně je vhodné si před samotným smazáním revizí provést zálohu MySQL databáze. Záloha databáze se provádí pomocí tzv. exportu, který je detailně popsán zde: Jak importovat a exportovat MySQL databázi v rozhraní phpmyadmin

Jak mohu revize smazat?

Nejjednodušším postupem ke smazání revizí je použití pluginu WP-Sweep. Jedná se o velice malý a nenáročný plugin, který je přesně k tomuto účelu vytvořen. Tento plugin je možné nainstalovat klasickým způsobem z administrace WordPressu, pomocí levého menu a položky "Pluginy". Zde poté přes podsekci "Instalace pluginů" vyhledáte pomocí klíčového slova (sweep) konkrétní plugin, který nainstalujete a poté i aktivujete.


Kde najdu nastavení pluginu a jak jej použít?

Po instalaci a aktivaci pluginu je možné jej použít pomocí levého menu a odkazu "Nástroje".  V podmenu nástrojů vyberte odkaz "Sweep".


Odstranění revizí se provádí hned v prvním bloku výpisu pluginu viz obrázek níže. Je zde uveden počet revizí spolu s procenty. Trvalé odstranění provedete tlačítkem "Sweep". Doba odstraňování je závislá na počtu revizí, nicméně netrvá nijak výrazně dlouho.


Jak mohu smazat revize pomocí MySQL databáze?

Pokud není administrace WordPressu dostupná, je možné revize smazat i pomocí nástroje pro správu MySQL, který je dostupný na adrese webmysql.forpsi.com. Na této adrese se tedy, přihlaste svými přístupovými údaji k DB. Pokud tyto údaje neznáte, můžete je získat takto: Ztráta hesla k FTP nebo jeho změna. Přístupové údaje k databázi jsou také viditelné v konfiguračním souboru wp-config.php, viz níže. Po přihlášení se do správy MySQL postupujte následovně:

  1. v horním menu klikněte na záložku databáze a vyberte Vaší databázi
  2. následně vyberte záložku SQL
  3. zde vložte následující kód, který provede smazání všech aktuálních revizí (případně je tedy dobré si provést zálohu databáze). Prefix tabulek wp_ v kódu upravte na takový, který v databázi používáte.

DELETE FROM wp_posts WHERE post_type = "revision";



Jak mohu omezit počet ukládaných revizí?

WordPress Vám také umožňuje pevně nastavit, kolik revizí budete chtít u článku zachovat. Chcete-li omezit počet revizí u příspěvků, můžete přidat tento kód do souboru wp-config.php u vašeho webu.

Postupujte tedy následovně:

  1. přihlaste se na FTP pomocí libovolného FTP klienta (pokud neznáte přístupové údaje, můžete je získat takto: Ztráta hesla k FTP nebo jeho změna)
  2. v kořenové složce WordPressu si najděte soubor pojmenovaný wp-config.php
  3. vložte do něj následující kód (číslo v kódu upravte podle maximálního počtu požadovaných revizí u jednoho článku)

define( 'WP_POST_REVISIONS', 10 );