Manuel Killert
Ratgeber · Darstellung · Schriften

Falsche Schrift, kaputte Icons — und alles sieht billig aus.

Über Nacht sieht die Website anders aus: Überschriften in einer Standardschrift, statt der Icons kleine Kästchen mit Zahlen darin. Der Inhalt stimmt, das Layout stimmt — nur die Schriften kommen nicht an. Meistens ist es eine Kleinigkeit in der Einbindung.

Referenzen ansehen →Hilfe anfragen
Kurz gesagt

Schriften sind Dateien, die der Browser zusätzlich lädt. Klappt das nicht, weicht er auf eine Systemschrift aus — und Icon-Schriften werden zu Kästchen. Die vier Ursachen: die Schriftdatei ist nicht erreichbar (Pfad falsch, Datei fehlt), sie wird blockiert (unsicher geladen, Cookie-Banner, Domainregel), ein Optimierungs-Plugin greift ein, oder es liegt schlicht am Cache. Die dauerhafte Lösung ist meist: Schriften lokal einbinden.

Erst prüfen: fehlt die Datei oder wird sie blockiert.

Mit F12 die Entwicklerwerkzeuge öffnen, Reiter Netzwerk, Seite neu laden und nach Schriftdateien filtern — die Endungen sind meist woff2 oder woff. Das Ergebnis teilt das Problem sofort auf:

BeobachtungBedeutung
Datei fehlt in der ListeWird gar nicht erst angefordert — CSS oder Plugin
404Pfad falsch oder Datei nicht hochgeladen
403Zugriff gesperrt, oft Hotlink-Schutz
Meldung zu CORS in der KonsoleDomainregel verhindert die Nutzung
Blockiert wegen unsicherem InhaltSchrift wird über http geladen
Lädt erfolgreich, Schrift trotzdem falschCSS-Regel oder Schriftname stimmt nicht

Pfad stimmt nicht.

Der häufigste Fall nach einem Umzug oder Domainwechsel: In der Stilvorlage steht eine vollständige Adresse mit der alten Domain. Die Schrift wird angefordert, aber unter einer Adresse, die es nicht mehr gibt. Dasselbe passiert, wenn ein Theme-Update Dateien verschiebt oder wenn beim Übertragen der Ordner mit den Schriften vergessen wurde — das kommt häufiger vor, als man denkt, weil Schriftordner oft tief im Theme liegen. Prüfen: die Adresse aus der Netzwerk-Ansicht kopieren und direkt im Browser aufrufen (WordPress-Umzug).

Blockiert wegen Domainregel.

Schriften unterliegen einer strengeren Regel als Bilder: Werden sie von einer anderen Domain geladen — etwa von einer Subdomain oder einem Auslieferungsdienst — muss der ausliefernde Server ausdrücklich erlauben, dass deine Domain sie verwenden darf. Fehlt diese Erlaubnis, lädt die Datei zwar, wird aber nicht angewendet. In der Konsole steht dann ein Hinweis auf eine blockierte Anfrage wegen fehlender Freigabe.

Typische Auslöser: Die Website läuft mit www, die Schriften kommen von der Variante ohne www. Oder ein Auslieferungsdienst ist neu dazwischengeschaltet. Lösung ist entweder die passende Freigabe auf dem ausliefernden Server oder — einfacher und dauerhaft — die Schriften von derselben Domain auszuliefern.

Freigabe für Schriften auf Apache (.htaccess im Schriftordner)
<FilesMatch "\.(woff2?|ttf|otf|eot)$">
    Header set Access-Control-Allow-Origin "*"
</FilesMatch>

Nur nötig, wenn Schriften bewusst von einer anderen Domain kommen. Liegen sie auf derselben Domain, braucht es das nicht.

Unsicher geladen.

