Wer seine Homepage optimieren will, stolpert schnell über die Performance-Analyse-Werkzeuge PageSpeed von Google und YSlow von Yahoo. Diese Tools schlagen eine Reihe von Verbesserungsmöglichkeiten vor, u. a. auch "Remove query strings from static resources". Ein Beispiel dafür:
.../plugins/shadowbox-js/css/extras.css?ver=3.0.3.10!
Alles nach dem ? ist der übergebene query string der lt. PageSpeed entfernt werden soll. Bei WordPress sind dies oft Versionsnummern von eingesetzten Plugins. Nun ist das entfernen dieser query strings in WordPress nicht so einfach, oder doch? Man könnte jedes Script und jede CSS erst mal deregistrieren (wp_deregister_script + wp_deregister_style), ohne Versionsnummer neu registrieren (wp_register_script + wp_register_style) und dann wieder in WP einreihen (wp_enqueue_script + wp_enqueue_style). Sehr sehr umständlich finden wir! Eine relativ schlicht gestrickte Funktion mit 2 Filtern auf den script- und style-loader löscht viele (bei uns nicht alle!) dieser Query Strings automatisch aus dem Quelltext:
//Remove query strings from static resources
function remove_querystrings_from_static_resources( $src ){
newsrc = explode( '?', $src );
return $newsrc[0];
}
add_filter( 'script_loader_src', 'remove_querystrings_from_static_resources' );
add_filter( 'style_loader_src', 'remove_querystrings_from_static_resources' );
Das war's schon, fertig!