Glem nu Google Page Speed og YSlow score

Jeg ser rigtig mange folk der oftest søger hjælp til at gøre deres side hurtigere.. Eller rettere have en høj Page Speed Score.. Men Glem nu Google Page Speed og YSlow scoren.

Det er den mest elendige score der nogensinde er opfundet, hvorfor? Fordi folk ikke forstår hvordan den virker, sjov påstand? Tja – men altså hvis folk vidste hvordan den virkede, så ville folk ikke ævle omkring at få en høj score.

Google opfandt Page Speed score og Yahoo opfandt YSlow for mange mange år siden, for en måde at give en score på hvor god du var til at følge “best practice” når det kommer til optimering af din side. Men den var designet netop omkring best practice – og intet andet.

Ikke om din side var hurtig, eller om den var hurtig i forhold til andre, eller om den var så hurtig som den kunne være – men rettere best practice hvordan man skulle gøre tingene. Realistisk set, er der ikke nogen best practice – Google og Yahoo lavede en, men fortalte samtidig på Velocity konferencen at scoren var best practice, men samtidig at det ikke var en “one size fits all”-løsning – så man skal tage den med et (eller nok to) gram salt.

Jamen Optimeringseksperterne siger…

En lille hemmelighed, dem som kalder sig optimeringseksperter ved sjældent hvad de snakker om (ihvertfald dem du betaler 100-3000 kr for at optimere din side). De har “lært” at læse de ting som Google Page Speed eller YSlow nu end brokker sig om, og “løse” problemerne for så at give dig en bedre score (og en smule bedre hastighed), og tage penge for det. Meget få “optimeringseksperter” optimere faktisk ud fra hastighed, hvilket i sidste ende er det man burde gøre – og ikke en eller anden score der er relativ til din side.

Catchpoint som laver syntetisk hastighedstests skrev for mange år siden en artikel om hele problemet med Google Page Speed Score – og den kan du læse her: The biggest Misconception about Google Page Speed.

Artiklen ovenfor er fra december 2011 – men er stadig 100% korrekt, fordi Page Speed har ikke ændret sig utrolig meget siden da. (Mærkeligt når man tænker på at internettet har udviklet sig utrolig meget siden da.. Men mere om det senere)

Catchpoint beskriver problemet at scoren først og fremmest er relativ til din side, hvilket betyder at en score på 100 betyder på ingen måde at din side er 100% optimal – hvilket folk desværre oftest får opfattelsen af. Når scoren nu er relativ, betyder det at en side med en score på 50 sagtens kan være hurtigere end din med en score på 100 (eller 98).

Hvad har så betydning?

Google Page Speed / YSlow score, skal aldrig bruges til at måle hastighed med (læs artiklen fra Catchpoint, de giver god begrundelse hvorfor), du skal derimod kigge på nogle andre ting:

  1. Den faktiske performance af din hjemmeside, i antal sekunder (eller millisekunder), hvor hurtig den loader
  2. Den opfattede performance fra dine brugere af din hjemmeside – den her er langt vigtigere end du tror, fordi i sidste ende – uanset hvor hurtig din side er, hvis den føles langsom, så smutter dine brugere. Faktisk kan du have en utrolig langsom hjemmeside, men stadig føle den er hurtig. Facebook skrev en artikel tilbage i Juni 2010 der forklarer hvordan de håndtere god hastighed på en side med mange hundrede elementer – den kan du læse her: BigPipe: Pipelining web pages for high performance.

En ting der er utrolig vigtigt når man skal optimere hastighed for sin side er man skal kigge på er hvor hurtigt den rendere for dine slutbrugere, dette betyder du faktisk skal vide hvad dit segment er, bruger de mobiler (nye eller gamle), tablets, eller computere, hvad er deres alder. Alt sammen har betydning for hvad du skal optimere siden ud fra. Fordi der er kæmpe forskel på om du skal optimere en side til en mobil eller til en high-end computer.

Og så skal du selvfølgelig vide hvor dine brugere er, fordi det kan have stor betydning om de er på low latency eller high latency netværk – man skal optimere for disse ting.

Internettet har ændret sig siden man opfandt Google Page Speed og YSlow

Netværk er blevet hurtigere (men de er stadig elendige), hjemmesider er vokset ekstremt, men vigtigst af alt http2 er her.

Lad os snakke lidt om YSlow’s anbefaling omkring at man skal lave mindre HTTP requests.

YSlow anbefaler man sammensætter CSS filer til mindre antal, og det samme med javascript.

Det giver meget mening – indtil http2 kom. Så lad vær med det så længe du kan bruge http2 – det giver dig bedre hastighed at lade vær og din perceived performance for dine brugere vil være højere for dine slutbrugere ved faktisk at have flere små filer end et par store.

http2 laver en enkelt TCP forbindelse som du kan multiplex binary streams over, hvilket gør du endelig kan udnytte den faktiske hastighed af dit netværk, og at du ikke har en begrænsning mere på antallet af filer du kan sende over din pipeline mere som du havde i tidligere versioner af HTTP.

http2 er designet ud fra at du kan sende “blobs” af data over en stream, og når filen er hentet kan den vises. Dette betyder at jo flere filer du har jo hurtigere vil din side starte med at rendere (hvilket giver dig en bedre perceived performance).

Google har også længe anbefalet at man skulle sammensætte CSS og javascript filer til mindre antal.

Men istedet, brug http2 (du kan endda få det gennem et CDN utrolig billigt), det giver dig bedre hastighed, det giver dig en dårligere score i både Page Speed samt YSlow, men who cares – du skal have en hurtig side (det er forresten også det Google måler på).

nxu286r

Konklusion

Hyr de rigtige mennesker, som ved hvad de snakker om – optimer ud fra hastighed (både faktiske hastighed, men også den opfattede hastighed for dine brugere). Glem Page Speed og Yslow.