Ajouter une balise meta par page sans plugins avec WordPress

balise meta

Bien que la balise meta description ait moins d’importance qu’autrefois pour le positionnement de votre page Web, elle n’est pas à négliger. Cependant, la balise title qui correspond au titre de la page constitue l’un des critères in-page les plus importants pour une bonne optimisation. Ainsi, un titre avec des mots-clés pertinents combiné à la courte description du contenu de votre page affichée à l’aide de la balise meta description peuvent être suffisant pour déclencher un clic de l’internaute. L’ajout des balises title et meta description à chaque page de votre site Web est donc essentiel si vous voulez que les bonnes informations apparaissent dans les résultats proposés par les moteurs de recherche.  Si vous ne le faites pas, ce sont les informations par défaut, c’est-à-dire le contenu des champs Titre du site et Sloganqui seront attribuées à chaque page. Ces informations se retrouvent dans le tableau de bord de WordPress à l’onglet Réglages puis Général.  

Bien sûr, il existe des plugins WordPress pour cela. Toutefois, l’ajout d’un plugin peut ralentir votre site Web et surtout si vous en avez déjà une bonne quantité. De plus, ils peuvent contenir des erreurs et même être utilisés pour pirater votre site. Il faut donc demeurer vigilant si l’on utilise des plugins. Pour ma part, je préfère ajouter un bout de code qui fera exactement la même chose. Les balises meta description et title doivent se retrouver dans la section head de votre code. 

Le code à ajouter dans header.php

<?php if ( is_single() || is_page() ) : if (have_posts() ) : while (have_posts() ) : the_post(); ?>
<title><?php  wp_title('',true,'right'); ?></title>
<meta name="description" content="<?php echo get_post_meta( $post->ID, 'description', true);?>">
<?php endwhile; endif; elseif (is_home() ): ?>
<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
<meta name="description" content="<?php bloginfo('description'); ?>">
<?php endif; ?>

 

Explication du code:

is_single() || is_page()  et is_home()

La condition permet de connaître si les balises title et meta description doivent être reliées à un article ou une page du site Web avec is_single() || is_page() ou bien à la page d’accueil avec is_home().

 

if (have_posts() ) : while (have_posts() ) : the_post()

La fonction have_posts() permet de vérifier s’il y a des articles et si oui, la boucle while s’exécute tant que la condition demeure vraie. La fonction the_post() rend utilisable les informations (titre, contenu, etc) concernant les articles.

 

wp_title(‘ ‘,true,’right’)

Dans le cas d’un article unique ou d’une page, nous ajoutons le titre de l’article avec  wp_title(). Les paramètres (‘ ‘ , ‘true,’right‘ ) ne sont pas obligatoires.  Dans ce cas-ci, le résultat obtenu avec ces paramètres pour cet article donnerait ce qui suit:

<title>Ajouter une balise meta par page sans plugins avec WordPress?    </title>

Ainsi, nous avons un espace après le titre à cause du 1er paramètre. Le 2e paramètre (true) est un boolean et le 3e réfère à la position de l’espace (à droite).

 

get_post_meta( $post->ID, ‘description’, true)

L’ajout d’une balise meta description se fait grâce à l’instruction get_post_meta. Celle-ci permet de récupérer les valeurs entrées dans les champs personnalisés du CMS WordPress. Avec les 3 paramètres, vous irez chercher l’identifiant du post, le nom du champ personnalisé (description) et la valeur unique correspondant au champ grâce à « true ». Mais pour y inscrire des valeurs, ce champ doit d’abord être activé. Il faut cocher la case en allant dans « Options de l’écran » situé en haut de la page de l’article que vous écrivez. Puis, vous obtenez ceci en bas de l’article:

champs personnalisés du CMS WordPress

 

Une fois les champs bien remplis selon les règles de l’art du SEO (Search Engine Optimization), vous aurez une balise méta différente bien optimisée pour chaque article ou page. Le champs « valeur » doit contenir une description d’environ 145-155 caractères, espace compris. Il ne doit pas reprendre le titre mais plutôt le compléter.

 

bloginfo(‘name’) et bloginfo(‘description’)

Dans le cas d’une page d’accueil, vous récupérez le titre avec bloginfo(‘name’). Ce titre se trouve dans le champ Titre du site (Réglages/général). Vous obtenez également la description écrite dans le champ Slogan au même endroit avec bloginfo(‘description’).

 

Pour terminer, voici quelques liens intéressants si vous voulez plus de détails:

Marqueurs conditionnels
Custom fields
wp_title

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *