Wohin gehört favicon.ico? Die Root-Pfad-Konvention
Nach langjähriger Konvention fragen Browser und viele Crawler /favicon.ico aus der Wurzel deiner Domain an, selbst ohne ein Link-Tag, das darauf verweist. Eine favicon.ico, die im Website-Root ausgeliefert wird, ist also die eine Datei, die alles zufriedenstellt, was per Pfad anfragt. Wo du sie physisch ablegst, variiert je nach Stack (public/ bei den meisten Frameworks, das app-Verzeichnis bei Next.js), aber sie muss am Ende unter /favicon.ico antworten.
Die Root-Anfrage, die niemand deklariert
Selbst wenn dein Head gar keinen Icon-Link hat, fragen Browser, Feed-Reader und Crawler weiterhin /favicon.ico ganz im Root der Domain an. Es ist eine implizite Anfrage, die dem Link-Tag vorausgeht, und viele Clients verlassen sich darauf.
Deshalb muss die Datei am Root-Pfad aufgelöst werden. Deine Link-Tags decken alles andere ab (SVG, PNG-Größen, apple-touch-icon), aber diese eine URL wird angefragt, ob du darauf verweist oder nicht.
Wohin die Datei je Stack gehört
| Stack | Datei ablegen in |
|---|---|
| Reines HTML | Den Website-Root, ausgeliefert unter /favicon.ico |
| Vite / React / Vue | public/, in den Root kopiert |
| Next.js App Router | das app-Verzeichnis (app/favicon.ico) |
| WordPress | die Site-Icon-Einstellung, keine Datei zum Hochladen |
| Angular | public/, oder in angular.json unter assets gelistet |
FAQ zum Favicon-Pfad
Wohin lege ich favicon.ico?
Irgendwo, das es unter /favicon.ico ausliefert: den Website-Root bei reinem HTML, public/ bei den meisten Frameworks, das app-Verzeichnis beim Next.js App Router. WordPress und Shopify handhaben es über eine Einstellung statt einer Datei.
Muss das Favicon wirklich im Root liegen?
Für die implizite Anfrage ja. Clients, die /favicon.ico per Pfad anfragen, finden es nirgendwo sonst. Zusätzliche Icons können anderswo liegen, solange deine Link-Tags darauf verweisen.
Brauche ich favicon.ico noch, wenn ich Link-Tags habe?
Ja. Link-Tags bedienen Browser, aber pfadbasierte Anfragen von Crawlern und älteren Clients umgehen dein HTML und gehen direkt zu /favicon.ico.