¦ 18.08.2010 ¦
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.


Jens Petersen ¦ 13.03.2011 - 13:23
Das ist toll ! Perfekte Idee, vorallem für mich
StarSt0rm ¦ 14.03.2011 - 07:20
Das freut mich.