Cykl: wskaźniki jakości — YSlow, PageSpeed, Speed Index…
YSlow, PageSpeed oraz Speed Index to wskaźniki z rodzaju Page-level Metrics, charakterystyczne dla pomiarów wydajności najwyższego poziomu tj. wykonywanych dla całej strony. Są to miary oddające ogólny poziom wydajności witryny internetowej. Ich przeciwieństwem są wskaźniki cząstkowe (Request-level Metrics) pozyskiwane podczas pomiarów punktowych, rejestrowanych dla każdego żądania.
Syntetyczne wskaźniki jakości
Na jakość witryny internetowej składa się wiele atrybutów, choć i w tym przypadku można zaryzykować stwierdzenie (parafrazując), że na ową jakość można spoglądać przez pryzmat najsłabszych (newralgicznych) punktów witryny. Istnieje szereg metod i narzędzi umożliwiających ocenę jakości witryn internetowych, w tym pomiar wydajności, użyteczności, stopnia optymalizacji dla wyszukiwarek czy też poziomu zaufania i autorytetu domeny. W pomiarach tych dominują wskaźniki, które w zwięzły sposób oddają jakość danego atrybutu witryny, czy też jakość witryny w danej płaszczyźnie. Do najbardziej znanych syntetycznych miar opisujących wydajność witryn można zaliczyć YSlow, PageSpeed oraz Speed Index. Czas zatem na ich charakterystykę.
Z laurki SEOmena: Nie sztuką jest pozyskać wartości wskaźników. Umożliwiają to algorytmy aplikacji testujących. Sztuką jest je właściwie zinterpretować, a następnie zoptymalizować witrynę.
1. YSlow i PageSpeed
Wskaźniki YSlow (Yahoo!) oraz PageSpeed (Google) wyrażane są syntetyczną notą, która plasowana jest w skali od 0 do 100 punktów procentowych. Jeden i drugi wskaźnik jest także wyrażany w skali od A do F. Wskaźniki te to stymulanty. Im wyższa wartość wskaźnika tym lepiej zoptymalizowana witryna pod kątem szybkości wczytywania w oknie przeglądarki.
Wskaźnik YSlow jest obliczany w oparciu o analizę 23 reguł, z których każda ma przypisaną wagę. Każda z reguł ma także przypisaną wartość graniczną, której przekroczenie oznacza złamanie dobrych praktyk i obniżenie wartości wskaźnika (zob. zasady obliczania YSlow). Również wskaźnik PageSpeed jest naliczany w oparciu o reguły wydajności (PageSpeed Insights Rules).
Front-end is half the battle!
Trudno jest analizować wskaźniki YSlow oraz PageSpeed w oderwaniu od siebie bowiem jeden i drugi dają pewien pogląd na to, jak dobrze jest zoptymalizowany front-end („to co przeglądarka widzi”, części składowe i ogólna struktura witryny) pod kątem czasu wczytywania w oknie przeglądarki, i co ważne, wysokie wartości tych wskaźników wcale nie muszą świadczyć, że witryna jest wydajna (w odczuciu użytkownika). Wskaźniki YSlow oraz PageSpeed są obliczane na podstawie weryfikacji stanu zasobów składających na się na daną witrynę z przyjętym zestawem reguł. Wysoka wartość wskaźników oznacza, że dana witryna jest zoptymalizowana w warstwie front-end, co może mieć przełożenie na szybkie wczytywanie w oknie przeglądarki.
The Other Half: The Back-end?
Ostatecznie jednak wydajność całkowita zależna jest od wielu innych czynników niż tylko front-end. Sposób w jaki front-end jest budowany i obsługiwany zależy także od zaplecza witryny – serwera, hostingu i bazy danych. Tylko zoptymalizowany front-end i back-end dają szybko działające strony internetowe. Wszelkie nieefektywności na obu końcach mogą powodować powolne wczytywanie witryny.
Wskaźniki YSlow oraz PageSpeed wyrażają wydajność front-end — lista wskazówek pokontrolnych podpowiada co dokładnie wymaga optymalizacji. Wskaźniki te są o tyle pomocne, że optymalizacja back-end jest znacznie trudniejsza i nieprzewidywalna. Tymczasem wszystkie witryny muszą mieć elementy HTML, CSS i JS w celu poprawnego wyświetlania w przeglądarce, zatem istnieją sprawdzone metody ich optymalizacji. Na wydajność może mieć zatem wpływ optymalizacja obrazów, wykorzystanie buforowania przeglądarki, odroczenie JavaScript lub redukcja liczby żądań. Zabiegi te można wykonać stosunkowo łatwo i często bezkosztowo, oczywiście posiadając odrobinę wiedzy specjalistycznej.
W tym miejscu warto zwrócić uwagę, że pogoń za wydajnością może być nieuzasadniona. Optymalizacja witryny pod kątem szybkości wczytywania powinna odbywać się z myślą o użytkownikach, ale powinna być także ekonomicznie uzasadniona. Warto zatem odpowiedzieć na pytanie: czy zasadne jest poświęcenie czasu i nakładów pracy, a często także poniesienie kosztów aby uzyskać minimalną poprawę wydajności, i czy będzie to miało rzeczywiste przełożenie na efektywność witryny?
2. Speed Index
Indeks prędkości jest wyrażany w milisekundach i zależy od obszaru wyświetlania witryny (view port). Speed Index informuje jak szybko treści wypełniły przestrzeń, którą dla niej przewidziano (Measuring Visual Progress). Wskaźnik Speed Index to destymulanta. Pożądana jest zatem jego jak najmniejsza wartość. Im szybsze renderowanie (większa wydajność) tym mniejsza wartość indeksu, przy czym Google rekomenduje, aby nie przekraczała ona 1000 jednostek. Miara ta jest związana z projektem WebPagetest (Google) oraz jest wykorzystywana np. w aplikacji DareBoost.
Wskaźnik Speed Index jest bardziej związany z doświadczeniami użytkownika i opisuje jak szybko użytkownik zobaczy zawartość strony. Obliczany jest w wyniku analizy widoku wczytywanej strony klatka po klatce (a frame by frame view).
Czas wczytywania
Wydajność witryny jest często utożsamiana z czasem jej wczytywania w oknie przeglądarki internetowej. „Czas wczytania witryny w oknie przeglądarki” stał się pojęciem wieloznacznym. Jako miara z rodzaju Page-level Metrics jest wyrażana wskaźnikami m.in.: Load Time, Fully Loaded, First Byte czy też Start Render. Są to miary niezależne. Trudno jednak zrozumieć w jaki sposób są naliczane i co tak naprawdę jest liczone (pomiar od zdarzenia do zdarzenia).
Pomiar wydajności witryny jest zagadnieniem złożonym. Wyrażenie go syntetyczną notą punktową bywa pomocne przy porównaniu różnych witryn internetowych. Wskaźniki wydajności mogą być także pomocne przy ocenie skuteczności działań optymalizacyjnych. Równie przydatną miarą mogą być syntetyczne wskaźniki stopnia optymalizacji witryny dla wyszukiwarek. Podczas gdy wskaźniki YSlow, PageSpeed oraz Speed Index są autoryzowane, ujednolicone i wykorzystywane w różnych aplikacjach testujących (API), syntetyczne, zbiorcze wskaźniki SEO mają zwykle indywidualny charakter — są przeważnie wynikiem inwencji twórczej podmiotu, który utworzył i udostępnił aplikację testującą.
Więcej w drugiej części…
Pingback: Mobilna wydajność: testy ad-hoc wydajności mobilnej – Karol Król