Jak przyspieszyć stronę na WordPressie?

2020-12-01

CMS WordPress to dość popularny system zarządzania treścią stron internetowych — już w 2018 roku korzystało z niego ponad 30% różnych serwisów.

Choć sam w sobie jest szybki i działa płynnie, zdarza się, że oparte na jego skrypcie strony działają znacznie wolniej, niż powinny. Najczęściej jest to wynikiem nagromadzenia niekoniecznie potrzebnych elementów strony lub zaniedbania pewnych czynności związanych z jej obsługą. W niniejszym tekście zebraliśmy kilka sprawdzonych metod na przyspieszenie opartej o WordPress strony. 

1. Zmiana serwera

Jedną z częstszych przyczyn problemów z wczytywaniem strony jest postawienie jej na wolnym serwerze. Zdarza się bowiem, że szukając oszczędności, wybiera się najtańszą ofertę hostingową opartą o serwery z tradycyjnymi dyskami twardymi HDD i kiepską wydajnością. To poważny błąd, gdyż szybkość ładowania ma znaczący wpływ na popularność i pozycję strony — badania pokazują, że internauci tracą zainteresowanie stronami, które wczytują się dłużej niż 4 sekundy. Zatem nawet jeśli Twoja strona jest idealnie zoptymalizowana, wolny serwer może ją całkowicie pogrążyć. W związku z tym nie warto na nim oszczędzać. Powinno wybrać się dobry hosting, najlepiej taki który udostępnia swoim klientom szybkie serwery LiteSpeed, a zwłaszcza te zoptymalizowane specjalnie pod WordPress.

2. Zmiana wersji PHP na wyższą

Istotny wpływ na szybkość działania serwera i obsługiwanych przez niego stron internetowych ma uruchomiona na nim wersja PHP. Im będzie ona wyższa, tym wydajniej i szybciej będą wykonywane skrypty — wersja 7.3 radzi sobie z obsługą trzykrotnie większej ilości jednoczesnych zapytań niż wersja 5.6. Obecnie dostępna jest już stabilna wersja 7.3.2, cechująca się nawet dwukrotnie wyższą szybkością działania.

Poza tym używana wersja PHP ma także znaczący wpływ na bezpieczeństwo danej strony — starsze wersje (poniżej 5.6) nie są już bowiem wspierane i potencjalne luki w zabezpieczeniach nie będą już w nich „łatane”. Tym samym oparta o nie strona będzie narażona na ataki hakerów.

Warto przy tym także pamiętać, że zmieniają się również wymagania instalacyjne samego WordPressa — skrypty oparte na nowych regułach pisania kodu nie będą działać w starszych wersjach PHP, co pociągnie za sobą krytyczne błędy strony internetowej. Również nowe wtyczki i szablony nie będą działać poprawnie na przestarzałych skryptach.

Zmianę wersji można zazwyczaj przeprowadzić z poziomu panelu administracyjnego, gdyż większość hostingów daje taką możliwość swoim klientom. Zanim jednak dokonasz tej zmiany, zadbaj o utworzenie kopii roboczej swojej strony — może się bowiem okazać, że nie wszystkie jej elementy będą działać poprawnie.

3. Przejście na protokół HTTP/2

Można powiedzieć, że ten protokół to rewolucja w sferze technologii internetowej, pozwalająca na wręcz olbrzymie przyspieszenie ładowania witryn. Dzięki niemu można m.in. kompresować nagłówki i scalać wiele połączeń w jedno stałe, odpowiadające za obsługę kilku różnych typów treści. Każda z wiodących na rynku przeglądarek umożliwia jego obsługę. Niestety nie można tego powiedzieć o usługach hostingowych — tylko część z nich oferuje możliwość przejścia na HTTP/2.

Jak sprawdzić, czy Twój hosting na to pozwala? Wystarczy na przykład wykonać prosty test dostępny pod tym adresem: https://tools.keycdn.com/http2-test

Nasi klienci z pewnością docenią fakt, że serwery Kylos umożliwiają transfer protokołem HTTP/2, dzięki czemu ich strony są szybko dostępne dla użytkowników.

4. Aktualizacja WP i wtyczek

