So in the ever-continuing saga of learning, testing and fine-tuning your site’s settings to get the ultimate in performance you might have enjoyed the new Autoptimize filter/ setting not to lazyload the first N images to keep the impact of lazyloading on Largest Contentfull Paint down?
Well, now you can take things a step further with below code snippet, which tells Autoptimize not to lazyload the logo and the featured image (hat tip to Gijo Varghese of Flying Press for the idea).
add_filter('autoptimize_filter_imgopt_lazyload_exclude_array', function( $lazy_excl ){
// site logo.
$custom_logo_id = get_theme_mod( 'custom_logo' );
$image = wp_get_attachment_image_src( $custom_logo_id , 'full' );
$logo = $image[0];
if ( ! empty( $logo ) ) {
$lazy_excl[] = $logo;
}
// featured image.
if ( is_single() || is_page() ) {
$featured_img = get_the_post_thumbnail_url();
if ( ! empty( $featured_img ) ) {
$lazy_excl[] = $featured_img;
}
}
return $lazy_excl;
});
This might end up in a future version of Autoptimize, maybe even preloading those images … :-)