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?
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:
-
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
. -
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.
- 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
.
- 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?
- Używając konsoli developerskiej przeglądarki (patrz przykład powyżej),
- Narzędziami do optymalizacji prędkości strony, takimi jak gtmetrix.com czy page speed google,
- 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.