Jak zmniejszyć ilość zapytań HTTP w WordPress?

Promocja hosting za 1 zł na 6 miesięcy

Im więcej żądań HTTP używa strona WWW, tym wolniej będzie się ładować użytkownikom, którzy ją odwiedzają.

Jeśli zmniejszysz liczbę żądań HTTP to przyspieszysz ładowanie witryny, poprawisz jej wydajność, a być może również zwiększysz jej pozycje w wynikach wyszukiwania Google.

Co to są żądania HTTP?

Każda zbudowana strona WWW składa się z wielu różnych elementów, np. różne pliki obrazów używanych na stronie, arkusze stylów CSS, które kontrolują wygląd, pliki JavaScript itd. Gdy użytkownik odwiedza stronę WWW, to jego przeglądarka pobiera wszystkie zasoby niezbędne dla wywoływanej strony WWW – aby to zrobić, wysyła żądania HTTP do serwera dla każdego z tych zasobów. Serwer odbiera te żądania i następnie odpowiada, np. przesyłając żądane pliki w kierunku przeglądarki.

Każdy element, na który składa się strona WWW może wymagać wysłania oddzielnego żądania / zapytania HTTP. Im więcej żądań HTTP jest potrzebnych do wywołania strony WWW tym wolniej ładuje się strona oraz tym mocniej obciążony jest serwer. Jeśli chcesz, aby Twoja strona WWW ładowała się szybciej, to powinieneś zoptymalizować, czyli zmniejszyć liczbę żądań HTTP.

Warto też wiedzieć, że niektóre żądania HTTP mogą „blokować” inne żądania HTTP. Oznacza to, że ​​przeglądarka nie może rozpocząć wysyłania następnych zapytań, dopóki nie zakończy pobierania wcześniejszych żądań HTTP.

Jak zmniejszyć liczbę żądań HTTP w WordPress?

Najpopularniejsze i najczęściej stosowane są dwie metody optymalizacji ilości żądań HTTP:

  • Usuń żądania HTTP. Jeśli to możliwe, należy całkowicie usunąć każde niepotrzebne żądanie HTTP. Na przykład, jeśli masz wtyczkę, która nie dodaje żadnej wartości do Twojej witryny i ładuje własne CSS i JavaScript, po prostu całkowicie usuń tę wtyczkę, aby pozbyć się wszystkich jej żądań HTTP.
  • Połącz żądania HTTP. Jeśli masz żądania HTTP, które absolutnie musisz załadować, możesz połączyć je w jeden plik. Na przykład, zamiast sześciu małych plików CSS, możesz połączyć je w jeden większy plik CSS, który nadal będzie ładował się szybciej, ponieważ przeglądarka musi wysyłać mniej żądań (nie zawsze jest to prawdą w przypadku protokołu HTTP / 2 , który omówić poniżej).

Poniższa lista dobry praktyk przy optymalizacji liczby żądań HTTP przy WordPress koncentrują się na usuwaniu żądań HTTP. Na końcu listy znajdziesz sugestie łączenia żądań HTTP. Reguła jest taka, że najpierw warto usunąć wszystko co się tylko da, a następnie połączenie tego co zostało.

Usuń niepotrzebne wtyczki WordPress

Za pomocą funkcji „zbadaj” w przeglądarce internetowej (np. Google Chrome), możesz sprawdzić listę wszystkich żądań niezbędnych do załadowania Twojej strony WWW. Na tej podstawie zidentyfikujesz wtyczki i ocenisz czy czas wykonywania ich zapytań nie jest zbyt długi. Być może będziesz mógł zrezygnować z niektórych wtyczek, które nie są niezbędne i tym samym przyspieszysz ładowanie Twojej strony WWW.

Zamień ciężkie wtyczki na bardziej lekkie

Po usunięciu zbędnych wtyczek w WordPress, następnym sugerowanym krokiem jest sprawdzenie czy możesz zastąpić inne ciężkie wtyczki innymi lżejszymi alternatywnymi. Przykładowo, wtyczki służące do dodawania przycisków do udostępniania w serwisach społecznościowych mogą dodawać wiele zbędnych żądań HTTP. Przy takich wtyczkach warto poszukać innych alternatywnych rozszerzeń, które działają przy użyciu mniejszej ilości żądań HTTP.

Warunkowe ładowanie skryptów, które nie są potrzebne w całym serwisie

Twoja strona WWW może korzystać też z wtyczek, które są potrzebne tylko w określonych częściach witryny, ale mogą w chwili obecnej ładować swoje skrypty wszędzie – co jest zbędne.

