Ich schätze es immer, wenn jemand die Best Practices für etwas untersucht und neu bewertet, das buchstäblich jede Website benötigt und einen komplexen Satz von Anforderungen hat. Andrey Sitnik hat dies hier mit Favicons getan.
Der endgültige Vorschlag
<link rel="icon" href="/favicon.ico" sizes="any"><!-- 32×32 -->
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- 180×180 -->
<link rel="manifest" href="/manifest.webmanifest">
{
"icons": [
{ "src": "/192.png", "type": "image/png", "sizes": "192x192" },
{ "src": "/512.png", "type": "image/png", "sizes": "512x512" }
]
}
Es war ein guter Zeitpunkt, dies hier auf CSS-Tricks zu tun, also habe ich versucht, den Rat buchstabengetreu zu befolgen, und es funktioniert bisher großartig. Ich glaube, ich hatte irgendwann genug davon, wie komplex es war, dass ich ultra-minimalistisch wurde und *nur* eine `favicon.ico`-Datei hatte. Jetzt habe ich all das oben Genannte eingerichtet.
Wo ich mich unterschied…
- Ich habe GIMP oder Inkscape nicht installiert, die das `.ico`-Format exportieren können, also habe ich diesen Favicon-Generator (ich habe ihm mein "Haupt"-SVG gegeben) nur für dieses eine Symbol verwendet.
- Ich fand Figma hilfreich, um Frames neu zu dimensionieren und die richtigen Größen zu exportieren.
- Ich habe ImageOptim zur Optimierung aller Bilder verwendet.
- Ich war nervös, ein "Manifest" hinzuzufügen, weil ich keine anderen PWA-ähnlichen Schritte unternommen habe und es sich wie eine zusätzliche Webanfrage mit wenig Wert anfühlt. Aber ich habe es trotzdem getan.
- Ich habe eine Theme-Farbe (
<meta name="theme-color" content="rgb(255, 122, 24)">), weil mir gesagt wurde, es sei eine nette Geste. Fühlt sich verwandt an.
Ich liebe das Dark-Mode-SVG-Konzept
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500">
<style>
@media (prefers-color-scheme: dark) {
.a { fill: #f0f0f0 }
}
</style>
<path class="a" fill="#0f0f0f" d="…" />
</svg>
Aber ich habe dort keine Tricks angewendet, da ich denke, dass mein Icon ohne Änderungen in beiden Fällen gut aussieht

Ich habe es auch noch nicht geschafft, wieder einen speziellen Entwicklungs-Favicon zu erstellen, aber das werde ich tun, weil ich es äußerst praktisch finde.
Eine schnelle, leichte und sichere Methode.
Sowohl favicon.ico als auch apple-touch-icon.png, die so benannt und im Stammverzeichnis des Servers platziert sind, können einige Metadaten sparen…
Die favicon.ico wird immer von Browsern geprüft und iOS- und Android-Geräte tun dies auch mit apple-touch-icon.png.
Ich füge nur Theme-Metadaten und ein SVG-Icon sowie ein weiteres SVG-Icon für Safari hinzu.
Das ist alles!
Es gibt auch ein neues Masken-Icon, das empfohlen wird, wenn Sie ein Manifest verwenden. Ich habe es ausprobiert, habe aber schließlich die Verwendung des Manifests aufgegeben. Es ist einfach zu seltsam, wie Chrome-Geräte/Desktops damit machen, was er will, es ist wirklich nur für Splash-Screens mit dem "Website als App"-Zeug gedacht.
Als ich das letzte Mal nachgesehen habe, gab dieser dumme Lighthouse einen Fehler zurück, wenn apple-touch-icon.png einfach im Stammverzeichnis platziert wurde, aber wenn ich es deklariere und spezielle Icons im Manifest verwende, verwendet Chrome nur das... Apfel-Icon über ihnen.
Dafür gibt es einen französischen Ausdruck: mais de quoi je me mêle !
Ich habe das mit einem iPad geschrieben und es war wirklich schmerzhaft. :D
Wissen Sie, wie Sie Preload verwenden können
um die Seitengeschwindigkeit zu erhöhen, indem Sie den Favicon in WordPress vorladen?
Wo finde ich Informationen, wie manifest.webmanifest ausgefüllt wird? Ich fand MDN nicht besonders hilfreich, aber ich bin neu darin. Danke!
Es gibt einen netten Folgeartikel von Lee Reamsnyder, der korrigiert, wo Andrey Sitnik es nicht ganz richtig verstanden hat.
Chris, mir ist aufgefallen, dass Sie das `size="any"`-Attribut für den `favicon.ico`-Link entfernt haben, das in Andrey Sitniks Artikel empfohlen wurde. Dies wurde jedoch nicht in Ihrem Abschnitt "Wo ich mich unterschied…" erwähnt.
War das beabsichtigt?
Nicht beabsichtigt – das habe ich wohl einfach übersehen. Ich werde es hinzufügen und auf Nebenwirkungen achten.
Ausgezeichneter Artikel!
Falls Sie es nicht wussten, wurden Sie von Masa Kudamatsu in seinem (ebenfalls exzellenten) Artikel Definitive edition of “How to Favicon in 2021” zitiert.
Es ist sehr gut geschrieben, mit vielen zitierten Quellen.
Der endgültige Ansatz ist dem, was Sie hier haben, sehr ähnlich.
Definitiv das, was ich in meiner/meinen App(s) verwenden werde!
Was verpassen wir, wenn uns die PWA-Funktionalität egal ist und wir die Manifestdatei und die Icons nicht einbeziehen? Ich weiß, dass für Apple-Geräte das Touch-Icon für Dinge wie die Leseliste verwendet wird. Gibt es ähnliche Vorteile?