Pamięć podręczna przeglądarki

Jak włączyć pamięć podręczna przeglądarki na stronie WWW? – Leverage browser caching

Optymalizacja wydajności strony: Włączanie Cache przeglądarki

Ostatnio zaktualizowany:

Cache przeglądarki, nazywany również Leverage Browser Cache, to funkcja dostępna na serwerach Apache i nginx. Dzięki niej można oszczędzać transfer danych i przyspieszać ładowanie podstron dla użytkowników. Wielu dostawców hostingów, takich jak home.pl, linuxpl.com, ovh.pl czy nazwa.pl, oferuje tę funkcję.

Gdy użytkownik odwiedza stronę, przeglądarka dostaje instrukcje od serwera, jak postępować z plikami z tej strony. W praktyce oznacza to, że pewne pliki są „zapisywane” lokalnie i przy kolejnych wizytach są ładowane bezpośrednio z dysku użytkownika. Pozwala to znacząco obniżyć transfer danych i obciążenie serwera – nawet o 95%.

Jak działa pamięć podręczna przeglądarki na stronie www?

Pamięć podręczna przeglądarki
Obserwuj różnicę w zapytaniach do serwera i pobranych danych: 800 kB vs 5 kB.

Jak włączyć Leverage Browser Cache na serwerze z Apache?

Aby aktywować tę funkcję, potrzebujesz:

  • Dostępu do serwera przez SSH lub FTP oraz pliku .htaccess,
  • Włączonego modułu serwerowego, takiego jak mod_expires dla serwerów Apache.

W pliku .htaccess dodaj poniższe komendy:

# Uruchamiamy moduł expires
<IfModule mod_expires.c>
ExpiresActive on
#Opcja automatycznie ustawia na wszystkich plikach cache 1 miesiąca
ExpiresDefault "access plus 1 month"
#Opcje umożliwiają w zależności od pliku (css, js, html) ustawienie dowolnej daty.
#Obrazki
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
# Cache ikonek i plików  statycznych html
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/html "access plus 600 seconds"
#CSS / JS
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>

Uwaga! Na niektórych hostingach, np. home.pl, powyższe komendy mogą nie zadziałać. Jeśli korzystasz z serwera home.pl, w pliku .htaccess wprowadź:

#Rodzaj pliku - oznaczenie M oznacza sekundy w przykładzie - miesiąc.
:Location *.(jpg|png|css|js|gif)
Expires M2592000
:Location

Restart serwera Apache

Po dokonaniu zmian w pliku .htaccess, ważne jest przeprowadzenie restartu serwera Apache, aby nowe ustawienia weszły w życie. W zależności od systemu, na którym jest zainstalowany serwer, można to zrobić na kilka sposobów:

  • Dla większości dystrybucji Linux (np. Ubuntu/Debian):
sudo service apache2 restart

lub

sudo systemctl restart apache2
  • Dla CentOS/Red Hat:
sudo service httpd restart

lub

sudo systemctl restart httpd

Uwaga: Zawsze warto zrobić kopię zapasową pliku .htaccess przed wprowadzeniem jakichkolwiek zmian, aby w razie potrzeby móc przywrócić pierwotne ustawienia.

Jak włączyć Leverage Browser Cache na serwerze Nginx?

Włączenie cache’u przeglądarki w Nginx polega na dodaniu odpowiednich dyrektyw do pliku konfiguracyjnego serwera. Poniżej znajduje się krok po kroku przewodnik, który pozwoli Ci skonfigurować Leverage Browser Cache na serwerze Nginx:

  1. Edycja pliku konfiguracyjnego: Przejdź do głównego pliku konfiguracyjnego Nginx. Zwykle można go znaleźć w lokalizacji /etc/nginx/nginx.conf lub w /etc/nginx/sites-available/twojadomena.com.

  2. Dodawanie dyrektyw: W odpowiedniej sekcji bloku serwera (lub bloku lokalizacji, jeżeli chcesz, aby te ustawienia miały zastosowanie tylko do określonej sekcji Twojego serwisu), dodaj:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
}

W tym przypadku pliki z rozszerzeniami takimi jak .jpg, .jpeg, .png, .gif, .ico, .css i .js będą miały ustawione wygaśnięcie na 30 dni.

  1. Sprawdź konfigurację: Zawsze warto upewnić się, że konfiguracja jest prawidłowa po dokonaniu zmian. Użyj polecenia:
sudo nginx -t

Jeżeli wszystko jest w porządku, zobaczysz komunikaty syntax is okay oraz test is successful.

  1. Restart Nginx: Aby zmiany weszły w życie, przeładuj serwer Nginx poleceniem:
sudo systemctl reload nginx

Jak sprawdzić działanie pamięci podręcznej?

  1. Używając konsoli developerskiej przeglądarki (patrz przykład powyżej),
  2. Narzędziami do optymalizacji prędkości strony, takimi jak gtmetrix.com czy page speed google,
  3. Sprawdzając nagłówek HTTP, na przykład z użyciem narzędzia curl:
curl -I -L https://wp.pl

Rezultat powinien zawierać informacje o kontrolach cache, takie jak „cache-control” i „expires”.

HTTP/2 200 
date: Mon, 21 May 2018 19:03:38 GMT
content-type: text/html; charset=UTF-8
set-cookie: __cfduid=d9c8052f337ee9edccacd85f8db6c7ac91526929418; expires=Tue, 21-May-19 19:03:38 GMT; path=/; domain=.wojciechpietrzak.com.pl; HttpOnly; Secure
vary: Accept-Encoding
x-mod-pagespeed: 1.13.35.2-0
cache-control: public, max-age=2678400
cf-cache-status: HIT
expires: Thu, 21 Jun 2018 19:03:38 GMT
strict-transport-security: max-age=0
x-content-type-options: nosniff
expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
cf-ray: 41e94dde9ab34064-HAM

Podsumowanie i opinia

Jako doświadczony specjalista SEO z pełnym przekonaniem mogę powiedzieć, że prawidłowo skonfigurowana pamięć podręczna przeglądarki odgrywa kluczową rolę w optymalizacji serwisu. Właściwe jej ustawienie prowadzi do znaczącego obniżenia transferu serwerowego oraz przyspiesza ładowanie strony.

Szybkość ładowania to jeden z kluczowych czynników rankingowych w wyszukiwarkach, co przekłada się na lepsze pozycje w wynikach wyszukiwania.  Dlatego warto poświęcić chwilę, by właściwie skonfigurować Leverage Browser Cache na swoim serwerze, niezależnie od tego, czy korzystasz z Apache czy Nginx.

Custom Sidebar

You can set categories/tags/taxonomies to use the global sidebar, a specific existing sidebar or create a brand new one.