Przykładowo, popularna wtyczka Contact Form 7 może być potrzebna tylko na wybranych podstronach serwisu (np. na stronie kontaktowej). Niestety, ale wtyczka Contact Form 7 może ładować swoje skrypty na każdej podstronie, np. mogą być dodawane żądania HTTP na stronach wpisów na blogu, choć nie mają dodanych w swojej zawartości żadnych formularzy kontaktowych.

Sugerowanym rozwiązaniem w przypadku takich wtyczek jest warunkowe ładowanie wtyczek tylko wtedy, gdy są faktycznie potrzebne. Możesz pozwolić, aby Contact Form 7 ładował się tylko na stronach, na których znajdują się formularze kontaktowe i wyłączyć ładowanie na pozostałych podstronach.

Jeśli nie jesteś programistą, to wdrożenie warunkowego ładowania możesz wykonać przy pomocy wtyczek: Asset CleanUp lub Perfmatters.

Bądź ostrożny przy ustawianiu warunkowego ładowania, ponieważ „wycięcie za dużo” może spowodować problemy, np. jeśli przypadkowo wyłączysz skrypty, które są naprawdę niezbędne. Jeśli nie czujesz się pewnie, możesz zatrudnić programistę, który Ci w tym pomoże.

Usuń niepotrzebne obrazy (i zoptymalizuj pozostałe)

Używanie na stronie WWW ładnych obrazków i innych plików graficznych powoduje, że Twoja witryna jest przyjazna dla użytkownika i bardziej angażująca. Jednak załadowanie każdego obrazu wymaga obsługi osobnego żądania HTTP.

Jeśli korzystasz ze zbyt dużej ilości plików graficznych, to spróbuj usunąć najmniej wartościowe obrazy w celu redukcji ilości żądań HTTP. Być może zabawny GIF będzie zbędnym elementem na podstronie – przemyśl to i znajdź kompromis za każdym razem, gdy chcesz dodać więcej obrazów do swoich treści.

Przed dodaniem obrazu do swoich treści pamiętaj, aby zmienić jego rozmiar i skompresować. Nie spowoduje to zmniejszenia ilości zapytań HTTP, jednak zmniejszy ich rozmiar, co również ma wpływ na szybsze ładowanie strony WWW.

Użyj „lazy loads” przy ładowaniu obrazów i filmów

Popularna funkcja „lazy loads” powoduje, że Twoja witryna będzie czekać na załadowanie obrazów, filmów i ramek iframe aż do momentu, gdy użytkownik przewinie stronę w dół do miejsca, w których znajdują się te elementy. Oznacza to, że wspomniane zasoby nie ładują się od razu i nie ma potrzeby wysyłania żądania HTTP dopóki użytkownik nie przejdzie do części strony, w których wymagane jest ich wyświetlenie.

WordPress od wersji 5.5 został wyposażony w natywne rozwiązanie „lazy loads”. Możesz też skorzystać z popularnych wtyczek optymalizacyjnych, które również umożliwiają uruchomienie „lazy loads” w ramach całej Twojej strony WWW.

Ogranicz używanie czcionek niestandardowych lub używaj tylko czcionek systemowych

Przy korzystaniu z niestandardowych czcionek należy zachować ostrożność, ponieważ każdy używany niestandardowy typ czcionki dodaje kolejne żądanie HTTP. Jeśli zamierzasz korzystać z niestandardowych czcionek, to staraj się używać niewielkiej ich liczby. Przykładowo, korzystanie z innej czcionki dla tytułu i treści wpisów lub używanie wszystkich pięciu grubości czcionki może być naprawdę zbędne.

Ta sama zasada obowiązuje przy czcionek ikon, np. Font Awesome lub IcoMoon. Czcionki ikon mogą być przydatne, ale prawdopodobnie nie musisz ładować ich wszystkich bibliotek z ikonami.

Możesz całkowicie wyeliminować żądania HTTP związane z używanymi czcionkami w ramach Twojej strony WWW poprzez korzystanie tylko z czcionek systemowych. Dzięki czemu odwiedzający nie będą musieli ładować żadnych plików czcionek, gdyż już będą je posiadać w swoich systemach.

Wyłącz emotikony WordPress

Domyślnie system WordPress dodaje własne żądanie HTTP związane z ładowaniem biblioteki emotikon. Właściwie jest to tylko jedno pojedyncze żądanie HTTP o małym rozmiarze (5,1 KB), jednak ten plik od dawna jest bolączką fanów optymalizacji systemu WordPress. Najprostszą metodą pozbycia tego jednego żądania jest zainstalowanie i aktywacja bezpłatnej wtyczki: Disable Emojis.

Redukuj / eliminuj żądania HTTP stron trzecich

Przeglądarki internetowe używane przez odwiedzających Twoją witrynę mogą również wysyłać żądania HTTP do zewnętrznych serwerów. Takie żądania mogą być jeszcze bardziej kłopotliwe niż wszystkie opisane w powyższych punktach, ponieważ szybkość ładowania Twojej witryny jest zależna od szybkości tych zewnętrznych serwerów.

