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.