Jak zrychlit WordPress

WordPress 5.8 a nová správa widgetů

Poslední velká aktualizace WordPressu změnila způsob, jak se pracuje s widgety. Zmizela stránka, kde se widgety přetahovaly myší do jednotlivých pozic, nyní se umisťují jako bloky v Gutenbergu (což je hlavní editor nasazený od roku 2019). Pro tento účel vznikla na původním místě nová redakční stránka.

Původní widgety by měly být převedeny automaticky, současně je ale dobré je raději přenastavit. Ze změny mmj. vyplývá to, že jako widgety můžeme použít mnoho běžných bloků z Gutenbergu. Takže pokud vám plugin nabízí GB blok, nyní ho můžete použít jako widget ve sloupci, v patičce webu nebo jinde.

Widgety ve WordPressu 5.8
Widgety ve WordPressu 5.8

Živé widgety mají zásadní chybu

Bohužel má celá změna koncepční problém, u kterého mě zaráží, že to nikoho nenapadlo. Jestli je to omezený způsob myšlení (něco ve smyslu, že 10 widgetů musí stačit každému), nebo nepřemýšlení… tím, že jsou widgety živé, načítá se veškerý kód, který v nich je. Takže máme web, kde je 30+ oblastí pro widgety a několik desítek widgetů v nich. Nehodnoťme, jestli je to správně, nebo ne – prostě to tak lidi mají.

Když jsem se snažil stránku načíst, po 4795 požadavcích, 3 minutách zcela vytíženého počítače a 180 MB přenesených dat prohlížeč vycucal všechnu dostupnou paměť a celý systém zamrzl (Linux nepadá, ale trvalo to docela dlouho, než byl proces zabit).

Ta stránka se prostě nedá uchodit, natož editovat!

Zaráží mě, že tohle nikdo netestoval a není proti tomu ochrana. Na daném webu jsme museli vrátit staré rozhraní pluginem Classic widgets, ale znamená to, že budeme muset vymyslet, jak to celé vyřešit. Jak editovat takové množství widgetů? To přece není proklamovaný full site editing.

A ne jednu

Druhá chyba je, že se ve widgetu podle všeho načítá stránka z frontendu včetně měřicích kódů a třeba live chatu. To mi přijde obzvláště pitomé. Podobné excesy vytvářejí významné náklady na opravu… přitom jsou zbytečné.

Chat v každém widgetu
Chat v každém widgetu.. to asi nechceš

Celkem tři

A třetí problém je v tom, že dost požadavků (resp. odpovědí na ně), které widgety posílají do celého světa, je firewallem (např. WordFence) vyhodnoceno jako DDoS, takže

Takže si připravíte obsah widgetů (poté, co se dlouho načítaly), ale neuložíte ho… obvykle se ani přesně nedozvíte, v čem chyba spočívá.

{
"code": "rest_no_route",
"message": "Nebyla nalezeno odpovídající spojení mezi adresou URL a požadavkem.",
"data": {
"status": 404
}
}

Zkrátka tohle fungovalo, tak jsme to rozbili. 🙁 I když mám novinky rád, tohle je kočkopes a pro klid duše je lepší ponechat staré rozhraní.

1 komentář u „WordPress 5.8 a nová správa widgetů“

Napsat komentář