Favicon, który się nie aktualizuje, zwykle tkwi w przeglądarce: przeglądarki trzymają favicony we własnym cache, którego zwykłe odświeżenie strony nie czyści. Najszybsza poprawka to nadanie ikonie nowego adresu URL, czyli nowej nazwy pliku albo parametru wersji, jak /favicon.svg?v=2, i zaktualizowanie znaczników <link>. Wcześniej upewnij się, że serwer i CDN naprawdę wysyłają nowy plik.
Najpierw: czy serwer wysyła nową ikonę?
Otwórz adres ikony bezpośrednio, na przykład https://example.com/favicon.ico, w oknie prywatnym. Jeśli widzisz tam starą ikonę, problem leży po stronie serwera: CDN lub proxy nadal trzyma stary plik, wdrożenie go nie zastąpiło albo HTML wskazuje gdzie indziej. Favicon Checker pobiera każdą zadeklarowaną ikonę od nowa i pokazuje nagłówki cache, które wysyła Twój serwer.
Zmień adres URL
Nowy adres omija cache przeglądarki, CDN i Google za jednym razem:
<link rel="icon" href="/favicon.ico?v=2" sizes="32x32">
<link rel="icon" href="/favicon.svg?v=2" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png?v=2">
Zrób to samo dla ikon z manifestu. Samego /favicon.ico nie da się zmienić, bo przeglądarki żądają dokładnie tej ścieżki; tutaj pomoże wyczyszczenie cache w CDN.
Wyczyść cache w przeglądarce
- Chrome i Edge: otwórz adres ikony w karcie, naciśnij Ctrl+Shift+R (Cmd+Shift+R na Macu), a potem odśwież swoją stronę. Ikony są przechowywane razem z historią, więc jeśli stara się trzyma, usuń wpisy historii tej witryny lub uruchom przeglądarkę ponownie.
- Firefox: odświeżenie bezpośredniego adresu działa i tutaj. Firefox też trzyma ikony razem z historią: otwórz Bibliotekę, kliknij witrynę prawym przyciskiem i wybierz Zapomnij o tej witrynie (Forget About This Site).
- Safari: zamknij Safari całkowicie i otwórz je ponownie. Na Macu pomaga też Programowanie → Opróżnij pamięci podręczne (Develop → Empty Caches); menu Programowanie włączysz w Ustawieniach → Zaawansowane (Settings → Advanced).
Ustaw rozsądne nagłówki cache
Ikony rzadko się zmieniają, więc długie cache'owanie jest w porządku, o ile zmieniasz adres, gdy zmienia się ikona. Pliki z wersją w nazwie lub parametrze mogą być cache'owane przez rok:
Cache-Control: public, max-age=31536000, immutable
Dla ikon pod stałymi ścieżkami, takich jak /favicon.ico, od doby do tygodnia sprawia, że odwiedzający nie czekają miesiącami na zmianę identyfikacji wizualnej:
Cache-Control: public, max-age=604800
Ekrany główne i zainstalowane aplikacje
iOS kopiuje Apple touch icon, gdy ktoś dodaje Twoją stronę do ekranu głównego, i nigdy go nie odświeża. Odwiedzający musi usunąć skrót i dodać go ponownie. Zainstalowane aplikacje internetowe są inne: Chrome co jakiś czas sprawdza manifest zainstalowanej aplikacji i przejmuje zmienioną ikonę. Na Androidzie może przed zmianą zapytać użytkownika.
Google Search
Google odświeża favicon, gdy ponownie przeszukuje Twoją stronę główną, co może potrwać dni lub tygodnie. Poproś o indeksowanie strony głównej w Search Console, żeby go ponaglić. Jeśli ikona nadal się nie zmienia, porównaj ją z wymaganiami Google dotyczącymi favicon.