Steht in der Stilvorlage eine Adresse mit http://, während die Website über https:// läuft, blockiert der Browser die Datei — Schriften zählen zu den aktiven Inhalten und werden nicht nur bemängelt, sondern verweigert. Die Folge ist genau dieses Fehlerbild. Das Thema hängt meist mit anderen Resten aus der Zeit vor der Umstellung zusammen (Mixed Content beheben).

Ein Fall, der seit Einführung der Einwilligungsbanner häufig geworden ist: Das Banner blockiert Inhalte von Fremdanbietern, bis der Besucher zustimmt — und Schriften von einem Schriftdienst zählen dazu. Ergebnis: Vor der Zustimmung sieht die Seite anders aus als danach. Das ist technisch korrekt und rechtlich sogar gewollt, sieht aber schlecht aus.

Die richtige Antwort ist nicht, die Blockade zu lockern, sondern die Schriften lokal auszuliefern. Dann gibt es keine Anfrage an einen Fremdanbieter, keine Einwilligung ist nötig, und die Seite sieht von der ersten Sekunde an richtig aus. Genau das beschreibt Google Fonts lokal einbinden; zum rechtlichen Hintergrund Cookie-Banner DSGVO.

Optimierung und Caching.

Optimierungs-Plugins greifen an mehreren Stellen ein: Sie fassen Stilvorlagen zusammen, laden sie verzögert, entfernen vermeintlich unbenutztes CSS oder schreiben Adressen um. Jeder dieser Schritte kann Schrifteinbindungen zerstören — besonders das Entfernen von unbenutztem CSS erwischt regelmäßig die Regeln, die Schriften definieren, weil sie nicht direkt sichtbar im Einsatz sind.

Test: Optimierung abschalten, alle Caches leeren, prüfen. Läuft es, einzeln wieder einschalten, bis der Fehler zurückkommt. Denk daran, dass mehrere Ebenen mitspielen: Plugin, Server, vorgeschalteter Dienst, Browser (Cache leeren). Zeigt sich das Problem nur bei dir, ist es fast immer der Browser-Zwischenspeicher.

Icons als Kästchen.

Icon-Schriften funktionieren wie normale Schriften: Statt Buchstaben enthalten sie Symbole. Lädt die Datei nicht, zeigt der Browser das Ersatzzeichen — meist ein kleines Kästchen, manchmal mit Zahlen darin, oder ein zufälliger Buchstabe. Die Ursachen sind dieselben wie oben, dazu kommen zwei Besonderheiten: Nach einem Theme-Update kann sich die Version der Icon-Sammlung geändert haben, sodass alte Symbolnamen nicht mehr passen. Und wenn ein Optimierungs-Plugin Schriften verzögert lädt, erscheinen Icons kurz als Kästchen und springen dann um — unschön, aber harmlos.

Lokal einbinden als Lösung.

Für fast alle Fälle ist das der beste Weg, und zwar aus vier Gründen gleichzeitig: keine Abhängigkeit von einem fremden Server, keine Domainregel-Probleme, keine Einwilligung nötig, und es ist meist schneller, weil eine Verbindung weniger aufgebaut wird. Der Ablauf: Schriftdateien herunterladen, in einen Ordner im Child-Theme legen, im CSS die Schrift mit lokalem Pfad definieren, die alte Einbindung entfernen. Wichtig ist der letzte Schritt — bleibt die alte Einbindung stehen, lädt die Seite beides.

Achte dabei auf die Lizenz: Die meisten freien Schriften dürfen so ausgeliefert werden, gekaufte Schriften haben oft Bedingungen zur Webnutzung. Und nimm nur die Schnitte, die du wirklich verwendest — jede zusätzliche Stärke ist eine weitere Datei.

Saubere Ersatzschriften.

Unabhängig von der Fehlersuche gehört in jede Schriftdefinition eine Kette von Ersatzschriften, die ähnlich aussehen. Dann wirkt die Seite auch dann ordentlich, wenn eine Datei einmal nicht lädt — statt in einer Schrift zu erscheinen, die mit dem Design nichts zu tun hat. Ebenfalls sinnvoll ist, das Verhalten beim Laden festzulegen, damit der Text sofort sichtbar ist und nicht erst nach dem Eintreffen der Schrift erscheint. Beides sind kleine Ergänzungen im CSS mit spürbarer Wirkung auf den ersten Eindruck (Layout kaputt).

