Tohle byla jedna z těch chvil, kdy si člověk řekne: „jenom to rychle aktualizuju a jdu spát“. No jo. Jenže jakmile jsem kliknul na aktualizaci All in One SEO, web se proměnil v bílou obrazovku a WordPress mi vzkázal:
„Na vašem webu došlo k závažné chybě.“
A bylo hned po náladě.
První reakce? Panika a pár sprostých slov

Nejdřív jsem si myslel, že se rozbila šablona nebo že se přepsal nějaký soubor. Jenže pak jsem koukl do Active24 → Databáze a tam mě málem trefilo.
Všude svítilo „Waiting for table metadata lock“ a v dotazu se pořád dokola opakovalo:
SELECT a.action_id FROM wp_actionscheduler_actions ...
Prostě databáze visela a nechtěla pustit ani jeden dotaz. A celý web díky tomu zamrznul.
Kde byl zakopaný pes?
AIOSEO od verze 4.0.0 používá něco, co se jmenuje Action Scheduler – takový systém, který si na pozadí plánuje různé úlohy (např. odesílání dat, kontrolu nastavení apod.).
Jenže v mém případě ta tabulka wp_actionscheduler_actions prostě chyběla nebo byla zamčená.
A tím pádem začalo WordPressu totálně hrabat: databáze čekala, web zamrzl a já koukal na seznam procesů, jak tam všechno visí jako vánoční ozdoby.
Takže co jsem udělal
Po pár minutách googlení a testování jsem přišel na řešení. A tady je krok po kroku, jak jsem to rozchodil:
1. Vypnul jsem AIOSEO přes FTP
Do administrace jsem se nedostal, takže jsem musel jít přes FTP.
Našel jsem složku /wp-content/plugins/ a v ní all-in-one-seo-pack-pro.
Stačilo tu složku přejmenovat – třeba na all-in-one-seo-pack-pro_old.
Jakmile to uděláš, WordPress ten plugin automaticky vypne.
Web se mi pak rozjel. Uff.
2. Mrknul jsem do wp-configu
Otevřel jsem soubor wp-config.php, kde jsem našel, jaký databázový uživatel se používá, v mém případě to bylo:
define( 'DB_USER', 'domena' );
Pro jistotu jsem si ověřil, že tenhle uživatel má práva vytvářet tabulky (CREATE TABLE).
Na Active24 to většinou mají v pohodě, ale kdyby ne, napíšeš na podporu a oni to zkontrolujou.
3. Nainstaloval jsem plugin Action Scheduler
A tohle byl zlom. Když je AIOSEO vypnutý, web běží. Takže jsem do WordPressu normálně nahrál Action Scheduler plugin (ten, co AIOSEO používá na pozadí).
Po aktivaci se objevila nová položka v menu – Nástroje → Scheduled Actions.
Hned nahoře se ukázala hláška, že chybí nějaké tabulky a že je plugin zkouší vytvořit.
Tak jsem to nechal chvíli běžet… a po pár sekundách bylo hotovo.
4. Zase jsem zapnul AIOSEO
Vrátil jsem se do FTP, přejmenoval složku zpátky na původní all-in-one-seo-pack-pro a ve WordPressu plugin znovu aktivoval. A světe div se – web běžel! Žádná bílá obrazovka, žádná chyba.
Když jsem se podíval zpátky do Active24, procesy „Waiting for table metadata lock“ zmizely. No a bylo po problému.
5. Action Scheduler jsem pak smazal
Jakmile AIOSEO naběhne, už ten samostatný plugin není potřeba. Takže jsem ho prostě vypnul a smazal, a všechno zůstalo funkční.
Jak to shrnout?
Kdybych to měl zkrátit, tak problém byl v tom, že AIOSEO chtělo používat Action Scheduler, ale tabulka v databázi neexistovala nebo byla zamčená. Kvůli tomu se zasekla celá databáze a web spadl.
Co pomohlo:
- vypnout plugin přes FTP,
- doinstalovat Action Scheduler,
- počkat, až si to vytvoří tabulky,
- a pak AIOSEO znovu zapnout.
Hotovo.
Co jsem se z toho naučil
- Nikdy neaktualizuju AIOSEO, když spěchám nebo když už mám hlavu na polštáři.
- Před větší aktualizací si radši udělám zálohu databáze.
- A když web spadne, první co udělám, je že kouknu do Active24 → Databáze, protože tam se většinou hned ukáže, co to blokuje.
Teď už běží všechno hladce, web se načítá normálně a já mám o jednu zkušenost víc.
Takže jestli se vám někdy ukáže podobný bordel s wp_actionscheduler_actions, klid – dá se to opravit, jen to chce trochu trpělivosti a dobré kafčo k tomu.
