Google PageSpeed Module optimalizuje web na serveru – už jej taky používáte?

O víkendu jsem si hrál s novým serverem a kromě jiných optimalizací schopných zrychlit sestavení a odeslání webu do prohlížeče, jsem nasadil také Google PageSpeed. Jde o modul pro webový server, který automaticky optimalizuje stránky posílané uživatelům do jejich prohlížečů.

Reklama

Google PageSpeed je tu necelé dva roky ve stabilní verzi. Pokud jej ještě neznáte, vězte, že jde o doplňkový modul pro webový server – Apache nebo Nginx. Úkolem tohoto modulu je automaticky optimalizovat webové stránky, které odcházejí k uživateli. Není tedy závislý na redakčním systému ani na vaší aplikaci a je mu v zásadě jedno, jestli jste ji napsali v PHP nebo třeba Pythonu (o ASP.NET nemluvím, když je řeč o Apache a Nginx…).

Smyslem tohoto modulu není urychlit generování stránky tím, že by cacheoval PHP nebo výsledky dotazů do databáze. Google PageSpeed řeší rychlost webu z hlediska přenášených dat. Jeho aktivací tedy docílíte toho, že ze serveru budou automaticky odcházet optimalizované obrázky, JavaScript, CSS i HTML samotné. Sníží se tak počet dat nutných pro zobrazení stránky v prohlížeči, což ocení majitelé mobilních zařízení.

Instalace Google PageSpeed

Google PageSpeed se distribuuje v balíčcích RPM a DEB, bez problémů tedy běží na Debianu, který bez výjimek používám na svých serverech. Instalace je tak bez problémů, jen přidáte zdroj a můžete instalovat přes apt-get. V případě, že máte místo Apache Nginx, je situace trochu složitější, Google PageSpeed si musíte stáhnout ve zdrojové podobě a zkompilovat.

Po instalaci stačilo na Debianu použít příkaz a2enmod pagespeed a následně restartovat webový server pomocí service apache2 restart.

Nastavení Google PageSpeed

Ve výchozím nastavení jsou aktivovány všechny základní optimalizace, které Google PageSpeed provádí, konkrétně:

  • Úprava hlavičky
  • Spojení CSS do jednoho
  • Spojení JavaScriptu
  • Převod GIFů do PNG
  • Převod JPG do progresivního JPG
  • Úprava metatagů
  • Převod PNG do JPEGu
  • Cacheování CSS
  • Cacheování obrázků
  • Cacheování skriptů
  • Vložení malých CSS, obrázků a JavaScriptu přímo do HTML kvůli minimalizaci počtu přenášených souborů
  • Rekomprese JPG, PNG a Webp
  • Změna velikosti obrázků
  • Odstranění barevných profilů a metadat z obrázků
  • + několik dalších věcí

Smyslem toho všeho je minimalizovat přenos dat a snížit počet spojení na webový server. Čím méně různých souborů prohlížeč stahuje, tím je zobrazení stránky rychlejší. Samozřejmě ne vždy je výsledek optimalizace znatelný. Můžete tím vším ale ušetřit jednotky i desítky kilobajtů.

PageSpeed vám umožňuje v konfiguraci jednotlivých VirtualHostů pro Apache nastavit, které optimalizace se budou na konkrétním webu provádět. Pokud například víte, že seskupování JavaScriptu vám způsobuje nějaké problémy, nemusíte jej mít aktivní. Podobně v případě optimalizace obrázků.

Podrobněji vám vše vysvětlí kompletní přehled filtrů pro PageSpeed.

Sledování statistik

Google PageSpeed přichází také s jednoduchou statistikou, kterou si můžete zobrazit přes webový prohlížeč. V konfiguračním souboru /etc/apache2/mods-available/pagespeed.conf si však musíte aktivovat zobrazení pro svou IP adresu a následně restartovat webserver.

Adresu pro sledování statistik můžete z výchozí /mod_pagespeed_statistics změnit na libovolnou jinou, stačí upravit konfiguraci virtuálních hostů. Stejně tak je možné v nastavení PageSpeed upravit, co vše bude v zobrazené statistice vidět.

V základu tam najdete informace k jednotlivým filtrům a počty úprav, které provedli. Ve spodní části jsou pak grafy ukazující využívání jednotlivých filtrů. Na stejné stránce se odkazy přepnete také na zobrazení aktuální konfigurace PageSpeed.

Možné problémy. Vyplatí se mít Google PageSpeed na serveru?

Přestože úspora přenesených dat do jisté míry závisí na tom, jak moc máte optimalizovaný svůj web (třeba já nahrávám už minimalizované obrázky a Drupal sám agreguje CSS a JS, ale ne vždy dokonale), nevidím důvod, proč Google PageSpeed na webu nemít. Jakákoli další optimalizace, která vám nezbourá server a ušetří alespoň pár kB, se hodí.

Samozřejmě je tu jedno velké ALE. Zejména co se úprav obrázků týče, dochází při jejich optimalizaci k zátěži procesoru na serveru. Ale jen při jejich prvním zpracování, pak už se drží v cache. Pozor tedy na to, že potenciálně můžete svůj server dostat do problémů. Po zapnutí PageSpeed to poznáte snadno – zátěž CPU se výrazně zvýší a prvotní načtení stránek bude poněkud pomalé. Ale velmi rychle se vše vrátí do normálu, jakmile si PageSpeed vytvoří svou cache.

Na virtuálním serveru u Linode (4 GB konfigurace) jede PageSpeed ve výchozím nastavení bez problémů. Stahovat jej můžete ze stránek PageSpeed Module u Google Developers.

Doporučuji kouknout i na následující video, kde se PageSpeed věnují.

Reklama

Přidat komentář