
WordPress entschlacken und beschleunigen
Als ich das aktuelle Theme/Design für meinen Blog erstellt hatte, achtete ich darauf, möglichst wenig HTML-Elemente zu verwenden und einen schlanken und aufgeräumten Quellcode zu haben. Das war zwar ein bisschen meinem Perfektionismus geschuldet, denn so gut wie kein Besucher schaut sich den Quellcode an. Aber ich habe damit immerhin jedem Besucher ein bisschen Traffic gespart.
Viele Plugins oder Funktionen von WordPress fügen eigenen JavaScript- oder CSS-Code hinzu, wodurch sich die Anzahl an HTTP-Requests erhöhen und sich damit die Geschwindigkeit verschlechtert, was sich ja auch negativ auf das Ranking auswirken kann. Da mit den Updates von WordPress immer mal wieder neue Funktionen hinzukommen oder alte umbenannt werden, haben sich ein paar Elemente wieder eingeschlichen. Nachfolgend beschreibe ich Punkte und wie diese deaktiviert werden können. Zum Teil wird aber nur die Ausgabe deaktiviert und die Funktion dahinter bleibt noch weiter aktiv.
Meta-Element Generator entfernen
Meta-Elemente sind leere HTML-Elemente, die im Kopfbereich (head) einer Seite eingetragen werden und zusätzliche Metainformationen bereitstellen. Diese Informationen werden aber dem Besucher nicht direkt dargestellt, sondern dienen dazu, Software einer Website besser automatisch zu erfassen.
WordPress fügt automatisch das Meta-Element Generator hinzu, welches die Version von WordPress beinhaltet.
Da ich und meine Leser davon keinen Nutzen haben, kann die Funktion mit dem folgenden Eintrag in der functions.php, des verwendeten WordPress Theme, deaktiviert werden:
remove_action('wp_head', 'wp_generator');
WP-JSON Schnittstelle entfernern
In der Version 4.4. wurde in WordPress die neue JSON API-Schnittstelle eingeführt, die per REST angesprochen werden kann. Sie dient dazu, die Inhalte des Blogs automatisiert abzufragen. Damit können zum Beispiel externe Tools und Apps einfach auf die öffentlichen Inhalte zugreifen. Im Head-Bereich wird dazu der folgende Eintrag hinzugefügt:
Grundsätzlich ein interessantes Feature, aber momentan gibt es noch keinen konkreten Anwendungsfall. Der Eintrag kann über den folgenden Eintrag in der functions.php deaktiviert werden:
remove_action( 'wp_head','rest_output_link_wp_head');
Wer die JSON API-Schnittstelle von WordPress ganz deaktivieren möchten, kann dies über den zusätzlichen folgenden Eintrag realisieren:
add_filter('json_enabled', '__return_false'); add_filter('json_jsonp_enabled', '__return_false');
DNS Prefatch entfernen
DNS Prefatch wird eingesetzt, um die Zugriffszeit zu optimieren. Hinter jeder Domain steht eine IP-Adresse und bei jedem Aufruf müssen Server abgefragt werden, um diese Verknüpfung herstellen zu können. Mit einem Prefatch wird diese DNS Zuordnung vor der eigentlichen Abfrage erstellt. Eine sinnvolle Funktion, wenn externe Ressourcen eingesetzt werden. Über diesen Eintrag wird der DNS Prefatch realisiert:
Da ich nicht auf die Ressourcen von WordPress zurückgreife und meine Leser davon keinen Nutzen haben, kann die Funktion mit dem folgenden Eintrag in der functions.php deaktiviert werden:
remove_action('wp_head', 'wp_resource_hints', 2);
RSD Verweis entfernen
Mit dem RSD Verweis wird eine XML-Datei mit allen Services des WordPress Blogs bereitgestellt. Dazu wird im Head-Bereich der folgende Eintrag hinzugefügt:
Über den folgenden Eintrag in der functions.php kann der RSD Verweis von WordPress deaktiviert werden:
remove_action('wp_head', 'rsd_link');
WLW Manifest entfernen
Das WLW Manifest dient als Beschreibung für externe Editoren, um auf den WordPress Blog zugreifen zu können. Dazu wird im Head-Bereich von WordPress der folgende Eintrag hinzugefügt:
Wer seine Einträge direkt in WordPress schreibt, kann den Eintrag einfach entfernen. Über den folgenden Eintrag in der functions.php kann das WLW Manifest von WordPress deaktiviert werden:
remove_action( 'wp_head', 'wlwmanifest_link' );
Emoticons deaktivieren
WordPress wandelt automatisch Emoticons in das grafische Äquivalent um. Dazu wird zusätzlicher JavaScript- und CSS-Code eingebunden. Da ich diese zusätzlichen Dateien nicht haben möchte und sowieso die einfachen Emoticons bevorzuge, habe ich diese WordPress Funktion deaktiviert.
Über die folgenden Einträge in der functions.php können die Emoticons von WordPress deaktiviert werden:
remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles');
Fazit WordPress Optimierung
Mit diesen kleinen Konfigurationseinstellungen kann WordPress entschlackt und beschleunigt werden. Jeder sollte aber abwägen, ob eine Funktion benötigt wird oder nicht. Wer nicht von Hand die Funktion deaktivieren möchte, kann auf das Plugin WP Disable zurückgreifen. Daneben gibt es noch weitere Plugins, um einzelne Funktionen abzuschalten. Hier gibt es dazu eine gute Übersicht. Wer noch weitere Head-Einträge von WordPress entfernen möchte, kann sich die Übersicht von René anschauen.
Ich benutze WP selber jeden Tag und habe nie darüber nachgedacht dass man manche Funktionen auch deaktivieren konnte. Ich benutze auch nicht alle. Denke auch dass niemand das tut. Danke für die Tipps!