Co jakiś czas zarówno sam system CMS, jak i działające w nim wtyczki otrzymują aktualizacje zwiększające funkcjonalność i usuwające błędy. Nierzadko wiąże się to także z poprawą szybkości działania strony. Dlatego, gdy strona zaczyna zwalniać, warto sprawdzić, czy przypadkiem nie jest dostępna nowa aktualizacja. Również w tym przypadku pamiętaj o uprzednim wykonaniu kopii strony, gdyż nie wszystkie zawarte na niej elementy mogą działać poprawnie z nową wersją systemu.

5. Ograniczenie ilości wtyczek

Na czas ładowania strony wpływają także zainstalowane na niej wtyczki. Fakt, mogą one znacznie wzbogacić stronę i znacznie rozszerzyć jej działanie, ale naprawdę łatwo przesadzić z ich ilością i spowolnić stronę do ślimaczego tempa. Zwłaszcza gdy na niewielkiej stronie umieści się ważące dużo wtyczki. Warto zatem ograniczyć się wyłącznie do tych absolutnie niezbędnych.

Jak ocenić, która wtyczka jest faktycznie używana, a która wyłącznie obciąża niepotrzebnie stronę? Jak na ironię najłatwiej zrobić to przy użyciu wtyczki, np. P3 (Plugin Performance Profiler). Generuje ona wykres kołowy obrazujący wpływ poszczególnych wtyczek na czas ładowania strony. Dzięki temu można określić, która wtyczka (lub wtyczki) jest największym obciążeniem i ustalić, czy faktycznie jest przydatna. Inna pomocna w tym zadaniu wtyczka to UsageDD. Po wszystkim należy usunąć również wtyczkę diagnostyczną, aby nie zabierała niepotrzebnie zasobów.

6. Zmniejszenie ilości skryptów

Wiele dodatków, jak na przykład popularne liczniki, widgety i przyciski odnoszące się do mediów społecznościowych, pobiera informacje z zewnętrznych źródeł i na ich podstawie aktualizuje zawarte w nich treści (robi tak np. licznik reakcji). Ich nagromadzenie znacznie wydłuża czas ładowania się strony. W związku z tym konieczna będzie analiza tych elementów pod kątem przydatności i usunięcie tych mało użytecznych. Przykładowo nie ma sensu trzymanie na stronie odnośników do social mediów, z których nie korzystają docelowi odbiorcy prezentowanych na niej treści.

Warto przy tej okazji wspomnieć także o Gravatarze. Jest to zintegrowana z WP usługa działająca podobnie do wtyczki — importuje ona zdjęcia komentujących z zewnętrznych źródeł i wyświetla je w formie miniatur przy ich wypowiedzi. W wielu przypadkach jest to całkowicie zbędne obciążenie strony i najlepiej Gravatar po prostu wyłączyć. Wystarczy wejść w zakładkę ustawień WP i w sekcji Dyskusja odznaczyć opcję Wyświetlanie obrazków profilowych.

7. Dobór odpowiedniego szablonu

Wygląd strony internetowej ma bardzo duże znaczenie — na jego podstawie użytkownik ocenia ją jeszcze przed poznaniem zamieszczonych nań treści. Nawet najlepsze walory wizualne nic jednak nie dadzą, jeśli witryna będzie się długo wczytywać. Trzeba zatem wybierać takie szablony i motywy, które nie tylko przyciągają wzrok, ale też sprawnie działają.

WordPress ma całe multum dedykowanych motywów, zarówno płatnych, jak i darmowych. Często są one jednak przygotowywane tak, aby spełniały całą masę różnych funkcji i zaspokajały możliwie najwięcej oczekiwań użytkownika. W efekcie optymalizacja kodu szablonu może pozostawiać wiele do życzenia, a wykorzystująca go strona będzie działać przeraźliwie wolno. Na szczęście większość motywów daje możliwość przetestowania wersji demonstracyjnej przed ich zakupem — warto z niej skorzystać i sprawdzić szablon w różnych rozdzielczościach i przeglądarkach. Trzeba jednak pamiętać, że takie demo ma najczęściej włączone wszystkie opcje, z których niekoniecznie skorzysta się przy normalnym użytkowaniu szablonu, a ich układ może się rozjeżdżać po wprowadzeniu faktycznych treści. Dobrze jest też zawczasu sprawdzić opinie użytkowników danego motywu.

