Safe Fonts
Safe Fonts ist ein optionales Modul, das die externen Google-Fonts-Anfragen Ihres Themes oder anderer Plugins reduziert und steuert. Es wirkt auf jedes eingebundene Stylesheet (<link>), dessen URL auf fonts.googleapis.com verweist, und bietet zwei unabhängige Verhaltensweisen, die Sie separat aktivieren können: Ladeoptimierung und das Zurückhalten des Stylesheets bis zur erteilten Einwilligung.
Das Modul stellt Werkzeuge bereit, um Font-Anfragen an Dritte zu reduzieren und zu verzögern. Es ist keine Rechtsberatung und garantiert für sich genommen kein bestimmtes rechtliches Ergebnis. Ein echtes Self-Hosting der Font-Dateien liegt außerhalb des Umfangs dieser Modulversion; es reduziert und steuert die externen Aufrufe, statt die Dateien zu verschieben.
Modul aktivieren
Section titled “Modul aktivieren”Das Modul ist standardmäßig deaktiviert. Aktivieren Sie es unter WooCommerce > Polski > Module (Modulschlüssel safe_fonts). Nach der Aktivierung wirkt es nur auf den Shop-Frontend-Bereich; der Admin-Bereich wird übersprungen. Wenn das Modul einen bestimmten Tag nicht erkennen oder umschreiben kann, gibt es ihn unverändert zurück, sodass Fonts stets weiter funktionieren (elegante Degradation).
| Modus | Was er bewirkt |
|---|---|
| Optimieren | Hängt display=swap an die Google-Fonts-URL an, wenn es fehlt, und gibt preconnect-Ressourcenhinweise für fonts.googleapis.com und (mit crossorigin) fonts.gstatic.com aus. Das verringert Layout-Verschiebungen und die Verbindungskosten, ohne das Geladene zu verändern. |
| Bis zur Einwilligung zurückhalten | Schreibt den Google-Fonts-<link> in einen deaktivierten Platzhalter-Link um (die echte URL bleibt in einem data-Attribut erhalten). Ein winziger Controller aktiviert ihn erst wieder, sobald die Besucherin oder der Besucher die gewählte Einwilligungskategorie erteilt hat. Bis dahin wird die externe Anfrage nicht ausgeführt. |
Die beiden Modi sind unabhängig. Sie können einen, beide oder keinen aktivieren.
Optimieren
Section titled “Optimieren”Wenn die Optimierung aktiv ist, macht das Modul Folgendes:
- Es hängt
display=swapan die Google-Fonts-Stylesheet-URL an, wenn diese keinen explizitendisplay-Wert enthält. Nicht-Font-URLs bleiben unberührt. - Es gibt zwei
preconnect-Hinweise im<head>aus: einen fürhttps://fonts.googleapis.comund einen fürhttps://fonts.gstatic.com(mit demcrossorigin-Attribut).
Dieses Verhalten blockiert keine Anfragen; es verringert lediglich Layout-Verschiebungen und die Kosten für den Verbindungsaufbau.
Bis zur Einwilligung zurückhalten
Section titled “Bis zur Einwilligung zurückhalten”Wenn dieser Modus aktiv ist, verwandelt das Modul den Google-Fonts-Tag in ein deaktiviertes Stylesheet (disabled, media="print", href="about:blank"), das nichts abruft. Die echte URL wird in data-polski-safefont gespeichert und die gewählte Einwilligungskategorie in data-polski-consent. Ein kleiner Frontend-Controller aktiviert das Stylesheet erst wieder, sobald die Besucherin oder der Besucher die konfigurierte Einwilligungskategorie erteilt hat, und er reagiert auch auf das polskiConsentChange-Ereignis des Consent-Managers.
Ein <noscript>-Fallback mit dem ursprünglichen Tag bleibt erhalten, sodass Fonts weiterhin laden, wenn JavaScript deaktiviert ist. Der Controller wird nur eingebunden, wenn bei der aktuellen Anfrage tatsächlich ein Font zurückgehalten wurde.
Dieser Modus arbeitet mit dem Modul Consent-Manager zusammen (die Einwilligungskategorie und das Einwilligungsänderungs-Ereignis stammen von dort). Damit das Zurückhalten sinnvoll ist, muss die Einwilligungskategorie auf Besucherseite wirklich durchgesetzt werden.
Einstellungen
Section titled “Einstellungen”Die Einstellungen befinden sich auf der Modulkarte unter WooCommerce > Polski > Module.
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Optimieren | ein | Hängt display=swap an und gibt preconnect-Hinweise für die Google-Fonts-Hosts aus. |
| Bis zur Einwilligung zurückhalten | aus | Hält das Google-Fonts-Stylesheet zurück, bis die gewählte Einwilligungskategorie erteilt ist. |
| Einwilligungskategorie | Präferenzen | Die Einwilligungskategorie, die zum Laden der Fonts erforderlich ist, wenn das Zurückhalten aktiv ist. |
Elegante Degradation
Section titled “Elegante Degradation”Wenn ein Tag nicht geparst oder nicht sicher rekonstruiert werden kann (zum Beispiel weil er kein standardmäßiger rel="stylesheet"-Link ist), gibt das Modul ihn unverändert zurück. Das bedeutet, dass nicht unterstützte Fälle die Seite nie beschädigen und Fonts wie zuvor laden.
Fehlerbehebung
Section titled “Fehlerbehebung”Fonts laden nach dem Aktivieren des Zurückhaltens nicht - prüfen Sie, ob die Besucherin oder der Besucher die gewählte Einwilligungskategorie erteilt hat und ob das Modul Consent-Manager aktiv ist. Bis die Einwilligung erteilt ist, bleibt das Stylesheet deaktiviert.
display=swap erscheint nicht - dies gilt nur für URLs, die auf fonts.googleapis.com verweisen, und nur, wenn die URL nicht bereits einen expliziten display-Wert trägt.
Lokal gehostete Theme-Fonts ändern sich nicht - das Modul wirkt nur auf externe Google-Fonts-Anfragen. Lokal gehostete Fonts sind nicht betroffen.
Probleme melden: github.com/wppoland/polski/issues