Googlefonts im Theme deaktivieren

Viele WordPress Themes laden Schriftarten direkt von den Google Servern.  Nicht zuletzt im Hinblick auf die DSGVO ist das eine Sache, die man kritisch sehen kann. Denn mit jedem Aufruf an Googles Server werden auch Userdaten an diese übertragen. Das muss zumindest in der Datenschutzerklärung der Website ersichtlich gemacht werden.

Wer das laden von Fonts vom fremden Server unterbinden will, kann das mit folgendem Code Snippet erreichen. Es ist eine optimierte Version eines Scripts von webtimiser.

Der Code kann in der functions.php im Theme eingetragen werden.

// remove loading of google fonts from google servers
add_action('wp_enqueue_scripts', 'removeGoogleFonts', 999);
add_action('wp_print_styles', 'removeGoogleFonts', 999);
function removeGoogleFonts(){
  global $wp_styles;
  $regex = '/fonts\.googleapis\.com\/css\?family/i';
  $google_styles = [];
  foreach($wp_styles->registered as $registered) {
    if( preg_match($regex, $registered->src) ) {
      $google_styles[] = $registered->handle ;
      wp_dequeue_style($registered->handle);
    }
  }
  // search in dependencies and delete dependencies
  foreach($wp_styles->registered as $registered) {
    foreach ($registered->deps as $id => $dep) {
      if (in_array($dep, $google_styles)) {
        unset($wp_styles->registered[$registered->handle]->deps[$id]);
      }
    }
  }
}

Ich gebe keine Garantie dass es funktioniert, denn Themes können alle möglich unkonventionellen Methoden nutzen, um Fonts einzubinden. In einem WordPress-konform gecodeten Theme sollte es aber funktionieren.

Zur Kontrolle kannst du in den Chrome Entwicklertools unter Network den Font-Filter aktivieren, deine Seite laden und solltest sehen, welche Fonts von welchem Server geladen werden.

Deine Website hat dann die Fonts natürlich nicht mehr zur Verfügung, wundere dich also nicht, wenn die Schriften auf einmal anders aussehen. Du kannst dann überlegen ob du die Fonts lokal einbinden willst oder dich einfach mit den lokal auf den Rechnern installierten Schriften begnügst.

Googlefonts in bestimmten Themes entfernen

Da sich manche Theme-Entwickler leider nicht an die WordPress Standards des Font-Einbindens halten, muss man in Spezialfällen selbst im Code suchen wie und wo die Fonts eingebunden werden.

Googlefonts im Hueman Theme entfernen

Das Hueman Theme ist so ein Fall. Mit dem folgenden Code kann dort das einbinden der Googlefonts vom Google Server unterbunden werden. Ich muss anmerken, dass in meiner Installation keine besonderen Font-Einstellungen gemacht wurden, womöglich klappt es nicht mehr, wenn etwas anders konfiguriert wurde. Das habe ich nicht getestet.

// remove hueman theme googlefonts
add_action( 'wp_head', 'remove_hu_print_gfont_head_link', 1 );
function remove_hu_print_gfont_head_link() {
	remove_action( 'wp_head', 'hu_print_gfont_head_link', 2 );
}