L'extension Yoast SEO permet nativement beaucoup de paramétrages depuis l'interface d'administration WordPress. Cependant, on peut lui trouver des limites lorsqu'on développe un site à l'arborescence plus complexe, avec parfois le besoin de personnaliser le fil d'Ariane - ou breadcrumb- pour certains contenus en particuliers : pages, articles, taxonomies ou CPT.
Changer le fil d'Ariane pour un Article WordPress de base
Dans cet exemple, je souhaite que dans mon Article que j'appellerai "Nouvelle succursale", le fil d'Ariane s'affiche ainsi :
Accueil > Actualités > Nouvelle succursale
Et que Accueil et Actualités soient cliquables, renvoyant respectivement vers leur page.
Voici donc le code à insérer dans le fichier functions.php de votre thème.
<?php
function yoast_seo_breadcrumb_append_link( $links ) {
global $post;
if ( is_single ( 123 ) ) {
$breadcrumb[] = array(
'url' => site_url( '/actualites/' ),
'text' => 'Actualités',
);
array_splice( $links, 1, -2, $breadcrumb );
}
return $links;
}
add_filter( 'wpseo_breadcrumb_links', 'yoast_seo_breadcrumb_append_link' );
J'utilise la fonction is_single accompagnée d'un nombre qui est l'identifiant unique de l'article concerné (ici 123 pour mon article "Nouvelle succursale").
Avec 'url' j'indique le lien de ma page intermédiaire Actualités et avec 'text' le texte à afficher pour ce lien.
Changer le fil d'Ariane pour un Article Personnalisé / Custom Post Type (CPT)
Dans cet exemple je souhaite que dans mon Article Personnalisé (CPT) nommé "Voiture", il existe un article que j'appellerai "Peugeot 208", et que dans celui-ci le fil d'Ariane s'affiche ainsi :
Accueil > Annonces > Peugeot 208
Et que Accueil et Annonces soient cliquables, renvoyant respectivement vers leur page.
Voici donc le code à insérer dans le fichier functions.php de votre thème.
<?php
function yoast_seo_breadcrumb_append_link( $links ) {
global $post;
if ( is_singular ( 'voiture' ) ) {
$breadcrumb[] = array(
'url' => site_url( '/annonces/' ),
'text' => 'Annonces',
);
array_splice( $links, 1, -2, $breadcrumb );
}
return $links;
}
add_filter( 'wpseo_breadcrumb_links', 'yoast_seo_breadcrumb_append_link' );
Dans ce cas ou mon article est un CPT j'utilise la fonction is_singular accompagnée de son slug qui est unique (ici 'voiture' ).
Par exemple, j'ai créé un CPT "voiture", alors 'voiture' est son slug.
Avec 'url' j'indique le lien de ma page intermédiaire Annonces et avec 'text' le texte à afficher pour ce lien.
Changer le fil d'Ariane pour une Page
Dans cet exemple, je souhaite que ma page que j'appellerai "Avec des oeufs", le fil d'Ariane s'affiche ainsi :
Accueil > Recettes simples > Avec des oeufs
Et que Accueil et Recettes simples soient cliquables, renvoyant respectivement vers leur page.
Voici donc le code à insérer dans le fichier functions.php de votre thème.
<?php
function yoast_seo_breadcrumb_append_link( $links ) {
global $post;
if ( is_page ( 456 ) ) {
$breadcrumb[] = array(
'url' => site_url( '/recettes-simples/' ),
'text' => 'Recettes simples',
);
array_splice( $links, 1, -2, $breadcrumb );
}
return $links;
}
add_filter( 'wpseo_breadcrumb_links', 'yoast_seo_breadcrumb_append_link' );
J'utilise la fonction is_page accompagnée d'un nombre qui est l'identifiant unique de la page concerné (ici 456 pour moa page "Avec des oeufs").
Avec 'url' j'indique le lien de ma page intermédiaire Recettes simples et avec 'text' le texte à afficher pour ce lien.
Changer le fil d'Ariane pour une Taxonomy
Dans cet exemple, je souhaite que ma Taxonomy que j'appellerai "Pays" ayant notamment le Term "Portugual", le fil d'Ariane s'affiche ainsi :
Accueil > Meilleurs voyages > Portugal
Et que Accueil et Meilleurs voyages soient cliquables, renvoyant respectivement vers leur page.
Voici donc le code à insérer dans le fichier functions.php de votre thème.
<?php
function yoast_seo_breadcrumb_append_link( $links ) {
global $post;
if ( is_tax ( 'pays' ) ) {
$breadcrumb[] = array(
'url' => site_url( '/meilleurs-voyages/' ),
'text' => 'Meilleurs voyages',
);
array_splice( $links, 1, -2, $breadcrumb );
}
return $links;
}
add_filter( 'wpseo_breadcrumb_links', 'yoast_seo_breadcrumb_append_link' );
Dans ce cas je désigne les Terms appartenants à la Taxonomy 'Pays', j'utilise la fonction is_tax accompagnée du slug unique de cette Taxonomy (ici 'pays' ).
Ainsi, toutes les Archives de Taxonomy 'Pays' (par exemple : France, Portugual, Espagne...) afficheront dans leur fil d'Ariane le texte "Meilleurs voyages" avec le lien vers cette page des meilleurs voyages.
Sources : GitHub officiel de Yoast SEO
Laisser un commentaire