Rychlost WordPressu je tématem, ke kterému se týmy kolem jádra, chovaly dost dlouho macešsky. Vše co se dalo reálně dělat, je využít některý z cache pluginů, nebo optimalizovat obrázky.
Jsem proto rád, že se poslední dobou začaly objevovat snahy, vylepšit i věci, které se týkají přímo jádra.
A jednou z nich je načítání překladů.
Pokud používáte WordPress v jiném jazyce, než je angličtina (což jsme asi všichni), tak jste se setkali s Loco Translate, nebo programem PoEdit.
Ty využívají pro lokalizaci šablon a plugin PO a MO soubory.
Což znamená, že při načtení každé stránky ve WordPressu, je třeba načíst a parsovat všechny MO soubory.
A to je proces, nákladný na zdroje.
WordPress má vlastní MO parser, protože gettext rozšíření pro PHP, nemusí být na serveru nainstalované.
Při hledání a testování alternativních řešení se vynořil i plugin, který používá nativní gettext rozšíření, pokud je na serveru – Native gettext.
Instalace a použití tohoto pluginu je ale závislá na implementaci rozšíření a běžný uživatel nebude vědět, jak má postupovat.
Performant translations
A tím se nakonec dostáváme k tomuto pluginu.
Z pohledu PHP, není nic rychlejšího, než načtení jiného PHP souboru.
Performant translations vezme mo, nebo json soubory, v kterých jsou uložené řetězce, převede je na php soubory a ty pak využívá.
Jak moc je to rychlejší?
Zrychlení načítání je v řádech desítek milisekund.
Přistupujte k tomu tak, že ten plugin je spíš pomocník a pokud použijete šablonu, která načítá 2 MB javascriptových souborů na každé stránce, měli by jste řešit nejdříve tento problém, než rychlost načítání překladů.
Použití pluginu má ale dvě výhody:
- php soubory umí využít OPcache
- plugin stačí zapnout
Díky tomu, že zde není žádné nastavení, může se plugin stát běžnou součástí instalace WordPress webu. Navíc po sobě plugin uklízí, takže po deaktivaci a odinstalovaní, jsou soubory smazány.
Závěr
Pro mne je příjemné překvapení, že po době, kdy se spíše řešil Gutenberg, začíná se konečně koukat i na problémy, které WordPress má a tento plugin jsem již začal používat na několik webech. Nezaznamenal jsem zatím žádné problémy.
Plugin si můžete stáhnout z WordPress.org.