WordPress auf Geschwindigkeit optimieren – Teil 1

wp_deregister_script und wp_deregister_style

Ich habe eins meiner Lieblingsprojekte diesen Sommer komplett auf WordPress umgestellt. Das Projekt ist sehr klein und übersichtlich, sodass es bis jetzt nur aus statischen Seiten bestand. Zur neuen Saison, ja das ist ein saisonabhängiges Projekt, wollte ich es aber etwas erweitern und die Möglichkeit bereitstellen, dass auch Freunde und Bekannte Inhalte einpflegen können. Bei statischen Seiten kann man das ja vergessen. Die statischen Seiten hatten jedoch einen wesentlichen Vorteil: Die Seite war wahnsinnig schnell! Darauf wollte ich nach der Umstellung auf WordPress jedoch nicht verzichten.

HTTP-Requests verursacht durch Plugins

WordPress bindet für fast jedes Plugin eine CSS und JavaScript Datei ein. Das erhöht die Ladezeit extrem. Es gibt eine extrem hohe Anzahl von HTTP-Requests, die man ja eigentlich so gering wie möglich halten sollte. Zudem werden die Dateien überall eingebunden, ganz egal ob das Plugin auf der Seite verwendet wird oder nicht.

Die Lösung

Man könnte ja den Inhalt der CSS-Dateien in die eigene style.css aufnehmen. Das hätte vorerst zur Folge, dass der Code doppelt vorkommt. Deswegen müssen die Dateien, die das Plugin einbindet, entfernt werden. Dazu muss man sich das Plugin genau unter die Lupe nehmen und nach der Funktion „wp_enqueue_style(’name‘, ‚path‘)“ suchen. Dieser kann man den Namen entnehmen, den wir zum entfernen der Datei benötigen. Jetzt können wir, in der functions.php, ganz einfach mit der Funktion „wp_deregister_style(’name‘)“ das Einbinden der Datei unterbinden.

Ähnlich geht es auch mit JavaScript-Dateien. Diese werden mit der Funktion „wp_enqueue_script(’name‘, ‚path‘)“ eingebunden und können mit „wp_deregister_script(’name‘)“ entfernt werden.

Man kann einen Schritt weitergehen und prüfen, ob das Script überhaupt gebraucht wird. Ist es nicht der Fall kann es entfernt werden. Ich habe bei dem Projekt eine Galerie mit dem „NextGEN“ Plugin erstellt. Diese findet man nur unter domain.de/galerie/*, somit brauche ich die CSS und JavaScript-Dateien auch nur bei dem Pfad einbinden. Bei allen anderen Seiten fliegen diese einfach raus. Auf diese, etwas mühsame, Art und Weise kann man die Anzahl der HTTP-Requests deutlich reduzieren.

Der Nachteil

Der Nachteil ist, dass es passieren kann, dass diese Arbeit nach jedem Plugin-Update neu gemacht werden muss. Das heißt, dass man alles sehr genau prüfen muss, wenn man das System und die Plugins updatet.

ALL-INKL.COM

5 Kommentars zu dem Artikel “WordPress auf Geschwindigkeit optimieren – Teil 1”

  1. Avatar von Jens Petersen
    Jens Petersen

    Das ist toll ! Perfekte Idee, vorallem für mich 🙂

    • Avatar von StarSt0rm
      StarSt0rm

      Das freut mich. 🙂

  2. Avatar von Johannes
    Johannes

    Jo danke 😀 Hat geholfen!

  3. Avatar von Htaccess
    Htaccess

    Man kann auch bedenkenlos updaten. Man muss nur den wp_deregister_style() && wp_derigster_script() beim eigenen Template in die functions.php einbinden!

    Dennoch danke für deine Lösung, ist ein kleiner Lösungsanschub für mich um Webseiten schneller zum Laden zu bewegen. 🙂

    • Avatar von Alexander Bogomolov
      Alexander Bogomolov

      „Falls nach dem Update sich der Dateiname ändert.“
      So sollte das besser heißen. 🙂