If you use the SyntaxHighlighter Evolved WordPress plugin by Alex Mills (Viper007Bond), you may notice that the CSS file source URLs are appended with a query string to add the version.
If you run a speed test on a page with SyntaxHighlighter, you may get a recommendation to “remove query strings from static resources.”
Or, you may get a speed test result like this:
- https://yoursite.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.9b
- https://yoursite.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css?ver=3.0.9b
You can fix this issue by removing the “version” URL query string from the SyntaxHighlighter Evolved CSS resource URLs. The following code will remove the query string for both of the stylesheets loaded by SyntaxHighlighter: the SyntaxHighlighter core CSS URL, and the SyntaxHighlighter theme CSS URL.
To do this, add this code to your functions:
/* Remove the version query string from SyntaxHighlighter CSS urls */ function isa_remove_syntaxhighlighter_css_querystring( $src ) { // Does this URL have a query string beginning with ?ver= $ver = strpos( $src, '?ver=' ); if ( $ver !== false ) { $parts = explode( '?', $src ); $src = $parts[0]; } return $src; } // Remove it from SyntaxHighlighter core CSS url add_filter( 'syntaxhighlighter_csscoreurl', 'isa_remove_syntaxhighlighter_css_querystring' ); // Remove it from SyntaxHighlighter theme CSS url add_filter( 'syntaxhighlighter_cssthemeurl', 'isa_remove_syntaxhighlighter_css_querystring' );
Then, clear any cache plugins that you may have, and re-do the speed test. The above issue should be resolved.
Also see these for how to remove other query strings in WordPress:
Remove Query Strings from Static Sources in WordPress
Remove URL Query String Parameters from Gravatars in WordPress
Questions and Comments are Welcome