Glosář

Co je to WordPress Heartbeat API a proč jej omezit?

heartbeat
Autor příspěvku Tomáš Cirkl

Všechny hostingové společnosti mají obecnou politiku poslat varování, když zátěž webu na CPU přesáhne určitou hranici. Toto varování může v případě, že nepodniknete žádné kroky k nápravě, vyústit až v odpojení webu z hostingu.

V tomto článku se podíváme na Heartbeat API, jak ovlivňuje zátěž serveru a jak jej omezit.

Co je to WordPress Heartbeat API

WordPress Heartbeat je API služba, která byla představena ve WordPress 3.6. Jak jméno napovídá (heartbeat = tlukot srdce), jedná se o “opakované pulzy” pro provádění pravidelných úkolů. To pomáhá prohlížeči s pomocí ajaxových volání získávat aktuální informace ze serveru a poskytuje okamžité informace na WordPress nástěnce.

Praktické použití Heartbeat API

Heartbeat API provádí pravidelné úkoly a poskytuje aktuální informace a  také neustále v administraci synchronizuje data ze serveru.

Pár příkladu využití:

  • Pravidelné vytváření automatických konceptů a automatického ukládání při tvorbě příspěvku/stránky.
  • Aktuální data prodejů v administraci při použití ecommerce pluginů.
  • Zobrazení notifikací v administraci WordPress.
  • Zamčení obsahu při aktuální editaci jiného uživatele.

Proč to vše může být problém?

Vše sice zní hezky a pomáhá poskytovat neustále aktuální informace, ale problém je, že Heartbeat API posílá ajaxové požadavky na server za pomoci “/wp-admin/admin-ajax.php“. To pak může poslat velké množství požadavků na server a zahltit tak CPU. A protože zdroje serveru jsou omezeny (především na sdíleném hostingu), tak to může způsobit odstavení webu.

Jak monitorovat Heartbeat API?

Obvykle není možné pro uživatele kontrolovat statistiky serveru. Jinak by to bylo jednoduché, stačílo by se podívat do statistik serveru a zobrazit zátěž z admin-ajax.php.

Protože kontrola v reálném čase není možná, můžete zkontrolovat nastavení hostingu, zda neobsahuje nějaké statistiky a případně se do nich podívat, nebo můžete napsat na podporu a zeptat se, zda váš WordPress web nepřetěžuje CPU serveru.

Hostiny také často nabízí Awstat (například Český hosting), který může monitorovat běh webu. Pokud u něj vidíte /wp-admin/admin-ajax.php na přední pozici, tak je možné, že spotřebovává větší množství zdrojů.

Jak omezit Heartbeat API

V oficiálním katalogu pluginů se nachází Heartbeat Control plugin. Nainstalovat jej můžete přímo přes WordPress administraci.

Heartbeat API

Heartbeat API

Jeho nastavení najdete v sekci Nastavení → Heartbeat Control.

Nastavení Heartbeat Control

Nastavení Heartbeat Control

Nastavení pluginu obsahuje tři základní položky, kde lze upravovat chování Heartbeat API:

  • WordPress Dashboard – WordPress administrace.
  • Frontend – část webu, kterou vidí návštěvník.
  • Post editor – editor obsahu.

Pro každou položku je dostupné nastavení:

  • Allow Heartbeat – povolit Heartbeat.
  • Disable Heartbeat – vypnout Heartbeat.
  • Modify Heartbeat – upravit Heartbeat, při aktivaci se zobrazí posuvník, kde lze nastavit frekvenci jeho provedení.

Kontrolu Heartbeat API umožňuje i například WP Rocket (plugin na optimalizaci rychlosti webu).

Jak zastavit WordPress Heartbeat bez použití pluginu

Heartbeat lze také rovnou zastavit za použití funkce, kterou přidáte do vlastního pluginu nebo child šablony.

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Důsledky zastavení Heartbeat API

Ať už použijete plugin nebo vlastní funkci a deaktivujete Heatbeat API, tak na stránce dojde k následujícímu:

  • Přestane fungovat automatické ukládání a revize.
  • V případě odpojení od internetu u rozepsaného příspěvku a kliknutí na tlačítko Publikovat/Aktualizovat/Uložit koncept, dojde ke ztrátě obsahu.
  • U eshopu neuvidíte aktuální statistiky prodeje.

O autorovi

Tomáš Cirkl

Baví mě Internet a zvláště pak redakční systém WordPress. Jsem pravidelným účastníkem a přednášejícím na WordCamp Praha a WordPress konferencích.

Zanechat komentář

Získejte více informací o WordPress!

Připojte se do našeho emailového seznamu a nenechte si ujít informace, novinky a návody ze světa WordPressu.

Úspěšně jste se zapsali do našeho newsletteru. Děkujeme!

Tomáš Cirkl

Tomáš Cirkl

WordPress specialista

Blog WPlama.cz píši už více než 5 let. O WordPress přednáším a pořádám školení. Pro své klienty vytvářím a spravuji webové stránky.