Comment utiliser les filtres personnalisés de Speed Optimizer
Table des matières
Dans le monde numérique d’aujourd’hui, les performances de votre site Web peuvent faire ou défaire votre succès. Un site Web qui se charge rapidement et fonctionne de manière fluide peut améliorer considérablement l’expérience utilisateur, en augmentant le trafic, l’engagement et les taux de conversion de votre site.
Speed Optimizer est une solution innovante qui améliore les performances de votre site Web . Cet outil puissant fournit une suite de filtres personnalisés qui vous permettent d’affiner la mise en cache, l’optimisation des images et la gestion des scripts de votre site Web, entre autres.
Avec ces filtres, vous pouvez contrôler les autorisations de purge du cache, limiter les URL préchauffées, ajouter des cookies de contournement du cache, exclure des URL spécifiques de la mise en cache, personnaliser la largeur maximale de l’image, et bien plus encore.
Dans ce tutoriel, vous trouverez un guide détaillé comment utiliser les filtres personnalisés de Speed Optimizer pour optimiser les performances de votre site Web, alors lisez la suite.
Contrôler les rôles d’utilisateur autorisés à effectuer une purge manuelle du cache
Pour une personnalisation avancée, nous avons intégré un filtre qui vous permet de contrôler quels rôles d’utilisateur ont accès pour vider le cache à l’aide du bouton Purge SG Cache.
Voici un exemple de code que vous pouvez ajouter à votre fichier functions.php pour personnaliser davantage votre expérience de mise en cache :
add_filter( 'sgo_purge_button_capabilities', 'sgo_add_new_role' );
function sgo_add_new_role( $default_capabilities ) {
// Allow new user role to flush cache.
$default_capabilities[] = 'delete_others_posts'; // For Editors.
$default_capabilities[] = 'edit_published_posts'; // For Authors.
return $default_capabilities;
}
Limiter le nombre d’URL que mon site Web préchauffera
Nous avons également introduit un filtre supplémentaire qui vous permet de gérer le nombre d’URL que votre site Web préchauffera sans effort. Par défaut, cette valeur est définie sur 200, garantissant des performances optimales. Voici un exemple de code que vous pouvez intégrer de manière transparente dans votre fichier functions.php :
add_filter( 'sg_file_caching_preheat_url_limit', 'sgo_preheat_limit' );
function sgo_preheat_limit( $xml_urls ) {
// Define custom limit for XML URL preheat.
$xml_urls = 300;
return $xml_urls;
}
N’oubliez pas que lorsque vous apportez des modifications aux filtres liés au cache de fichiers fournis ci-dessous, il est essentiel de vider le cache. Cette action régénère le fichier sgo-config et garantit que les filtres ont été ajoutés avec succès.
Ajout d’un cookie de contournement de cache
Si vous devez ajouter un cookie de contournement de cache aux cookies par défaut existants, vous pouvez utiliser le filtre suivant
add_filter( 'sgo_bypass_cookies', 'add_sgo_bypass_cookies');
function add_sgo_bypass_cookies( $bypass_cookies ) {
// Add the cookies, that you need to bypass the cache.
$bypass_cookies[] = 'cookie_name';
$bypass_cookies[] = 'cookie_name_2';
return $bypass_cookies;
}
Si vous souhaitez ignorer le cache pour un paramètre de requête spécifique, vous pouvez utiliser le filtre suivant :
add_filter( 'sgo_bypass_query_params', 'add_sgo_bypass_query_params');
function add_sgo_bypass_query_params( $bypass_query_params ) {
// Add custom query params, that will skip the cache.
$bypass_query_params[] = 'query_param';
$bypass_query_params[] = 'query_param2';
return $bypass_query_params;
}
Si vous devez ajouter un paramètre de requête spécifique qui sera ignoré dans les processus de création de cache et de création de cache, vous pouvez le faire en utilisant ce filtre :
add_filter( 'sgo_ignored_query_params', 'add_sgo_ignored_query_params');
function add_sgo_ignored_query_params( $ignored_query_params ) {
// The query parameters which will be ignored.
$ignored_query_params[] = 'query_param';
$ignored_query_params[] = 'query_param2';
return $ignored_query_params;
}
Exclure certaines URL de la mise en cache
Si vous souhaitez exclure certaines URL de la mise en cache de votre site Web, vous pouvez utiliser le filtre que nous avons conçu à cet effet. Assurez-vous d’entourer la partie URL de barres obliques. Les Wildcards peuvent également être utilisés. Découvrez l’exemple ci-dessous :
add_filter( 'sgo_exclude_urls_from_cache', 'sgo_add_excluded_urls_from_cache');
function sgo_add_excluded_urls_from_cache( $excluded_urls ) {
// The part of the URL which needs to be excluded from cache.
$excluded_urls[] = '/excluded_url/';
$excluded_urls[] = '/wildcard/exclude/*';
return $excluded_urls;
}
Exclure des tables spécifiques du contrôle Heartbeat
Adaptez le processus d’optimisation en excluant des tables spécifiques de l’optimisation. Vous pouvez affiner le processus d’optimisation en fonction de vos besoins spécifiques en spécifiant le nom de la table sans le préfixe de la base de données. Voici un exemple de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_db_optimization_exclude', 'sgo_db_optimization_exclude_table' );
function sgo_db_optimization_exclude_table( $excluded_tables ) {
// Add tables that you need to exclude without the wpdb prefix.
$excluded_tables[] = 'table_name';
$excluded_tables[] = 'another_table_name';
return $excluded_tables;
}
Personnaliser la largeur maximale de l’image
Vous pouvez également modifier le paramètre de largeur maximale pour répondre à vos besoins spécifiques. Avec ce niveau de personnalisation, vous avez la possibilité d’optimiser la taille des images en fonction de vos besoins uniques. Voici un exemple d’extrait de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_set_max_image_width', 'max_image_width' );
function max_image_width( $max_allowed_width ) {
// Add the value you want to adjust as max image width.
$max_allowed_width = 1250;
return $max_allowed_width;
}
Modifier le paramètre de qualité WebP par défaut
Vous pouvez modifier le paramètre de qualité Webp par défaut à l’aide du filtre que nous avons conçu à cet effet. Le paramètre par défaut est 80, et vous pouvez utiliser des valeurs comprises entre 0 et 100:
add_filter( 'sgo_webp_quality', 'webp_quality' );
function webp_quality( $quality ) {
// Add the value you want to adjust as Webp image quality.
$quality = 100;
return $quality;
}
Vous pouvez modifier le paramètre de type de qualité Webp par défaut à l’aide du filtre que nous avons conçu à cet effet. Le type de qualité par défaut est avec perte, qui est égal à 0 si vous souhaitez le définir sur sans perte – réglez le type sur 1 fort> comme suit :
add_filter( 'sgo_webp_quality_type', 'reset_webp_quality_type' );
function reset_webp_quality_type( $quality_type ) {
// Add the value you want to adjust as max image width.
$quality_type = 1;
return $quality_type;
}
Compatibilité des plugins
Dans certains cas, certains plugins peuvent ne pas déclencher les hooks WordPress standard ou nécessiter une purge du cache. Pour faire face à ces situations, nous avons fourni une fonction publique que vous pouvez utiliser dans votre code.
if (function_exists('sg_cachepress_purge_cache')) {
sg_cachepress_purge_cache();
}
De préférence, vous pouvez transmettre une URL à la fonction pour vider le cache juste pour elle au lieu de purger tout le cache. Par exemple:
if (function_exists('sg_cachepress_purge_cache')) {
sg_cachepress_purge_cache('https://yoursite.com/pluginpage');
}
Vous pouvez exclure les styles de la combinaison et de la réduction à l’aide des filtres que nous avons conçus à cet effet. Voici un exemple de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_css_combine_exclude', 'css_combine_exclude' );
function css_combine_exclude( $exclude_list ) {
// Add the style handle to exclude list.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';
return $exclude_list;
}
add_filter( 'sgo_css_minify_exclude', 'css_minify_exclude' );
function css_minify_exclude( $exclude_list ) {
// Add the style handle to exclude list.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';
return $exclude_list;
}
Vous pouvez exclure la minification des scripts à l’aide du filtre que nous avons conçu à cet effet. Voici un exemple de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_js_minify_exclude', 'js_minify_exclude' );
function js_minify_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}
Exclure les scripts de la combinaison à l’aide du filtre que nous avons conçu à cet effet. Voici un exemple de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_javascript_combine_exclude', 'js_combine_exclude' );
function js_combine_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}
Ou excluez un script externe d’être combiné en utilisant le filtre que nous avons conçu à cet effet. Voici un exemple de code que vous pouvez ajouter à votre fichier functions.php
add_filter( 'sgo_javascript_combine_excluded_external_paths', 'js_combine_exclude_external_script' );
function js_combine_exclude_external_script( $exclude_list ) {
$exclude_list[] = 'script-host.com';
$exclude_list[] = 'script-host-2.com';
return $exclude_list;
}
Vous pouvez exclure la combinaison de scripts en ligne à l’aide du filtre que nous avons conçu à cet effet. Voici un extrait de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_javascript_combine_excluded_inline_content', 'js_combine_exclude_inline_script' );
function js_combine_exclude_inline_script( $exclude_list ) {
$exclude_list[] = 'first few symbols of inline content script';
return $exclude_list;
}
Vous pouvez exclure tous les scripts en ligne d’être combinés. Voici un exemple d’extrait de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_javascript_combine_exclude_all_inline', '__return_true' );
De plus, vous pouvez exclure tous les scripts en ligne d’être combinés en utilisant le code de filtre ci-dessous et en l’ajoutant à votre fichier functions.php.
add_filter( 'sgo_javascript_combine_exclude_all_inline_modules', '__return_true' );
Empêchez le script d’être chargé de manière asynchrone en ajoutant le code ci-dessous dans votre fichier functions.php.
add_filter( 'sgo_js_async_exclude', 'js_async_exclude' );
function js_async_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}
ou alternativement :
add_filter( 'sgo_javascript_combine_exclude_ids', 'js_sgo_javascript_combine_exclude_ids' ); function js_sgo_javascript_combine_exclude_ids( $exclude_list ) { $exclude_list[] = 'javascript-id1'; $exclude_list[] = 'javascript-id2'; return $exclude_list; }
Excluez une URL spécifique ou une URL contenant un paramètre de requête spécifique à l’aide des filtres suivants :
add_filter( 'sgo_html_minify_exclude_params', 'html_minify_exclude_params' );
function html_minify_exclude_params( $exclude_params ) {
// Add the query params that you want to exclude.
$exclude_params[] = 'test';
return $exclude_params;
}
add_filter( 'sgo_html_minify_exclude_urls', 'html_minify_exclude' );
function html_minify_exclude( $exclude_urls ) {
// Add the url that you want to exclude.
$exclude_urls[] = 'http://mydomain.com/page-slug';
return $exclude_urls;
}
Vous pouvez exclure les ressources statiques de la suppression de leurs chaînes de requête à l’aide du filtre que nous avons conçu à cet effet. Voici un exemple de code que vous pouvez ajouter à votre fichier functions.php :
add_filter( 'sgo_rqs_exclude', 'sgo_rqs_exclude_scripts' );
function sgo_rqs_exclude_scripts( $exclude_list ) {
$exclude_list[] = 'part-of-the-resource-path.js';
return $exclude_list;
}
Vous pouvez également exclure des images de Lazy Load à l’aide du filtre suivant :
add_filter( 'sgo_lazy_load_exclude_classes', 'exclude_images_with_specific_class' );
function exclude_images_with_specific_class( $classes ) {
// Add the class name that you want to exclude from lazy load.
$classes[] = 'test-class';
return $classes;
}
De plus, vous pouvez exclure un type de publication spécifique de Lazy Load en utilisant le filtre suivant :
add_filter( 'sgo_lazy_load_exclude_post_types', 'exclude_lazy_load_from_post_type' );
function exclude_lazy_load_from_post_type( $post_types ) {
// Add the post type that you want to exclude from using lazy load.
$post_types[] = 'post-type';
return $post_types;
}
Vous pouvez exclure une URL spécifique de Lazy Load à l’aide du filtre suivant :
add_filter( 'sgo_lazy_load_exclude_urls', 'exclude_lazy_load_for_url' );
function exclude_lazy_load_for_url( $excluded_urls ) {
// Add the url that you want to exclude from using lazy load.
$excluded_urls[] = 'http://mydomain.com/page-slug';
return $excluded_urls;
}
Avec ces nouveaux filtres, vous pouvez exclure des éléments spécifiques du chargement différé. Gardez à l’esprit que l’utilisation de ces filtres peut réduire les performances dans certains cas.
Vous pouvez utiliser ce filtre pour exclure des images spécifiques en ajoutant leur URL source :
add_filter( 'sgo_lazy_load_exclude_images', 'exclude_images_from_lazy_load' );
function exclude_images_from_lazy_load( $excluded_images ) {
// Add the src url of the image that you want to exclude from using lazy load.
$excluded_images[] = 'http://mydomain.com/wp-content/uploads/your-image.jpeg';
return $excluded_images;
}
Vous pouvez utiliser ce filtre pour exclure des vidéos spécifiques en ajoutant leur URL source :
add_filter( 'sgo_lazy_load_exclude_videos', 'exclude_videos_from_lazy_load );
function exclude_videos_from_lazy_load( $excluded_videos ) {
// Add the src url of the video that you want to exclude from using lazy load.
$excluded_videos[] = 'http://mydomain.com/wp-content/uploads/your-video.mp4';
return $excluded_videos;
}
Vous pouvez utiliser ce filtre pour exclure des iframes spécifiques en ajoutant leur URL source :
add_filter( 'sgo_lazy_load_exclude_iframe', 'exclude_iframe_from_lazy_load );
function exclude_iframe_from_lazy_load( $excluded_iframe ) {
// Add the src url of the iframe that you want to exclude from using lazy load.
$excluded_iframe[] = 'http://mydomain.com/wp-content/uploads/iframe-src.mp4';
return $excluded_iframe;
}
Résumé
Ce guide a fourni des informations sur les filtres personnalisés de Speed Optimizer, qui vous permettent d’adapter les performances de votre site Web à vos besoins spécifiques. Ces filtres vous permettent de contrôler les autorisations de purge du cache, de gérer le nombre d’URL préchauffées, d’ajouter des cookies de contournement du cache et d’exclure certaines URL de la mise en cache. Le guide a également montré comment personnaliser la largeur maximale de l’image, modifier le paramètre de qualité WebP par défaut et exclure des tables spécifiques du contrôle Heartbeat.
Nous avons fourni des exemples de code pour chaque filtre, vous aidant à implémenter facilement ces fonctionnalités. En tirant parti de ces filtres personnalisés, vous pouvez améliorer considérablement les performances de votre site Web, offrant une expérience utilisateur plus fluide et plus rapide.
FAQ sur Speed Optimizer
Après avoir activé l’option Combine CSS/JS du plugin, mon site Web ne s’affiche pas comme il le devrait. Quelle pourrait en être la raison ?
Si vous constatez que la combinaison de certains fichiers CSS/JS perturbe les fonctionnalités du site, vous devrez exclure les fichiers pertinents de la combinaison. Vous pouvez exclure certains éléments de la combinaison à l’aide du menu déroulant d’exclusion sous SG Optimizer > L’extrémité avant.
J’essaie d’exclure une feuille de style d’être combinée/minifiée par le plugin mais je ne la vois pas dans la liste d’exclusion ?
La liste déroulante dans le code de votre site Web contient des styles CSS qui ont été mis en œuvre à l’aide de procédures de codage standard. Les styles CSS qui ont été ajoutés sans respecter les normes de codage recommandées n’apparaîtront pas dans la liste déroulante -liste descendante. Pour inclure ces styles, vous devez utiliser des filtres de code d’exclusion. Dans ce cas, vous devez identifier ou connaître le descripteur du style plutôt que de faire directement référence au nom de la feuille de style. Les poignées peuvent être exclues via le fichier functions.php de votre modèle actif.
Vous devez utiliser le filtre suivant pour exclure les styles de la combinaison :
add_filter( 'sgo_css_combine_exclude', 'css_combine_exclude' );
function css_combine_exclude( $exclude_list ) {
// Add the style handle to exclude list.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';
return $exclude_list;
}
Vous devez utiliser le filtre suivant pour exclure les styles de la minification :
add_filter( 'sgo_css_minify_exclude', 'css_minify_exclude' );
function css_minify_exclude( $exclude_list ) {
// Add the style handle to exclude list.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';
return $exclude_list;
}
Comment puis-je empêcher un plug-in d’être affecté par les optimisations JavaScript qui bloquent le rendu ? L’activation de ces optimisations perturbe actuellement la fonctionnalité du site Web.
Vous pouvez exclure des scripts à l’aide des menus déroulants d’exclusion sous SG Optimizer > Interface > ; Javascript. Si certains fichiers ne sont pas visibles dans la liste, ils ne sont pas correctement mis en file d’attente mais sont probablement codés en dur. Les poignées de script peuvent être exclues via le fichier functions.php de votre modèle actif. Vous pouvez utiliser les extraits de code suivants pour exclure les poignées de la combinaison et du blocage du rendu.
Pour exclure des fichiers de la combinaison, vous devez utiliser :
add_filter( 'sgo_javascript_combine_exclude', 'js_combine_exclude' );
function js_combine_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}
Pour exclure le chargement asynchrone des scripts, utilisez le filtre ci-dessous, que vous pouvez ajouter au fichier functions.php de votre thème :
add_filter( 'sgo_js_async_exclude', 'js_async_exclude' );
function js_async_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}
La compression/conversion de mon image est bloquée, que puis-je faire pour résoudre ce problème ?
Vous devez vérifier si votre application peut exécuter les tâches cron avec succès. Habituellement, cela signifierait que le cron natif est désactivé et qu’aucune vraie tâche cron n’est créée sous votre panneau de contrôle.