Przykładowe popularne zewnętrzne żądania:

  • Google Analytics – skrypt śledzenia związany z aplikacją Google Analytics, który wymaga, aby przeglądarki odwiedzających pobierały pliki z serwerów Google w celach statystycznych.

    Możesz zrezygnować z używania Google Analytics i korzystać z modułów statystyk dostępnych na Twoim serwerze. Jeśli jednak Google Analytics jest dla Ciebie niezbędne (np. z uwagi na dodatkowe zaawansowane integracje), możesz eksperymentować z hostowaniem tych skryptów lokalnie. Wtyczki optymalizacyjne WordPress takie jak: WP Rocket mają wbudowane narzędzia do lokalnego hostowania skryptów zewnętrznych takich jak Google Analytics.

  • Osadzone filmy z YouTube – jeśli osadzasz filmy z serwisu YouTube na swoich stronach WWW, to podczas wywoływania tych podstron będzie wykonywanych wiele dodatkowych żądań HTTP do serwerów YouTube.

    Możesz włączyć „lazy loads” w celu wstrzymania ładowania osadzonych filmów dopóki nie będzie to potrzebne. Zamiast ładować od razu cały film możesz zastąpić początkowe ładowanie video wybraną miniaturką. Spowoduje to opóźnienie wysyłania żądań HTTP do momentu, gdy odwiedzający będzie chciał odtworzyć wideo.

  • Usługi reklamowe innych firm – jeśli korzystasz z zewnętrznych usług reklamowych, to Twoja strona WWW może wysyłać wiele dodatkowych zapytań HTTP do serwerów zewnętrznych.

    Na przykład, jeśli wtyczka dodaje własne żądania stron trzecich (tak jak robi to powyższa wtyczka AddThis), możesz ją usunąć i użyć czegoś bardziej zoptymalizowanego.

  • Czcionki Google – jeśli na Twojej stronie używasz czcionek pobieranych z serwerów Google, to Twoja strona WWW musi wysłać do nich żądania HTTP, aby załadować pliki używanych czcionek na Twojej stronie WWW.

Połącz obrazy przy pomocy CSS Sprites

Sprites CSS jest techniką optymalizacji stron WWW, która umożliwia połączyć, czyli zredukować ilość żądań HTTP na Twojej stronie WWW. Polega ona na łączeniu wielu mniejszych obrazów, składających się na stronę WWW w jeden większy plik, który przy odpowiednim zastosowaniu plików styli CSS pozwala na pobieranie i wyświetlanie tej samej ilości obrazków z wykorzystaniem o wiele mniejszej ilości zapytań HTTP. Zastosowanie CSS Sprites zapobiega również efektom polegającym na dodatkowym ładowaniu brakujących grafik.

Używanie CSS Sprites jest zasadne w przypadku obrazków takich jak: logo lub ikony. Nie należy stosować CSS Sprites przy innych obrazkach, np. dodawanych w treści wpisów publikowanych na blogu.

Połącz pliki CSS i JavaScript

Wraz z plikami szablonu WordPress oraz wtyczkami Twoja witryna prawdopodobnie ładuje wiele arkuszy stylów CSS i plików JavaScript – co jest równoznaczne z wieloma żądaniami HTTP. W celu zredukowania ilości żądań związanych ze stylami CSS oraz plikami JavaScript możesz połączyć wszystkie pobierane arkusze CSS w jeden plik.

Wiele wtyczek optymalizacyjnych do WordPress (np. WP Rocket) zawiera wbudowane funkcje, które umożliwiają łączenie zarówno arkuszy styli CSS oraz plików JavaScript.

Odłóż JavaScript blokujący renderowanie

Poprzez odłożenie kodów JavaScript blokujących renderowanie nie zredukujesz liczby żądań HTTPS, ale zoptymalizujesz sposób ich ładowania (np. unikniesz tzw. łączenia krytycznych żądań).

Przy pomocy ładowania asynchronicznego plików możesz zapobiec „blokowaniu” istotnych zasobów, które są potrzebne do szybkiego załadowania widocznej części strony WWW.

Jak zmniejszyć ilość żądań HTTP za pomocą wtyczek?

Do optymalizacji ilości zapytań HTTP na stronach opartych o WordPress możesz skorzystać ze specjalnych wtyczek:

Powyższe wtyczki nie zmodyfikują za Ciebie używanych motywów i wtyczek, jednak mogą pomóc w optymalizacji Twojej witryny w znaczącym stopniu i przyspieszyć jej czas ładowania.

  • Czy ten artykuł był pomocny?
  • TakNie
Promocja hosting za 1 zł na 6 miesięcy