Le temps de chargement de votre site est un facteur crucial est déterminant pour le bon classement de votre blog dans les résultat de recherche du fameux Google . Lorsque vous conservez un thème par défaut vous vous retrouvez avec un paquet de lignes de code dans le header de vote blog. Ces lignes de code ne vous seront pas forcement utile , elles peuvent même alourdir vos pages. Si vous avez beaucoup de visiteur, cette astuce peut donc vous permettre d’alléger la charge de votre serveur.
Avant de démarrer, je précise que tous les modifications que l’on va faire seront à effectuer dans le fichier functions.php de votre thème.
Après l’utilisation de cette technique j’ai obtenu un très bon résultat on testant mon blog sur PageSpeed Insights
Nettoyer le Header de votre thème pour accélérer son chargement
Maintenant on va supprimer ces codes de notre thème. On commence par ce bout de code qui est utile seulement lorsque vous utilisez l’outil windows live writer pour envoyer des articles sur votre blog…
<link rel="wlwmanifest" type="application/wlwmanifest+xml"
href="https://wpcours.com/wp-includes/wlwmanifest.xml">
Supprimer le lien wlwmanifest
Pour le virer vous devez ajouter ceci (Dans votre functions.php):
remove_action( 'wp_head', 'wlwmanifest_link');
Supprimer la version de Wordpress
On va supprimer ce bout de code de notre thème:
<meta name="generator" content="WordPress 4.8.1">
Pour supprimer et cacher la version de Wordpress qui est aussi une mesure de sécurité à faire, on va ajouter ce bout de code à notre functions.php :
function wpcours_remove_version() { return ''; } add_filter('the_generator', 'wpcours_remove_version');
Supprimer les liens XML-RPC RSD
Wordpress ajout EditURI
à l’entête de votre thème, il est utile si vous utiliser un outils autre que Wordpress pour publier vos articles.
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://wpcours.com/xmlrpc.php?rsd">
Pour supprimer ce bout de code, ajouter ceci à votre function.php:
remove_action ('wp_head', 'rsd_link');
Supprimer Shortlink
Maintenant on va supprimer le lien court de nos articles.
<link rel="shortlink" href="https://wpcours.me/2u4K6bv">
remove_action( 'wp_head', 'wp_shortlink_wp_head');
supprimer query strings de vos ressources statiques
Pour supprimer les arguments associés aux adresses de vos ressources statiques (query strings), il vous suffit d’ajouter la fonction suivante dans le fichier functions.php de votre thème WordPress.
/supprimer les arguments des ressources statiques function _remove_script_version( $src ){ $parts = explode( '?ver', $src ); return $parts[0]; } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
Supprimer api.w.org
<link rel="https://api.w.org/" href="https://wpcours.com/wp-json/">
Code :
remove_action('wp_head', 'rest_output_link_wp_head', 10); remove_action('wp_head', 'wp_oembed_add_discovery_links', 10); remove_action('template_redirect', 'rest_output_link_header', 11, 0);
Maintenant votre site se chargera rapidement et votre section Header sera propre est optimisée.
Si cet article vous plait merci de le partager avec vos amis.
Supprimer RSD Links
RSD (Really Simple Discovery) est nécessaire si vous avez l’intention d’utiliser le client XML-RPC, pingback, etc. Cependant, si vous n’avez pas besoin de pingback ou de client distant pour gérer le post, supprimez cet en-tête inutile en ajoutant le code suivant.
remove_action( 'wp_head', 'rsd_link' ) ;
Désactiver les émoticônes
Supprimez le code supplémentaire lié aux emojis de WordPress qui a été ajouté récemment pour prendre en charge les émoticônes dans un navigateur plus ancien.
remove_action ('wp_head', 'print_emoji_detection_script', 7); remove_action ('wp_print_styles', 'print_emoji_styles'); remove_action ('admin_print_scripts', 'print_emoji_detection_script'); remove_action ('admin_print_styles', 'print_emoji_styles');
Désactiver Embeds
WordPress a introduit les fonctionnalités oEmbed dans la version 4.4 qui permettent à n’importe quel site d’incorporer des publications WordPress à distance .
En ajoutant le code suivant, cela empêchera les autres d’incorporer votre article de blog et désactivera le chargement du fichier JS associé.
function disable_embed(){ wp_dequeue_script( 'wp-embed' ); } add_action( 'wp_footer', 'disable_embed' );
Supprimer JQuery Migrate
WordPress a ajouté JQuery Migrate à partir de la version 3.6. Cela n’est pas nécessaire si vous utilisez la dernière version de JQuery et que les thèmes / plugins sont compatibles avec celle-ci. Pour supprimer jquery-migrate.min.js du chargement, ajoutez le code ci-dessous.
function deregister_qjuery() { if ( !is_admin() ) { wp_deregister_script('jquery'); } } add_action('wp_enqueue_scripts', 'deregister_qjuery');
Désactiver Self Pingback
Je ne sais pas pourquoi vous avez besoin des détails d’auto-pingback sur votre article de blog. Si vous voulez le supprimer, le code ci-dessous vous aidera.
function disable_pingback( &$links ) { foreach ( $links as $l => $link ) if ( 0 === strpos( $link, get_option( 'home' ) ) ) unset($links[$l]); } add_action( 'pre_ping', 'disable_pingback' );
Désactiver ou limiter les révisions d’articles
Les révisions de publication dans WordPress sont utiles pour restaurer la publication en cas de panne du navigateur ou de perte du connexion .
Par défaut, WordPress enregistre les révisions pour chaque article, ce qui peut alourdir la base de données . Vous pouvez choisir de le désactiver entièrement ou de limiter le nombre de révisions à enregistrer.
Ajoutez ce qui suit dans le fichier wp-config.php
Pour désactiver les révisions d’articles
define('WP_POST_REVISIONS', false);
Pour limiter le nombre
Disons que la limite pour garder au maximum deux révisions
define('WP_POST_REVISIONS', 2);
Remarque: cela doit être au-dessus de la ligne ABSPATH sinon cela ne fonctionnera pas.
Désactiver Heartbeat
WordPress utilise l’API Heartbeat pour communiquer avec un navigateur vers un serveur en appelant fréquemment admin-ajax.php. Cela peut ralentir le temps de chargement de la page et augmenter l’utilisation du processeur en cas d’hébergement partagé .
Si vous n’avez pas besoin d’utiliser l’API Heartbeat, vous pouvez la désactiver en ajoutant le code ci-dessous à votre fichier fonction.php.
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat'); }
Désactiver Dashicons en Front-end
Les Dashicons sont utilisés dans la console d’administration, et si vous ne les utilisez pas pour charger des icônes sur le front-end, vous pouvez lse désactiver. En ajoutant le code ci-dessous, dashicons.min.css arrêtera le chargement sur le front-end.
function wpdocs_dequeue_dashicon() { if (current_user_can( 'update_core' )) { return; } wp_deregister_style('dashicons'); } add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_dashicon' );
Désactiver Contact Form 7 JS / CSS
Vous utilisez Contact Form 7 et vous avez remarqué que leurs fichiers CSS / JavaScript sont chargés sur chaque page? Eh bien, tu n’es pas seul.
La bonne nouvelle est que vous pouvez arrêter de le charger avec le code ci-dessous.
add_filter( 'wpcf7_load_js', '__return_false' ); add_filter( 'wpcf7_load_css', '__return_false' );
Voila c’est tout, maintenant vous pouvez tester la vitesse de chargement de votre site et vous aller remarque une amélioration remarquable de la vitesse de chargement.
Herve
Merci,
J’ai tout ajouté dans un mu-plugins.
Je n’ai pas vu de changement flagrant mais bon pas de problème non plus donc même si minime autant faire sauter ces lignes.
Par contre pas très clair pour moi l’utilité de api.w.org ?
wpcours
Est ce que vous utilisez un plugin de cache si non je vous recommande » wp fastest cache » car pour moi j’ai constaté un très grand changement au niveau de la vitesse du chargement du site.
Pduboin
// Remove emoji
remove_action(‘admin_print_styles’,’print_emoji_styles’);
remove_action(‘wp_head’,’print_emoji_detection_script’,7);
remove_action(‘admin_print_scripts’,’print_emoji_detection_script’);
remove_action(‘wp_print_styles’,’print_emoji_styles’);
remove_filter(‘wp_mail’,’wp_staticize_emoji_for_email’);
remove_filter(‘the_content_feed’,’wp_staticize_emoji’);
remove_filter(‘comment_text_rss’,’wp_staticize_emoji’);