Dokumentacja
Dodaj favicon
Dodaj favicon
Favicon to mała ikona w karcie przeglądarki, w zakładkach, na ekranie głównym telefonu i obok Twojej witryny w mobilnych wynikach Google. Bez niej przeglądarka pokazuje pusty symbol strony, a Google ogólną ikonę globusa. To drobiazg, ale właśnie po nim ludzie znajdują Twoją kartę wśród dwudziestu innych, a witryna bez ikony wygląda na niedokończoną.
Lista kontrolna strony szuka na stronie głównej znacznika <link rel="icon"> albo pliku pod /favicon.ico i ostrzega, gdy nie znajdzie żadnego z nich.
Jakich plików potrzebujesz
Zacznij od jednego kwadratowego obrazu o wymiarach co najmniej 512 × 512 px, z prostym kształtem, który da się odczytać nawet przy 16 px. Na jego podstawie potrzebujesz:
| Plik | Rozmiar | Kto go używa |
|---|---|---|
/favicon.ico |
32 × 32 (może zawierać też 16 × 16) | każda przeglądarka; pobierany automatycznie, nawet bez znacznika |
icon.svg lub icon.png |
SVG albo PNG 48 × 48 lub większy | nowoczesne przeglądarki, wyniki Google |
apple-touch-icon.png |
180 × 180 | ekran główny iPhone'a i iPada |
| PNG 192 × 192 i 512 × 512 | w manifeście aplikacji internetowej | ekran główny Androida, witryny instalowalne |
Google pokazuje favicon w wynikach tylko wtedy, gdy strona główna wskazuje go znacznikiem, ikona jest kwadratowa i ma co najmniej 8 × 8 px (Google zaleca więcej niż 48 × 48), a robots.txt jej nie blokuje. Sam plik pod /favicon.ico wystarcza przeglądarkom, ale nie zawsze Google.
Sprawdź sam
Zamiast example.com wpisz swoją stronę:
curl -s https://example.com | grep -ioE '<link[^>]*rel="[^"]*icon[^"]*"[^>]*>'
curl -sI https://example.com/favicon.ico | grep -iE '^(HTTP|content-type|content-length):'
Pierwsze polecenie wypisuje znaczniki ikon, drugie sprawdza klasyczny plik. Naprawione oznacza co najmniej jeden znacznik, a plik, na który wskazuje, odpowiada 200 z typem obrazu (image/x-icon, image/vnd.microsoft.icon, image/png lub image/svg+xml).
Jak to naprawić
Wybierz, na czym zbudowana jest Twoja strona. W systemach CMS i na platformach hostowanych przesyłasz jeden obraz, a resztę robi platforma; we własnym kodzie pliki i znaczniki dodajesz sam.
WordPress
WordPress nazywa favicon Site Icon i z jednego przesłanego obrazu tworzy wszystkie rozmiary (32, 180, 192 i 270 px). Potrzebuje kwadratowego obrazu o wymiarach co najmniej 512 × 512 px.
- Motywy klasyczne: Appearance → Customize → Site Identity → Site Icon, prześlij obraz i kliknij Publish.
- Motywy blokowe: otwórz Appearance → Editor, zaznacz blok Site Logo i w jego ustawieniach włącz Use as Site Icon. Nowsze wersje WordPressa pokazują Site Icon także w Settings → General.
Jeśli ikona jest ustawiona, a lista kontrolna nadal jej nie znajduje, motyw nie wywołuje wp_head() w nagłówku, co psuje też większość wtyczek: przejdź na utrzymywany motyw albo zwróć się do jego autora. Następnie wyczyść pamięć podręczną stron.
Node.js i Next.js
Next.js, App Router. Umieść pliki w katalogu app, a Next.js sam doda znaczniki:
Plik w app/ |
Staje się |
|---|---|
favicon.ico |
<link rel="icon" href="/favicon.ico"> |
icon.png lub icon.svg |
<link rel="icon" …> z typem i rozmiarem |
apple-icon.png |
<link rel="apple-touch-icon" …> |
favicon.ico działa tylko bezpośrednio w app/, nie w podkatalogu.
Next.js, Pages Router, i inne aplikacje Node.js. Umieść pliki w public/ (lub w swoim katalogu statycznym) i dodaj znaczniki do nagłówka strony: w Next.js w pages/_document.js, w Express, Nuxt, Astro lub SvelteKit w głównym szablonie. Znaczniki są takie same jak w zakładce Statyczny HTML.
Laravel
Nowe projekty Laravel mają public/favicon.ico, a w wielu wersjach ten plik jest pusty (0 bajtów). Odpowiada 200, więc sprawdzenie przechodzi, ale przeglądarki nic nie pokazują. Zastąp go prawdziwą ikoną i dodaj pozostałe pliki do public/.
Następnie podlinkuj je w głównym layoucie (na przykład resources/views/layouts/app.blade.php), wewnątrz <head>:
<link rel="icon" href="{{ asset('favicon.ico') }}" sizes="32x32">
<link rel="icon" href="{{ asset('icon.svg') }}" type="image/svg+xml">
<link rel="apple-touch-icon" href="{{ asset('apple-touch-icon.png') }}">
Statyczny HTML
Umieść pliki w katalogu głównym witryny i dodaj te linie wewnątrz <head> na każdej stronie (lub w szablonie bazowym generatora stron):
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
Manifest jest opcjonalny i potrzebny tylko dla ekranu głównego Androida. Minimalny, zapisany jako site.webmanifest:
{
"name": "Example",
"icons": [
{ "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" },
{ "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" }
]
}
Do zrobienia favicon.ico nada się każdy edytor grafiki z eksportem do ICO, a także wiele darmowych generatorów faviconów online, które tworzą cały zestaw.
Shopify
Online Store → Themes → Customize, potem otwórz Theme settings (ikona koła zębatego). Zależnie od motywu favicon jest w sekcji Logo albo we własnej sekcji Favicon. Prześlij kwadratowy obraz (Shopify zmniejszy go do 32 × 32) i kliknij Save.
Wix
Otwórz panel witryny i przejdź do Settings → Favicon. Prześlij kwadratowy obraz i zapisz. Wix pokazuje własny favicon tylko z planem Premium i podłączoną domeną; bez tego pokazuje ikonę Wix.
Webflow
Site settings → General → Favicon: prześlij PNG lub ICO o wymiarach 32 × 32. W tej samej sekcji Webclip to ikona ekranu głównego (256 × 256). Następnie opublikuj witrynę ponownie.
Squarespace
Squarespace nazywa favicon browser icon. Wyszukaj w ustawieniach witryny "Browser icon" (jego miejsce w menu zmieniało się między wersjami), prześlij kwadratowy PNG (co najmniej 300 × 300 px) i zapisz.
Przeglądarki zapamiętują favicony
Przeglądarki przechowują favicony długo, często dłużej niż pamięć podręczną stron. Jeśli ikona została zmieniona, a nadal widać starą (albo żadnej), zanim zmienisz cokolwiek innego, sprawdź w oknie prywatnym lub poleceniami curl powyżej. Google aktualizuje ikonę w wynikach przy kolejnym odczycie strony głównej, co może trwać od kilku dni do kilku tygodni.
Potwierdź poprawkę
Uruchom ponownie oba polecenia curl z sekcji Sprawdź sam, potem otwórz cel w PulseKeeper i kliknij Sprawdź teraz na zakładce Lista kontrolna. Pozycja zmieni się na OK w ciągu kilku minut, a nie dopiero przy kolejnym codziennym sprawdzeniu.