I'm trying to pass the preload check of Google PSI, so i've placed the local fonts i got, in the <head>
as suggested using preload, as:
<link rel="preload" as="font" href="myfont.woff" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="myfont.woff" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="myfont2.woff" type="font/woff2" crossorigin>
problem is, something is versioning it, so PSI still report it as not preloaded showing me the url of the font is something like myfont.woff?18238125
, how can avoid versioning it, or strip the query at the end via php?
I'm trying to pass the preload check of Google PSI, so i've placed the local fonts i got, in the <head>
as suggested using preload, as:
<link rel="preload" as="font" href="myfont.woff" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="myfont.woff" type="font/woff2" crossorigin>
<link rel="preload" as="font" href="myfont2.woff" type="font/woff2" crossorigin>
problem is, something is versioning it, so PSI still report it as not preloaded showing me the url of the font is something like myfont.woff?18238125
, how can avoid versioning it, or strip the query at the end via php?
1 Answer
Reset to default 0If you load your fonts using standard stylesheet enqueueing then you can add this to your functions.php file:
function remove_querystrings( $src ) {
$parts = explode( '.woff?ver', $src );
return $parts[0];
}
add_filter( 'style_loader_src', 'remove_querystrings', 15, 1 );
I haven't tested this but I'm fairly certain it will only work if you're adding the fonts with wp_enqueue_style();
.
I use the above in production environments to remove the query string from all scripts and styles not just fonts, but that's only on finalized sites where the only updates are to content. (On that note, I've never tested it with .woff
in front of the ?ver
.)