Blog

Comment nettoyer le header de votre thème WordPress

Écrit le 02 04 2013 par Kévin MET _

Aujourd’hui on va voir quelques petites astuces que j’utilise lorsque je veux utiliser WordPress pour autre chose qu’un blog. En effet, lorsque vous conservez un thème par défaut vous vous retrouvez avec un paquet de lignes de code dans le header. Ces lignes de code ne vous seront pas forcement utile et pire, 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. (Bon ok, il faut vraiment avoir un bon paquet de visiteurs pour voir la différence)

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.

Pour commencer on va s’occuper de cette saloperie de barre qui est apparue dans la version 3.1 de WordPress. Ca n’a pas grand chose à voir avec l’article mais comme la modification se trouve dans functions.php, on va également s’occuper de ça. Pour supprimer cette fameuse barre une fois pour toute et pour tout le monde il suffit d’ajouter ceci dans functions.php :


<?php
add_filter('show_admin_bar', '__return_false');
remove_action('init', 'wp_admin_bar_init');
?>

Ensuite on va s’occuper de la ligne suivante de la section head :


<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://mnt-tech.fr/wp-includes/wlwmanifest.xml" />

Ce bout de code est utile lorsque votre site est visité par le client windows live writer… Autant dire que c’est un truc inutile si vous n’avez pas un blog. Pour le virer vous devez ajouter ceci (toujours à votre functions.php):


<?php remove_action('wp_head', 'wlwmanifest_link'); ?>

Maintenant, on va s’occuper de cette ligne:


<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://mnt-tech.fr/xmlrpc.php?rsd" /?>

Cette ligne de code permet … je ne sais pas trop quoi mais en tout cas ça m’énerve de l’avoir dans mon header car je sais qu’elle ne m’est pas utile. A dégager! On ajoute ça :


<?php remove_action('wp_head', 'rsd_link'); ?>

Ensuite, on va virer les liens vers les articles adjacents :


<?php remove_action('wp_head', 'adjacent_posts_rel_link_wp_head'); ?>

Ensuite on va s’occuper du meta generator qui indique la version de WordPress que l’on utilise dans le header :


<?php remove_action('wp_head', 'wp_generator'); ?>

Déjà on commence à y voir beaucoup plus clair dans ce header mais ce n’est pas encore fini, on va supprimer le lien vers l’index du site qui ne sert lui non plus à rien :


<?php remove_action( 'wp_head', 'index_rel_link' ); ?>

Et pour finir, on va supprimer tous les liens vers les RSS bizarres comme les catégories ou les tags :

<?php remove_action( 'wp_head', 'feed_links_extra', 3 ); ?>

Voilà, on se retrouve avec une section header beaucoup plus propre et légère. Pour exemple, dès que je commence un projet WordPress qui est autre qu’un blog j’utilise le fichier functions.php suivant:


<?php
if (function_exists('register_sidebars'))
    register_sidebars();
add_theme_support('nav_menus');
add_filter('show_admin_bar', '__return_false');
remove_action('init', 'wp_admin_bar_init');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
remove_action('wp_head', 'wp_generator');
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'feed_links_extra', 3 );
?>

Ce fichier permet d’ajouter le support du menu et des widgets et permet d’obtenir un header propre comme on vient de le voir. Je vous déconseille d’utiliser ceci pour une utilisation blog car la plupart des fonctionnalités qui sont retirées peuvent être utile pour vos lecteurs.

PS : Après refléxion, tout ça ne sert à rien même pour un blog. Regardez par vous même sur ce blog, c'est ce que j'utilise et cela ne pose aucun problème pour la lecture des billets.

EDIT du 15/09/2016 :

Je n'utilise plus WordPress sur ce blog mais un système maison tout simple à base de PHP. Par contre je gère le blog Mad Rabbit Videos qui lui tourne bien sur WordPress et j'utilise encore tous ces tricks pour nettoyer mon header de toutes ces merdes inutiles. Et dans la liste des trucs foireux qui sont apparus cette année dans WordPress il y a ce js qui est écrit dans le DOM de votre page pour transformer les émojis. Il commence par window._wpemojiSettings. Sans parler du CSS qui est également rajouter directement dans le DOM de votre page. Perso, je trouve ça dégeulasse et je le vire direct avec ça :


// REMOVE WP EMOJI
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' );
♥ Partage sur tes réseaux sociaux ♥
Kévin MET
Kévin MET

Auteur de ce blog et gérant de la société MNT-TECH, je publie sur ce blog lorsque le temps me le permet et lorsqu'un sujet qui me parait intéressant n'a pas encore été abordé en français. Toutes les informations techniques présentes sur cette page peuvent être réutilisées moyennant le fait de citer la source.