Szybkość działania strony często jest kluczowym czynnikiem wpływającym na to czy ktoś pozostanie na naszej stronie w celu dokonania zakupu, wyślę formularz kontaktowy. Jeśli strona ładuje się zbyt długo jest duże prawdopodobieństwo że użytkownik zamknie stronę bo nie chce mu się zbyt długo czekać na jej otwarcie. Jeśli nawet nasza strona wczyta się i użytkownik zainteresuje się naszą stroną to kolejna walka z wczytywaniem spowoduje frustracje i szybkie zamknięcie.
Prędkość działania strony a SEO
Szybkość wczytywania się strony jest również czynnikiem wpływającym na pozycję strony w wynikach wyszukiwania i wchodzi w skład pozycjonowania Drupala. Google premiuje strony przyjazne użytkownikowi, a strona jest wtedy przyjazna gdy m.in. można się po niej szybko poruszać. Podobnie sprawa się ma z wersją mobilną strony. Im strona na Drupalu będzie szybsza tym użytkownik korzystający z komórki lub tabletu szybciej znajdzie interesujące go informacje i nie będzie klikać ciągle odśwież ze zdenerwowania.
Od czego zależy szybkość strony na Drupalu?
Jest wiele czynników które wpływają na szybkość działania strony opartej o Drupal. Są to czynniki związane i z samym sposobem stworzenia strony, ale także z jej użytkowaniem. Wykonanie kilku podstawowych zabiegów wymienionych w tym artykule może znacząco wpłynąć na szybkość działania każdej strony na Drupalu.
Optymalizacja zdjęć na Drupal CMS
Warto zwrócić uwagę na wielkość wrzucanych na stronę zdjęć. Nie można dopuścić do tego by zdjęcia na danej stronie ważyły zbyt dużo. Dobrą praktyką jest optymalizacja zdjęć przed ich publikacją. Można stracić na jakości zdjęcia niewiele, ale zyskać można zdecydowaną poprawę szybkości strony w szczególności gdy na podstronie mamy bardzo dużo zdjęć. Ważne również jest odpowiednie przycinanie zdjęć na stronie przy użyciu styli obrazków. Do optymalizacji zdjęć można użyć np. narzędzia Pngoptimizer
Dodatkowo można stronę na Drupalu wyposażyć w tzw. lazy loading czyli dogrywanie zdjęć w momencie ich pojawiania się w widoku strony. Skorzystać można tutaj z modułu Image Lazyloader
Drupal cache
Ważne jest, aby podczas publikowania na serwerze strony, włączyć domyślne cachowania drupala. Sam temat był już poruszany pod tym linkiem. Pamiętajmy o włączeniu cachowawnia plików js i css co spowoduje łączenie tych plików w jeden dla każdego typu. Możemy również skorzystać z dodatkowego modułu do cachowania plików - Advanced CSS/JS Aggregation
Dodatkowe systemy cachujące
Gdy mamy dużą stronę, a dodatkowo posiadamy na tyle umiejętności możemy zawsze dodać do strony dodatkowe systemy cachujące takie jak np.:
- Memcache,
- Authcache,
- Boost
Te dodatkowe mechanizmy znacząco przyspieszą naszą stronę, gdyż każdy widok strony będzie cachowany do pliku html, dzięki czemu nie będzie trzeba wykonywać wielu zapytań do bazy, każdorazowo gdy będziemy chcieli odświeżyć daną podstronę. Dodatkowo jeśli korzystamy z viewsów pamiętajmy że w standardzie viewsy posiadają cachowanie, tylko jest ono domyślnie wyłączone i zawsze można je włączyć. Dodatkowo możemy skorzystać z modułu Drupala jak np views content cache.
Dodatkowymi opcjami z których możemy skorzystać to instalacja APC przyspieszający php na serwerze, a także możemy włączyć kompresje gzip w pliku htaccess. Włączenie kompresji gzip jest dość mocno oceniania przez narzędzie Pagespeed od Google, więc warto je dodać.
Aktualizacja Drupala i modułów
Warto posiadać aktualny rdzeń Drupala jak i samych modułów, ponieważ wpływa to nie tylko na bezpieczeństwo strony, ale także na szybkość działania, ponieważ nowe wersje modułów po seriach testów są optymalizowane pod względem wydajności i ich zainstalowanie wyeliminuje nie potrzebne zapytania do bazy czy nie potrzebne pętle, które są w stanie "zabić" każdy serwer.
Wyłączenie niepotrzebnych modułów
Jeśli testowaliśmy wiele modułów dla Drupal CMS to pamiętajmy by je odinstalowywać jeśli z nich nie korzystamy. Dodatkowo możemy wyłączyć nie używane moduły takie jak np devel, views ui, rules ui itd.
Prędkość strony na Drupalu - Podsumowanie
Wykonanie powyższych pięciu kroków może znacząco wpłynąć na szybkość działania strony. Przedstawiony tutaj zestaw czynności jest pewnym standardowym, który można wykorzystać na wszystkich stronach. Prócz podstawowych rozwiązań jest wiele innych zaawansowanych czynności, które można wykonać by przyspieszyć stronę, począwszy od optymalizacji szablonów Drupala, własnych modułów, a kończąc na dużej przebudowie całej strony, jeśli np. zostało użyte bardzo dużo ciężkich modułów. Czasem napisanie prostego moduły może być zdecydowanie lepszym rozwiązaniem niż korzystanie z wielkich gotowych rozwiązań.