Zusammenfassung
In modernen Websites steckt verborgen oft unnötiger Ballast: externe Avatare, Emojis und Google Fonts. Diese Elemente können deine Ladezeiten verlängern, DNS-Anfragen nach externen Servern erzeugen und in einigen Fällen Datenschutzprobleme verursachen.
In diesem Beitrag zeige ich dir, wie du genau diese Komponenten aktivierst oder deaktivierst – mit schlankem Code oder bewährten Plugins.
Aktualisiert am 29. Oktober 2025
WordPress bringt von Haus aus einige Funktionen mit, die weder datenschutzfreundlich noch besonders performant sind.
Dazu zählen unter anderem automatische Verbindungen zu:
- Avatar-Servern (Gravatar)
- Google Fonts
- Emoji-Skripten
Bezieht deine Website Fonts von Google? Hier testen sicher3.de/google-fonts-checker ↑
Autoptimize entfernt Google Fonts & Emojis (fast) zuverlässig
Emojis: Seit der WordPress 4.2 gibt es eine Funktion, die Emojis über externe Server in den Head-Bereich einer jeden WordPress Website lädt. Somit landen die IP-Adressen derjenigen, die eine solche Website besuchen, auf diesen externen Servern!
WordPress Core (6.x) bringt inzwischen zusätzliche DSGVO-Optionen, aber Emojis/Gravatar sind weiterhin standardmäßig aktiv. Block-Themes & Site-Editor nutzen theme.json; hier kann man die Fonts von Google auch direkt dort deaktivieren.
Emojis (und Google Fonts) entfernen mit Autoptimize

Das ist ein kleines, feines gut gepflegtes Plugin, mit dem du auch die Google Fonts abschalten kannst: wordpress.org/plugins/autoptimize/. Schöner Nebeneffekt: deine Homepage wird deutlich schneller – für mich ist Autoptimize inzwischen eines der besten Caching-Plugins.
Google Fonts sollten immer serverseitig installiert werden und über dein CSS (Child-Theme) eingebunden werden
Google Fonts der Themes lokal laden mit Plugin
Eine schöne Lösung ist OMGF ↑ – ich nutze es so, dass ich bis zum Schluss die vom Theme (von Google) angebotenen Schriften zum Ausprobieren nutze. Wird die Website frei geschaltet, deaktiviere ich die Google Fonts über Autoptimize und sage dem Theme: bitte nicht mehr laden (so möglich) und installiere dieses Plugin. Es erkennt die verwendeten Schriften und lädt diese lokal.
Weitere Funktionen umfassen (in der kostenlosen Version des Plugins):
- Der integrierte Google-Fonts-Checker informiert dich, wenn ein Plugin oder dein Theme Google Fonts hinzugefügt hat (z. B. nach einem Update), die nicht verarbeitet werden können.
- Automatisches Entfernen ungenutzter Subsets, um die Größe des CSS-Stylesheets um bis zu 90 % zu reduzieren!
- Entfernen von Resource Hints (preload, preconnect, dns-prefetch), die auf fonts.googleapis.com oder fonts.gstatic.com verweisen.
- Sicherstellen, dass Text während des Ladens von Webfonts sichtbar bleibt, indem das font-display-Attribut für deine Google Fonts erzwungen wird.
Avatare manuell deaktivieren
Avatare: Werden über den Dienst von Gravatar geholt und verbinden mit der eigenen E-Mail-Adresse ein Bild. Wann immer du auf einer WordPress Website einen Kommentar mit dieser Mail-Adresse schreibst, erscheint dem Namen auch dein Bild, dein Avatar. Auch hier speichert Gravatar Daten, zu der natürlich auch die IP-Adressen der Kommentierenden, aber auch die der Autoren gehören.
Sämtliche Prefetches & Avatare entfernen mit Code Snippets
Und Emojis und Google Fonts gleich dazu!
Das Prefetching ermöglicht es einem Browser, die notwendigen Ressourcen für die Anzeige von Inhalten, auf die ein Benutzer in naher Zukunft zugreifen könnte, im Stillen abzurufen. Der Browser kann diese Ressourcen in seinem Cache speichern und so die angeforderten Daten schneller liefern. Sobald eine Webseite fertig geladen ist und die Leerlaufzeit verstrichen ist, beginnt der Browser mit dem Herunterladen anderer Ressourcen. Sobald ein Benutzer auf einen bestimmten Link klickt, der bereits im Voraus geladen wurde, sieht er den Inhalt sofort.
Dieses Script kann man über das Child-Theme direkt in die functions.php einbinden oder auch mit dem praktischem Plugin Code Snippets.
Ob das alles funktioniert, könnt ihr im Quelltext leicht nachprüfen. Wenn alle heiklen Google Fonts deaktiviert sind, könnt ihr die gewünschte Schrift mithilfe von Google Fonts mit Hilfe des Google Fonts Helper serverbasiert einbinden.
add_action('init', function () {
remove_action('wp_head','print_emoji_detection_script',7);
remove_action('admin_print_scripts','print_emoji_detection_script');
remove_action('wp_print_styles','print_emoji_styles');
remove_action('admin_print_styles','print_emoji_styles');
remove_filter('the_content_feed','wp_staticize_emoji');
remove_filter('comment_text_rss','wp_staticize_emoji');
remove_filter('wp_mail','wp_staticize_emoji_for_email');
add_filter('emoji_svg_url','__return_false');
add_filter('tiny_mce_plugins', fn($p)=>is_array($p)?array_diff($p,['wpemoji']):[]);
});
/* = Nur den Emoji-Resource-Hint entfernen = */
add_filter('wp_resource_hints', function($urls,$rel){
return in_array($rel,['dns-prefetch','preconnect'],true)
? array_values(array_diff($urls,['https://s.w.org','//s.w.org']))
: $urls;
},10,2);
/* = Header-Kleinkram optional raus = */
remove_action('wp_head','wp_generator');
remove_action('wp_head','wlwmanifest_link');
remove_action('wp_head','rsd_link');
remove_action('wp_head','wp_shortlink_wp_head');
remove_action('wp_head','rest_output_link_wp_head');Und so sieht das Endergebnis in der functions.php aus (das blau hinterlegte ist die Info für das Childtheme):
Achte darauf, dass die Anweisung für das PHP sich öffnet und schließt, hier Zeile 1 und 33
<?php … ?>
Nutzen eines Child-Themes
Ein Child-Theme oder Kinder-Thema ist eine nützliche Funktion von WordPress, mit dem du den Quellcode, Design und Funktionen anpassen kannst, ohne direkt in den Code von WordPress einzugreifen – und diesen damit wohlmöglich zu zerstören. Hier zeige ich dir, wie du ein Child-Theme erstellen kannst und stelle dir auch zwei Kinder-Themen zum Download → zur Verfügung.


Wenn ich das auf einer Seite einbinden will, kommt eine Fehlermeldung in Zeile 6.
return preg_replace(“/http.*?gravatar\.com[^\’]*/”, DEFAULT_AVATAR_URL, $avatar);
hier ist ein unexpected *
Was ist da zu tun?
Hallo Reinhard, ich habe meine Script überprüft und ober- und unterhalb meiner Anweisung gab es einen Shortcode für ein Plugin, das veraltet war. Schau jetzt mal – so funktioniert es.