Praktický postup, ako zrýchliť web na Drupale 10 a 11: od hostingu cez vyrovnávaciu pamäť a obrázky až po hľadanie pomalých modulov.
Drupal je pri správnom nastavení veľmi rýchly. Menšie weby väčšinou netreba nijako špeciálne ladiť. Problémy prichádzajú pri väčších projektoch, kde základná konfigurácia nestačí, alebo pri weboch, kde sa niekde po ceste niečo vyplo. Tu je postup, ktorý používame.
1. Hosting a PHP
Základom je kvalitný hosting s aktuálnou verziou PHP, zapnutým OPcache a dostatkom pamäte. Rozdiel medzi starou a aktuálnou verziou PHP býva na rýchlosti citeľný.
2. Vyrovnávacia pamäť v jadre
Drupal 10 a 11 majú v jadre tri dôležité moduly: Internal Page Cache pre anonymných návštevníkov, Dynamic Page Cache pre prihlásených a BigPipe, ktorý pošle hlavnú časť stránky okamžite a pomalšie časti doplní. Všetky by mali byť zapnuté.
V administrácii v časti Konfigurácia → Vývoj → Výkon nastavte maximálny vek cache pre prehliadače a proxy a zapnite agregáciu CSS a JavaScriptu.
3. Obrázky
- Používajte štýly obrázkov a responzívne obrázky, nie originály.
- Konvertujte do WebP alebo AVIF, Drupal to vie priamo v štýloch.
- Obrázky mimo prvej obrazovky načítavajte až pri posunutí (lazy loading je v jadre).
4. Views a vlastné bloky
Pri Views nastavte cache podľa značiek (tag-based), ak to obsah dovolí. Pri vlastných blokoch a moduloch správne nastavte cache tags, contexts a max-age. Jedno nesprávne nastavené max-age: 0 vie vypnúť cache celej stránky.
5. Redis alebo Memcache
Pri väčších weboch sa oplatí presunúť cache z databázy do Redisu alebo Memcache. Potrebujete na to podporu hostingu a príslušný modul.
6. Reverse proxy a CDN
Pri veľkej návštevnosti pomôže Varnish alebo CDN, ktoré doručia stránky a súbory z pamäte bez toho, aby sa zaťažil Drupal.
7. Skripty tretích strán
Často web nespomaľuje Drupal, ale meracie kódy, chaty a widgety. Načítavajte ich cez Google Tag Manager, až po súhlase a len tie, ktoré naozaj používate.
Stále pomalé?
Treba merať. Pomôže PageSpeed Insights pre pohľad návštevníka a nástroje ako Webprofiler alebo profilovanie na serveri pre pohľad dovnútra. Často je vinníkom jeden modul alebo jeden zle napísaný dotaz do databázy. Vývojárske moduly po ladení na produkcii vypnite.
Rýchlosť nie je jednorazová úloha. Každý nový modul a každý nový skript ju môže zhoršiť, preto ju oplatí pravidelne kontrolovať.


