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_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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.