Podczas testów należy zwrócić uwagę na Javascripts, zwłaszcza pod kątem ich rozmiarów, ilości i ładowania nieużywanych funkcji. Błędy optymalizacyjne w rodzaju ładowania stylów i skryptów formularza kontaktowego na stronie głównej zdarzają się bowiem bardzo często.

Ogólnie podczas poszukiwań warto trzymać się następujących założeń:

  • motyw ma być szybki i zapewniać minimalną ilość funkcji pozwalającą realizować założenia Twojego projektu,

  • cechuje go unikalność, ale pozwala na wyłączenie niepotrzebnych funkcji.

Szablony WordPressa są dość elastyczne pod względem konfiguracji i zazwyczaj pozwalają użytkownikowi powyłączać zbędne elementy. Bez których funkcji można się obejść? W większości przypadków niepotrzebne będą m.in. slidery, efekty parallax, Google Fonts, video, galerie masnonry czy Font Awesome. Warto też pamiętać, aby wybrany motyw był tzw. potomnym — w przeciwieństwie do zwykłych będą one działać poprawnie po przeprowadzeniu aktualizacji WP.

Najpewniejszą metodą na uzyskanie sprawnie działającego motywu spełniającego wszystkie oczekiwania będzie jednak zamówienie autorskiego szablonu u profesjonalnego twórcy.

8. Optymalizacja grafik

Kolejnym ważnym dla ruchu w witrynie, a zarazem w dużym stopniu wpływającym na jej czas wczytywania są różnego rodzaju zdjęcia, obrazy i grafiki. Choć jest to bardzo dobry sposób na przyciągnięcie uwagi, nieodpowiednie ich zaimplementowanie znacznie spowolni stronę internetową.

Po pierwsze, trzeba zwrócić uwagę na ich format. PNG to format, który doskonale sprawdzi się przy prostych grafikach. Natomiast w przypadku wielokolorowych obrazów lepiej jest korzystać ze skompresowanego formatu JPEG — zabieg ten znacznie „odchudzi” plik przy tylko nieznacznym obniżeniu jakości grafiki. Można również skorzystać z obrazów w nowych formatach, takich jak WebP. Trzeba przy tym pamiętać, że nie wszystkie przeglądarki obsługują ten format i użytkownik może mieć problem z otworzeniem takich grafik.

Po drugie, optymalizacja. Obraz trzeba bowiem dostosować do możliwości strony internetowej. Część programów graficznych umożliwia to dzięki funkcji zapisywania na stronie internetowej. Można też wykorzystać do tego odpowiednią wtyczkę, np. Compress JPEG & PNG images lub WP Smush.it. Narzędzia te umożliwiają dostosowanie rozmiaru i jakości obrazów przy przesyłaniu ich do WordPress oraz pozwalają zoptymalizować te już zamieszczone na Twojej stronie.

Następnym krokiem na drodze do przyspieszenia działania strony z grafikami jest włączenie tzw. lazy loading. Opcja ta sprawia, że przy otwieraniu strony ładują się wyłącznie aktualnie widoczne obrazy, a reszta wczytuje się stopniowo przy przewijaniu strony w dół. Z tego ustawienia można korzystać dzięki różnym wtyczkom, np. A3 Lazy Load.

9. Wykorzystanie pamięci cache

Wyraźnie przyspieszyć stronę można także przez cachowanie zasobów. W uproszczeniu operacja ta polega na zapisywaniu części zasobów niezbędnych do załadowania strony w pamięci podręcznej komputera użytkownika. Skutkuje to znacznym skróceniem czasu ładowania przy kolejnej wizycie z tego samego urządzenia. Opcja ta ma szczególne znaczenie w przypadku masywnych stron i każde narzędzie diagnostyczne uznaje brak tej funkcji za błąd. Z cachowania pozwalają korzystać wtyczki, np. WP Super Cache.

10. Kompresja gzip/deflate

