Wenn du Google Fonts standardmäßig eingebunden hast, das heißt über Google-Server, werden mitunter Daten wie die IP-Adresse, Client-Daten (benutzter Browser, Betriebssystem) oder Referrer (die verweisende Seite) von Google gespeichert.
Laut eigenen Angaben werden durch Google Fonts zwar keine Cookies gespeichert und die Daten nicht mit Google-Konten in Verbindung gebracht.
Aber da Google Fonts auf bestimmt jeder zweiten Website eingebunden sind, könnte Google theoretisch dadurch Nutzeraktivitäten im Internet im großen Stil nachverfolgen. Das kann im Rahmen der DSGVO ein rechtliches Risiko darstellen.
Wie du Google Fonts in WordPress lokal einbindest, also von deinem eigenen Server anstatt von Google-Servern lädt, möchte ich dir in diesem Artikel Schritt für Schritt zeigen.
1. Herausfinden, welche Google Fonts du nutzt
Damit du Google Fonts lokal einbinden kannst, ist es zunächst notwendig herauszufinden, welche Google Fonts überhaupt auf deiner Website verwendet werden.
1.1 Theme-Optionen
Der erste Anhaltspunkt dafür sind die Theme-Optionen. Diese findest du im WordPress-Adminbereich wahrscheinlich an einem dieser Orte:
- in einem eigenen Menüpunkt
- in einem Unterpunkt von Design oder Einstellungen
- unter Design > Customizer
Dort angekommen suchst du nach einem Unterpunkt wie Typografie, Typography, Fonts oder Schriftarten. So sieht das z. B. bei meinem Theme GeneratePress aus:
Hast du die entsprechenden Fonts gefunden, öffnest du einen Text-Editor und schreibst dir auf, welche Google Fonts genau verwenden werden und in welcher Stärke (100, 200, 300, 400, 500, 600, 700, 800, 900, normal, bold etc.).
1.2 Plugins oder externer Code
In manchen Fällen werden Google Fonts auch freiwillig oder unfreiwillig über Plugins oder externen Code eingebunden. Das ist zum Beispiel der Fall bei:
- Google Maps, reCAPTCHA und einigen anderen Google-Diensten
- Easy Google Fonts
- WP Google Fonts
- NextGEN Gallery (lädt Open Sans)
Bei Google Maps, reCAPTCHA und anderen externen Ressourcen, die über iframes geladen werden, bleibt dir oft nichts anderes übrig als diese komplett zu entfernen, um zu verhindern, dass Google Fonts auf deiner Website geladen werden.
1.3 Entwickler-Konsole
Zu guter Letzt solltest du in der Entwickler-Konsole in deinem Browser nachschauen, welche Google Fonts geladen werden. Dazu klickst du auf deiner eigenen Website auf die rechte Maustaste und dann auch Element untersuchen.
Nun sollte sich auf der rechten Seite oder unten die Konsole geöffnet haben. Dort klickst du auf den Tab Sources. Jetzt kannst du alle Quellen sehen, die deine Website nutzt, um Ressourcen zu laden.
Google Fonts verbergen sich unter folgenden Punkten:
- fonts.googleapis.com
- fonts.gstatic.com
In diesem Beispiel werden die Google Fonts Rufina und Source Sans Pro verwendet (gebündelt in einer einzigen Serverabfrage). Auf der rechten Seite kann man sehen, welche Schriftstärken und Zeichenkodierungen genau verwendet werden:
2. Mach es dir einfach!
Bei manchen Themes kann man in den Theme-Optionen einstellen, dass Google Fonts lokal geladen werden sollen (oder kann sich andere Schritte dieser Anleitung sparen).
Das ist zum Beispiel der Fall bei:
- Avada (unter Avada > Theme Options > Advanced > Privacy > Google Fonts Mode kann man direkt einstellen, dass Google Fonts lokal geladen werden sollen)
- Divi (bietet eine Option, um eigene Schriftarten zu nutzen)
- Enfold (bietet eine Option, um eigene Schriftarten zu nutzen)
- Themes von ThemeZee (siehe Blogpost zu DSGVO-Updates)
Schau unbedingt auch in den Changelog deines Themes! Einige Entwickler haben im Rahmen der DSGVO Anpassungen an Ihren Themes vorgenommen und Updates herausgebracht.
2.1 System-Fonts oder Web Safe Fonts nutzen
Auf vielen meiner Websites, darunter auch Blogmojo, habe ich mich dazu entschieden, Google Fonts durch System-Schriftarten (insbesondere die Apple-Schriftart San Francisco finde ich sehr schick!) oder Web Safe Fonts (wie z. B. Arial) zu ersetzen.
Das erspart nicht nur Arbeit, sondern sorgt auch für eine bessere Ladezeit (und einen schöneren Seitenaufbau). Was das Design betrifft, ist das allerdings nicht immer sinnvoll.
Serifenlose Schriften, wie z. B. Open Sans oder Roboto, lassen sich meines Erachtens sehr gut dadurch ersetzen. Bei Serifen-Schriften würde ich davon absehen. Times New Roman und Georgia z. B. sind schreckliche Schriftarten, die nicht ins Web gehören.
3. Schriftarten herunterladen
Wenn du herausgefunden hast, welche Google Fonts du brauchst, musst du diese herunterladen.
Am einfachsten geht das über den Google Webfonts Helper, der dir gleichzeitig den CSS-Code mitliefert, den du in Schritt 4 brauchst:
Zuerst wählst du auf der linken Seite den entsprechenden Font aus. Anschließend musst du diesen noch konfigurieren.
- Bei select charsets (Charset = Zeichenkodierung) kannst du alles so lassen, wie es ist. Es sei denn dein Blog ist auf Griechisch (dann musst du zusätzlich greek auswählen) oder auf einer osteuropäischen Sprache (z. B. Polnisch, Tschechisch oder Rumänisch).
- Bei select styles wählst du die Stärken aus, die du auf deinem Blog verwendest. Auf jeden Fall solltest du 700 dazu nehmen, das entspricht Fettschrift. Wenn du das nicht machst, sieht Fettschrift dann ausgefranst aus.
- Bei Copy CSS wählst du Best Support aus (voreingestellt) und kopierst den CSS-Code heraus (am besten in einen einfachen Text-Editor).
- Jetzt kannst du Font-Paket herunterladen (im ZIP-Format)!
Wenn du mehrere Google Fonts verwendest, wiederhole die Schritte einfach und kopiere den CSS-Code des zweiten oder dritten Fonts unter den ersten.
4. Auf den FTP-Server hochladen
Nachdem dein Font-Paket heruntergeladen und entpackt hast, musst du die Font-Dateien auf deinen FTP-Server hochladen.
Dazu öffnest du FileZilla (oder einen FTP-Programm deiner Wahl) und gehst zu in das Hauptverzeichnis deiner Domain (dort wo sich WordPress befindet).
Dort legst du einen Ordner an, der fonts heißt und kopierst die heruntergeladenen Schriftarten hinein. Das Ganze sollte dann in etwa so aussehen:
5. CSS-Code einfügen
Damit Browser wissen, wo sich deine hochgeladenen Font-Dateien befinden, musst du Ihnen dies per CSS sagen.
Dazu kopierst du den CSS-Code, den du in Schritt 3 im Text-Editor zwischengespeichert hast, in die style.css-Datei deines Child-Themes. Das sieht dann so aus:
Solltest du mehrere verschiedene Schriftarten, Schriftstärken und/oder Zeichkodierungen benutzen, musst du die einzelnen Code-Abschnitte untereinander einfügen:
6. FOIT und FOUT vermeiden
Wenn du Google Fonts verwendest, kann es zu zwei unschönen Phänomen kommen:
- Flash of Invisible Text (FOIT): Es wird gar kein Text angezeigt, bevor deine Google Fonts geladen werden
- Flash of Unstyled Text (FOUT): Es wird zunächst ein Standard-Font angezeigt, der dann durch deine Google Fonts ausgetauscht werden.
Um dem ersten vorzubeugen, solltest du font-display: swap
zu @font-face
hinzufügen. Das erzeugt zwar FOUT, sorgt aber, dass es kein FOIT mehr gibt.
Um FOUT zu vermeiden, kannst du <link rel="preload">
nutzen, um deine Fonts vorzuladen. Das würde dann im HTML so aussehen:
<head>
<link rel="preload" href="/fonts/inter-v2-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
</head>
Code-Sprache: HTML, XML (xml)
Falls du WP Rocket verwendest, kannst du die vorzuladenenden Fonts auch in den Einstellungen eintragen (unter Einstellungen > WP Rocket > Cache füllen > Fonts vorladen):
7. Google Fonts entfernen
Jetzt musst du nur noch dafür sorgen, dass keine Verbindung mehr zu Google-Servern hergestellt wird.
Am leichtesten geht das per Plugin. So vermeidest du, im Code deines Themes herumzuwurschteln (bei manchen Themes ist es gar nicht so leicht, deren Ursprung ausfindig zu machen).
7.1 Autoptimize
Als erstes würde ich es Autoptimize probieren, das ohnehin ein sehr sinnvolles Plugin ist, um deine Ladezeit zu verbessern.
Google Fonts lassen sich dort Einstellungen > Autoptimize > Extras > Google Fonts entfernen:
Und wenn du gerade dabei bist, kannst du noch ein Häkchen bei Emojis entfernen setzen. Zwei Fliegen mit einer Klappe (und du deine Website lädt wieder ein paar Millisekunden schneller)!
7.2 perfmatters
Ein weiteres sehr gutes Performance-Plugin, mit dem du Google Fonts entfernen kannst, ist perfmatters.
Dazu musst du in den Plugin-Einstellungen unter General > Options den Schalter bei Remove Google Fonts umlegen:
8. Das Ergebnis überprüfen
Hast du alle Schritte erledigt, musst du nur noch überprüfen, ob deine lokalen Fonts richtig geladen werden und ob noch Verbindungen zu Google-Servern hergestellt werden.
Dazu löschst du zunächst den Cache deines Caching-Plugins und von Autoptimize sowie die Dateien in deinem Browser-Cache.
Jetzt schaust du dir deine Website (am besten ausgeloggt) in den Entwickler-Tools an.
9. Nachteile davon, Google Fonts lokal einzubinden
Google Fonts über deinen eigenen Server hat einige Nachteile, auf die ich auch kurz eingehen möchte:
- Etwas größere Belastung deines eigenen Servers
- Der Font wird nicht automatisch auf die neuste Version aktualisiert (die über Google-Server ausgelieferten Fonts werden automatisch aktualisiert)
- Zeitaufwand oder Mehrkosten (z. B. bei Zurückgreifen auf einen Dienstleister) durch lokales Einbinden
- ggf. Installation eines zusätzlichen Plugins
Und nein, falls du dich das gefragt hast:
Eine bessere Ladezeit ist durch Verwendung von Google-Servern nicht zu erwarten.
Das Hauptargument zur Verwendung von Google-Servers war immer, dass von dort geladene Google Fonts bei Nutzern möglicherweise schon im Browser-Cache sind. Durch Einführung von HTTP Cache Partionioning in Chrome 85 ist dieses Argument jedoch nichtig geworden.
Ich habe heute OMGF getestet (Optimize my Google Fonts). Das verspricht GDPR/DSGVO-kompatibel zu sein. Oder hat hier jemand schon anderweitige Erfahrungen gesammelt? Über die Einstellungen lassen sich Google Fonts suchen. Diese können lokal gespeichert und über eine durch die App generierte Stylesheet-Datei verwendet werden. Macht auf mich einen sehr bequemen Eindruck.
Hi Manuel,
ja, das Plugin funktioniert gut. Habe ich vor ein paar Monaten mal getestet.
Wird wohl mal Zeit, dass ich diesen Artikel update 😉
LG
Finn
Punkt 2 und 3 der Nachteile sind obsolet. Critical CSS löst FOUT (und font-swap kann man immer setzen).
Und CDNs bringen nicht mehr so viel dank partitioned Cache in Browsern und selber hosten ist konkret performanter (ich hatte es mal gemessen).
Hi Daniel,
ja, du hast Recht. Punkt 2 und 3 sind tatsächlich mittlerweile obsolet (der Artikel war noch von 2018).
Habe ich gleich mal upgedatet. 😉
LG
Finn
Hallo Finn,
herzlichen Dank für diese übersichtliche und klare Anleitung!
Was mir noch aufgefallen ist, fast sämtliche Block-Sammlungen laden ebenfalls Google Fonts (Atomic Blocks wohl nicht).
Wenn ich in Rente bin, mach ich male ein Seite von Themes und Block-Sammlungen “ohne Google Fonts”;)
Ich lese hier sehr gerne und lerne gerade sehr viel von dir, dickes Kompliment für die Seite!
Herzliche Grüße
Irene
Hi Irene,
vielen Dank für den Hinweis und deine lieben Worte! 🙂
So manche Plugins laden Google Fonts, ohne dass sich das einfach ausschalten ließe (z. T. auch bei Plugins, bei denen man das nicht erwartet, wie bei Gallerie-Plugins).
In diesem Jahr werde ich mir vielleicht mal gängige Gutenberg-Plugins vorknöpfen und einen Artikel dazu veröffentlichen.
LG
Finn
Hallo Finn,
vielen Dank für deine super Anleitungen und Tipps zum Erstellen eines Blogs. Mir haben diese sehr weiter geholfen und ich konnte viel von dir lernen!
Nun stehe ich vor einem Problem, für das ich bisher leider keine Lösung finde und zwar: ich habe einen Google Font lokal eingebunden und das in allen verfügbaren Formaten (eot, otf, svg, ttf, woff und woff2). Auf Firefox wird der Font auch richtig angezeigt, jedoch nicht so in Google Chrome. Woran kann das liegen?
Ich hoffe du hast eine Idee oder einen Tipp.
Vielen Dank und liebe Grüße
Jenni
Hi Jenni,
hast du mal den Browser-Cache bei Chrome gelöscht?
LG
Finn
Hallo Finn,
deine Seite ist echt eine riesige Hilfe und mein Rettungsanker! Ich es zwar durch meine Arbeit gewohnt, mit CMS umzugehen und Websites zu pflegen, aber ich habe noch nie eine selbst gebaut. Daher waren mir deine Anleitung, Tipps und Tricks eine unglaubliche Hilfe für meine eigene Autorenseite. DAAANKE!!
Allerdings schafft mich die DSGVO und jetzt besonders die Sache mit den Google Fonts. Ich nutze für den Anfang das kostenlose Theme von Ashe (bietet nicht viele Funktionen, weshalb ich es vielleicht mal ändere). Jedenfalls habe ich ganz brav die Fonts per Plugin entfernt: Danach sieht die Seite echt besch… aus. Werde mich mithilfe deiner Anleitung in den nächsten Tagen mal an die Einbindung DSGVO-konformer Schriftarten machen.
Google ist ja eine schöne Sache, aber in Verbindung mit der Datenschutzverordnung ein Graus für jeden Anfänger.
Mach weiter so, ich brauche seine Seite 🙂
LG Emma
Hi Emma,
ich persönlich halte die Nutzung von Google Fonts für recht unbedenklich. Wir nutzen Google Fonts auch auf Faminino (mit Nennung in der Datenschutzerklärung).
Nutzung nach berechtigtem Interesse lässt sich gut begründen durch Serverentlastung und schnellere Ladezeiten.
LG
Finn
So habe ich das jetzt auch gemacht :-), da die Sache mit dem Child-Theme irgendwie nicht klappt.
Ich habe sie unter essentielle Cookies verbucht und in die Datenschutzerklärung aufgenommen.
LG Emma
Hallo Finn,
ich möchte keine Werbung machen, aber ich habe einen Weg gefunden, wie man Google Fonts (sowohl von Themes, als auch Plugins) lokal einbinden kann ohne selber etwas zu machen.
Das Plugin “DSGVO All in one for WP” von Michael Leithold (https://wordpress.org/plugins/dsgvo-all-in-one-for-wp/)
In der Pro-Version für einmalig 14,99€ werden Google Fonts automatisch, sofern man die Funktion aktiviert hat, lokal eingebunden und Verbindungen zu den Google-Servern unterbunden.
Eigentlich ist das Plugin eine “Allround-Lösung” bzgl. DSGVO.
Aber, wie gesagt, ich möchte hier keine Werbung machen, sondern einfach auf dieses Plugin aufmerksam machen.
Grüße von Jonas
Hi Jonas,
super, danke für den Tipp! Schaue ich mir mal an! 😉
LG
Finn
Hallo
Hat jemand schon Erfahrungen mit diesen Plugin? Ladezeiten? Belastung für Server?
Moin Moin,
ich nutze das Native Theme von Envato, habe 39 Dollar dafür bezahlt 🙂
Ich habe die Google Schriften mit “Remove Google Fonts References” entfernt. Mit Google Chrome unter MacOS tauchen im Kontextmemü “untersuchen” die Google Schriften auch nicht mehr auf. Da passt das soweit alles gut. Wenn ich aber die gleiche Webseite mit Google Chrome unter Windows 10 aufrufe, sind die Google Schriften leider immer noch da. Wie kann das? Was ist richtig? Was ist falsch? Sind die Schriften jetzt noch sichtbar, oder nicht? Lügt mich MacOS an, oder Windows 10? 🙂
Hi Ralf,
lösch mal den Browser-Cache und schau, was dann dabei herauskommt. Chrome hat aggressiven Caching-Mechanismus, der nicht so schnell vergisst.
Check sonst auch noch einmal mit einem externen Tool wie z. B. Webbkoll oder Pingdom Tools.
LG
Finn
Hallo Finn,
danke für Deine tollen Artikel (habe schon viel daraus gelernt) und diese Anleitung hier. Leider will es nicht so richtig klappen. Es funktioniert einwandfrei in Chrome und Firefox, aber in Safari “zerschiesst” es das teilweise das Layout, die Systemschrift wird angezeigt und die Ladezeit ist eher Schneckentempo. Habe alle Schritte so umgesetzt, wie Du es beschrieben hast. Habe alles wieder in den Ursprungszustand versetzt und bin nun ziemlich ratlos. Hast Du evtl. einen Tipp?
Danke und viele Grüße
Maike
Das ist in einer Ferndiagnose schwer zu sagen. Hast du mal versucht, den Browser-Cache in Safari und den Cache deines Caching-Plugins zu leeren?
LG
Finn
Hi,
gibt es eine Lösung für WooCommerce? Dort werden die Schriften nämlich nicht vom Server geladen.
Beste Grüße
Niclas
Hi Niclas,
die Anleitung funktioniert auch für WooCommerce. Basiert ja auch auf WordPress…
LG
Finn
Wie kann man denn wissen, dass die lokal eingebunden Fonts nicht auch nach Hause telefonieren? Ich denke, dass sich genau diese Scripte in der entsprechenden Font-Datei befinden und es somit ja eigentlich Wumpe ist wo die Fonts liegen.
Hi Steffen,
lokal eingebunde Fonts können nicht “nach Hause telefonieren”. Das sind statische Font-Dateien (woff., .woff2 etc.), die nur aufgerufen werden, aber von sich aus nichts verändern können.
LG
Finn
Hallo Finn,
da ich mich noch an deinen Namen erinnern konnte, wende ich mich auf diesem Wege an dich; es geht darum, dass ich aus der Facebook-Gruppe DSGVO für Blogger und Online-Unternehmer ausgeschlosen worden bin, in der du meiner Erinnerung nach (ich bekomme die Gruppe bei Facebook ja noch nicht einmal mehr angezeigt) Administrator bist; ich wäre dir wirklich dankbar, wenn du mich wissen lassen würdest (gerne über eine Nachricht bei Facebook oder per E-mail), warum ich einfach ohne Vorwarnung aus der Gruppe fliege – anscheinend wegen der beiden Posts zu den T-Shirts; es hätte doch eigentlich gereicht, die Beiträge zu löschen, wenn ihr meint, dass sie in der Gruppe nichts zu suchen haben; ich habe niemanden beleidigt oder irgendetwas dergleichen getan und hätte gerne weitere Diskussionen verfolgt bzw. mich weiterhin daran beteiligt. Ich hoffe, du antwortest mir wenigstens.
Susanne
Hi Susanne,
ja, ich habe dich wegen der Posts mit den T-Shirts rausgeworfen.
Der Administrationsaufwand der Facebook-Gruppe ist sehr hoch. Ich habe keine Zeit, Leute wegen Verstößen vorzuwarnen, zu diskutieren und bei jedem Mitglied lange abzuwägen.
Ich habe die Blockierung für dich jetzt aufgehoben. Ich nehme dich gerne wieder in die Gruppe auf, wenn du magst (gegeben, dass du Posts über T-Shirts oder ähnliche Posts in Zukunft sein lässt).
LG
Finn
Ein gut recherchierter und gut geschriebener Artikel über das lokale Laden von Google Fonts. Ich selbst musste bei meinem gekauften Theme noch viel tiefer schauen. Die Fonts wurden über das Redux-Helper Plugin für dieses Theme geladen und ich musste es in einer php-Daten deaktivieren/auskommentieren. Jetzt muss ich bei jedem Update aufpassen. Den Entwickler habe ich schon angeschrieben.
Allerdings hat das Laden über den lokalen Server noch einen enormen Vorteil, den man vielleicht auch erläutern könnte: Die Ladegeschwindigkeit kann man enorm verbessern. Denn als einzige Font-Art benötigt man nur die .woff. Alle anderen kann man getrost vernachlässigen. Wenn man nun nur die entsprechenden Font-Stärken lädt, spart man enorm ein.
Nicht zuletzt sollte man aber die Lizenz der Fonts beachten. Vielleicht hast du ja auch darüber schon geschrieben.
Ich wollte es nur mal beifügen.
Gruß
Ralf
Hi Ralf,
ja, Google Fonts sind manchmal extrem tief in Plugins oder Themes hineinprogrammiert….
Bei manchen Themes werden auch standardmäßig irgendwelche Google Fonts geladen, selbst wenn andere in den Optionen eingestellt sind, z. B. beim Theme Newspaper von TagDiv. Habe ewig gebraucht, um die zu finden 😉
Zu den Font-Formaten:
Es ist gut viele verschiedene Formate anbieten (.eot, .woff, .woff2, .ttf, .svg), weil das die Browser-Kompatibilität erhöht. Die Ladezeit beeinflusst das nicht negativ, denn in der Regel suchen sich die Browser selbst den am besten geeigneten Font raus und laden nur den (bei modernen Browsern .woff2).
LG
Finn