load_javascript

WordPress Performance – laden von Javascript

Eine Sache, die mir bei WordPress überhaupt nicht gefällt, daß Javascript und CSS von Plugins und Widgets geladen werden, die auf einer Seite gar keine Verwendung finden. Bisher kenne ich keine elegante Alternative, das zu unterbinden.

Für ein paar wenige Plugins gibt es ergänzende Optimizer – selbst eingesetzt habe ich bisher nur den Optimizer für die nextgen gallery.

Dabei wird das Laden der Seite durch „nicht genutzten Code“ unnötig verzögert – besonders bei schlechter Verbindung ein Ärgernis. Auch Nutzer von Volumentarifen wird es nicht freuen, wenn eine Seite grundlos hunderte Kilobytes lädt.

Eigentlich wäre es Sache der Plugin Entwickler, hier für Abhilfe zu sorgen, denn das Laden ließe sich von vornherein an diverse Bedingungen knüpfen (Shortcode enthalten, Widget enthalten usw.).

Beschleunigung durch Codeanpassung

Aus zuvor benannten Gründen habe ich mich auf die Suche gemacht, wo die einzelnen Plugins denn Javascript und CSS beisteuern. Dabei habe ich mich über eine Volltextsuche auf die Funktionen wp_enqueue_script und wp_enqueue_style konzentriert.

Nun kann man zum Beispiel an entsprechender Stelle prüfen, ob es sich bei der auszugebenden Seite um „Home“ ( is_home() ), die „Frontpage“ ( is_front_page() ) oder eine andere beliebige Seite ( is_page($page ) handelt und wo es sinnvoll erscheint, den Aufruf der o.a. Funktionen dementsprechend unterbinden.

Natürlich sind alle Funktionen die WordPress bietet geeignet, um relevante Seiten / Kategorien Posts etc. zu bestimmen (Stichwort „is_“ in der Funktionsreferenz).

Ökonomische Eleganz

Es ist Unsinn, jedes Plugin anzufassen und dann im Quellcode lästig jeweils Bedingungen zu ergänzen, also ist der nächste Schritt mit der Frage verbunden: Wie lässt sich das sinnvoll lösen?! To be continued.

Konkatenieren und Komprimieren

In der Datei wp_includes script_loader bin ich auf folgende Funktionen gestoßen:

  • CONCATENATE_SCRIPTS
  • COMPRESS_SCRIPTS
  • COMPRESS_CSS

Tatsächlich lässt sich für diese in der wp-config.php eine entsprechende Konstante setzen (mit Wert true/false) und so das Ausliefern von CSS und Javaskript Dateien beeinflussen, ohne ein Plugin zu installieren.

 

VN:F [1.9.22_1171]
Rating: 4.3/5 (6 votes cast)
WordPress Performance - laden von Javascript , 4.3 out of 5 based on 6 ratings