Funkcja ta polega na kompresowaniu wybranych plików na serwerze (np. JavaScript, CSS, HTML) i dekompresji ich w przeglądarce. Zmniejsza to rozmiar danych przesyłanych na linii serwer-przeglądarka, co z kolei skraca czas ładowania się strony. Rozmiar zasobów po takiej kompresji spada nawet o około 80% — dokładny procent można poznać dzięki np. Gzip compression test.

Opcja ta jest często domyślnie włączona lub hosting pozwala ją uruchomić samodzielnie w panelu usługi. Jeśli nie ma takiej opcji, konieczne będzie dopisanie odpowiedzialnej za kompresję komendy w pliku .htaccess. Przykładowo będzie ona wyglądać tak:

mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file .(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

Komendę dla kompresji deflate możesz znaleźć tutaj.

Warto w tym miejscu wspomnieć, że plik .htaccess ma także kilka innych przydatnych zastosowań, o których możesz dowiedzieć się z naszego artykułu: .htaccess - przyjazne linki, wymuszanie połączeń szyfrowanych i inne przydatne rzeczy.

11. Minifikacja kodu

Zabieg ten polega na usunięciu z plików kodu (JavaScript, CSS itp.) białych znaków oraz zbędnych komentarzy. W efekcie otrzymuje się skrócony do minimalnej potrzebnej liczby znaków plik w „jednej linijce”, który mimo skrócenia nie traci swojej funkcjonalności.

Kilka plików poddanych minifikacji można następnie połączyć w jeden, co pozwoli ograniczyć ilość zapytań wysyłanych do serwera i przyspieszyć działanie strony.

Minifikację można przeprowadzić samodzielnie lub wykorzystać do tego odpowiednią wtyczkę, np. Better WordPress Minify. Podczas tego procesu należy jednak zachować ostrożność, gdyż minifikacja niektórych plików może powodować komplikacje. Dotyczy to szczególnie plików JavaScript, które nie zawsze „dają się scalić”. W razie problemów najlepiej po prostu wykluczyć taki plik z minifikacji i zostawić go w pierwotnej formie. Oczywiście przed przystąpieniem do skracania kodu trzeba pamiętać o wykonaniu kopii bezpieczeństwa objętych nim plików.

12. Usunięcie zbędnego kodu CSS i JS

Jak już wspomnieliśmy przy okazji omawiania gotowych motywów, kody używane na stronach WP mogą zawierać wielokrotne powtórzenia tej samej komendy, do tego umieszczone w niewłaściwym miejscu. Powoduje to np. podwójne wczytywanie tego samego obiektu czy powtarzanie treści z podstron na stronie głównej. Wszystko to spowalnia Twoją stronę. Warto zatem przyjrzeć się dokładnie zawartości plików CSS i JS i usunąć z nich niepotrzebne fragmenty.

13. Optymalizacja bazy danych

WordPress jak każdy system opiera się na działaniu baz danych, będących źródłem wszelkich treści, danych i ustawień niezbędnych do prawidłowego funkcjonowania witryny. W trakcie użytkowania bazy danych pojawiają się z czasem zbędne dane wpływające na szybkość wczytywania strony. W utrzymaniu porządku pomoże np. bardzo prosta w obsłudze wtyczka WP-Sweep — sprawdzi ona całą bazę i w kilka chwil pozwoli usunąć wszystkie niepotrzebne elementy.

Optymalizację bazy danych należy powtarzać co pewien czas, w zależności od wielkości samej strony i częstotliwości zmian konfiguracji. Małą i rzadko aktualizowaną stronę można czyścić co kwartał lub nawet rok, a masywne i często modyfikowane nawet co tydzień. Dobrze jest monitorować wpływ tych zabiegów na prędkość wczytywania strony i na tej podstawie ustalać dokładny terminarz. Oczywiście przed rozpoczęciem jakichkolwiek zabiegów na bazie danych trzeba bezwzględnie wykonać jej kopię zapasową.

14. Porządkowanie historii wpisów w WordPressie

WordPress dokonuje autozapisu przy każdym nowym wpisie. Stanowi to zabezpieczenie przed utratą danych w wypadku nieplanowanego wyłączenia strony z kokpitem. Dzięki temu zabiegowi użytkownik może wrócić do zapisanej treści, a nawet poprzedniej wersji. I jeszcze kilku wcześniejszych. W domyśle bowiem WP przechowuje w bazie danych robocze zapisy treści od samego początku jego wykorzystywania. Po pewnym czasie zbierze się ich na tyle dużo, że skutecznie spowolnią działanie całego systemu WP. Ponadto WordPress przechowuje nawet treści, które były na stronie, ale zostały już z niej usunięte.

Trzeba zatem co jakiś czas usuwać takie nieaktualne treści, w czym pomoże wspomniana już wtyczka WP-Sweep — wystarczy zaznaczyć w niej opcje usuwania „Auto drafts” oraz „Deleted posts”. Można także ograniczyć ilość kopii zachowywanych przez WP, dodając odpowiednią komendę do jego kodu. Również w tym przypadku konieczna będzie kopia robocza, zanim wprowadzi się modyfikacje w bazie danych.

15. Wyłączenie mechanizmów pingback i trackback

Mechanizmy te są właściwie już przestarzałymi składowymi kodu WordPressa odpowiedzialnymi za powiadamianie między stronami o wzajemnych podlinkowaniach i wzmiankach. Ich funkcjonowanie przypomina powiadomienia wysyłane przez social media. Obecnie mało kto korzysta z nich zgodnie z pierwotnym przeznaczeniem i często są po prostu narzędziem wykorzystywanym przez spamerów do zalewania stron fikcyjnymi powiadomieniami. Na szczęście można je bardzo prosto wyłączyć z poziomu ustawień WP — wystarczy w zakładce Dyskusja odznaczyć pole „Zezwól innym blogom na powiadamianie o zamieszczeniu odnośnika (pingbacki i trackbacki) do nowo dodanych artykułów”.

16. Usunięcie niedziałających linków

Nieaktywne linki nie tylko niepotrzebnie zalegają na stronie, ale też zmniejszają jej atrakcyjność dla użytkowników oraz wpływają na gorsze pozycjonowanie strony. Przyczyną niedziałających linków może być błędne wpisanie adresu domeny, brak możliwości otworzenia hiperłącza lub to, że dana strona już nie istnieje (błąd 404).

Oczywiście nie trzeba ręcznie sprawdzać każdego linku — ponownie niezastąpione okażą się tutaj wtyczki, np. Broken Link Checker. Daje się ona łatwo konfigurować pod względem częstotliwości i miejsca sprawdzania. Ma nawet wbudowaną opcję dodawania atrybutu nofollow i wysyłania powiadomień mailowych o niedziałających linkach.

Wtyczki przydatne w optymalizacji stron na WordPressie

Na koniec przygotowaliśmy krótkie zestawienie wtyczek przydatnych w przyspieszaniu stron WP:

  • W3 Total Cache — wtyczka dodająca możliwość cachowania zasobów posiadająca wiele opcji i kompatybilna z innymi wtyczkami oraz różnymi serwerami webowymi,

  • Smush Image (dawne WP SmushIt) — wtyczka pozwalająca kompresować dodawane do strony obrazy oraz optymalizować te już na niej umieszczone,

  • Clearfy — narzędzie służące optymalizacji stron WP przez wyłączanie lub blokowanie funkcji oraz wtyczek niepotrzebnych do prawidłowego funkcjonowania witryny,

  • Autoptimize — wtyczka optymalizująca pliki tekstowe oraz pozwalająca m.in. dodawać specjalne nagłówki i przenosić skrypty do stopki,

  • AMP for WordPress — wtyczka pozwalająca na szybsze wczytywanie się mobilnych wersji stron, dodając przy tym specjalne oznaczenie w wyszukiwarce. Przed instalacją warto sprawdzić, czy nie jest już wbudowana w używany motyw.

Podsumowanie

Płynność działania i szybkie tempo ładowania stron są kluczowe dla ich powodzenia. Dlatego też, jeśli zaobserwujesz, że Twoja strona zaczyna zwalniać, podejmij zdecydowane kroki w kierunku poprawy jej działania.

 

 

Szukasz hostingu pod Wordpressa?

Jesteś w dobrym miejscu.

Nasz szybki hosting z Litespeed i HTTP/2 jest tym czego potrzebujesz.

Sprawdź naszą ofertę.

Sprawdź nas

Mogą Cię również zainteresować

comments powered by Disqus