Jak zrychlit načítání webových stránek
Přináším další článek ze seriálu „Jak…“. Google před nějakým časem zařadil rychlost načítání stránky mezi své faktory hodnocení. Podle jejich vyjádření má tento faktor zatím vliv na méně než 1% vyhledávacích dotazů. U velice konkurenčních slov (keywords) může mít rychlost načítání zřetelný dopad na pořadí stránky ve vyhledávači. Jak předejít tzv. rychlostní penalizaci?
Google jde na to logicky. Velké servery běží na páteřních linkách a mají lépe uzpůsobený systém a výkon pro masivní návštěvnost a velké datové toky, za to malý web na sdíleném hostingu je na tom podstatně hůře. Tento nedostatek lze poměrně dobře dohnat optimalizací datových toků směrem k návštěvníkovi webu bez investice do lepšího serveru. Ovšem to se nedá dělat do nekonečna, je to spíše o odložení problému na jindy.
Jak tedy na to…
- Minimalizujte počet HTTP požadavků, obzvláště na cizí URL. To znamená snížit počet obrázků, CSS a JS souborů.
- Používejte maximálně jeden javascriptový framework. Na mnoha webech jsem viděl, že jsou používány jQuery a Mootools + dodatečné pluginy k nim. Všechny požadavky uspokojí všestranné jQuery. Odstraňte z nich tzv. bílé znaky – mezery, odřádkování, komentáře atd. Můžete použít online utilitu – doporučuji moc nepoužívat „packer“ metodu.
- Všechny CSS přidejte nejlépe do jednoho souboru. Ten deklarujte v hlavičce <head> a nepoužívejte in-line styly. To zajistí uložení souborů do cache prohlížeče. S JS soubory udělejte totéž.
- Požívejte tzv. CSS sprites – jeden obrázek s ikonkami, kterým se pak v CSS nastaví background-position. Sníží se tak počet požadavků i velikost stahovaných dat.
- Ujistěte se, že máte optimalizované obrázky a fotky pro web. Pokud máte program Photoshop, tak používejte volbu „Uložit pro web“ namísto pouhého „Uložit jako“.
- Používejte kešování na straně serveru – nebude se poté muset každá stránka znovu a znovu vykreslovat. V případě, že nekešujete, tak si můžete pohrát s nastavením Cache-Control v hlavičce požadavku generované například PHP funkcí header.
- Používejte GZip kompresi JS a CSS souborů. Lze tím dosáhnout zmenšení velikosti až o 70%. Soubor se pak ungzipuje na straně klienta do původního tvaru. Více jsem se o kompresi rozepsal zde.
- Používejte tzv. CDN servery. Vyplatí se to v případě, že máte web hojně navštěvovaný z více kontinentů. Data pak návštěvník stáhne z nejbližšího možného zdroje. Používá se například u knihovny jQuery.
- Snažte se nepoužívat přesměrování 301 a 302. Prohlížeč musí znovu odesílat požadavek na vrácenou URL a doba načítání se protáhne.
Není pochyb o tom, že se v brzké budoucnosti přidá rychlosti načítání webu na důležitosti, neboť začínají být rozdíly mezi optimalizovanými weby stále menší. Určitě jej začne používat i Seznam. Svoji rychlost načítání můžete změřit pomocí Pingdom tools nebo nainstalováním některého z rozšíření do prohlížeče.
Optimalizací PHP skriptů a Javascriptu/jQuery se budu zabývat samostatně v některém z dalších článků.
Kešování se dá kromě PHP funkce header také velmi dobře ošetřit v . htaccess pomocí modulu mod_expires.
To je pravda, ale take je malokdy na webhostingu povolen
Dekuji za dobry clanek jsem zas o neco chytrejsi,zel to nevyuziju protoze tam kde mam stranky nelze nic takoveho udelat 🙁
Snažte se nepoužívat přesměrování 301 a 302:
Co tedy použít u html stránky, pokud jsem nucena některou stránku zrušit, či přesunout?
V tomto pripade se presmerovani nevyhnete.