Wenn du nicht weiterkommst.

Wenn Schriften oder Icons nach einem Update oder Umzug nicht mehr stimmen, stelle ich die Einbindung sauber und möglichst lokal her. Ich finde die Ursache, behebe sie und erkläre dir, was passiert ist: WordPress-Hilfe, bei einem Totalausfall der Notfall-Support. Damit es gar nicht erst so weit kommt: WordPress-Wartung.

Fehleranalyse & Erste Hilfeab ~150 €

Ursache finden, Website wieder zum Laufen bringen, kurzer Bericht — meist am selben Tag.

Stundensatz~95 €

Für Anpassungen, Fehlerbehebung und Beratung nach Aufwand, abgerechnet in 15-Minuten-Schritten.

Wartungab ~49 €/Monat

Updates, Backups, Sicherheitscheck, Monitoring — Kleinigkeiten inklusive.

Orientierungswerte, keine Fixpreise — nach einem kurzen Gespräch bekommst du ein Festpreisangebot.

Wer hilft.

Ich bin Manuel Killert, WordPress-Entwickler aus Quakenbrück. Seit 2020 baue und betreue ich WordPress-Websites — für Handwerksbetriebe, Industrie, Gastronomie, Start-ups und Vereine —, entwickle eigene Plugins und unterrichte WordPress als Dozent an der KW Design Akademie. Das heißt: Ich kenne die typischen Fehler nicht nur aus Foren, sondern aus eigenen Projekten, und ich kann sie so erklären, dass du sie beim nächsten Mal selbst erkennst. Du erreichst mich direkt, ohne Ticketsystem.

Häufige Fragen

FAQ — Schrift wird nicht geladen.

Warum zeigt meine Website plötzlich die falsche Schrift?

Weil die Schriftdatei nicht geladen werden konnte und der Browser auf eine Systemschrift ausweicht. Ursachen sind ein falscher Pfad, eine Blockade, ein Optimierungs-Plugin oder ein veralteter Cache.

Warum werden Icons als Kästchen angezeigt?

Icon-Schriften sind normale Schriftdateien mit Symbolen statt Buchstaben. Lädt die Datei nicht, zeigt der Browser das Ersatzzeichen. Die Ursachen sind dieselben wie bei fehlenden Textschriften.

Was bedeutet eine CORS-Meldung bei Schriften?

Schriften von einer anderen Domain dürfen nur verwendet werden, wenn der ausliefernde Server das ausdrücklich erlaubt. Fehlt die Freigabe, lädt die Datei, wird aber nicht angewendet.

Kann das Cookie-Banner Schriften blockieren?

Ja. Banner blockieren Inhalte von Fremdanbietern bis zur Zustimmung, und Schriften von einem Schriftdienst zählen dazu. Die saubere Lösung ist, die Schriften lokal auszuliefern.

Warum sollte ich Schriften lokal einbinden?

Keine Abhängigkeit von einem fremden Server, keine Domainregel-Probleme, keine Einwilligung nötig und meist schneller, weil eine Verbindung weniger aufgebaut wird.

Können Optimierungs-Plugins Schriften kaputt machen?

Ja, besonders die Funktion zum Entfernen von unbenutztem CSS. Sie erwischt regelmäßig die Regeln, die Schriften definieren, weil diese nicht direkt sichtbar im Einsatz sind.

Manuel Killert (rechts im Bild) mit einem FreundDas bin ich – rechts im Bild
Kontakt

Erzähl mir, was nicht funktioniert.

Domain und eine kurze Beschreibung reichen — du bekommst eine ehrliche Einschätzung, was los ist und was die Behebung kostet.

Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de