Exclure des pages/articles WordPress de la recherche

Exclure des pages ou des articles de la recherche de son site WordPress est possible et même sans plugin, très facilement.

Partager l'article

Les pages et les articles se mélangent dans les recherches

Lorsqu’il s’agit de sites WordPress, en particulier ceux axés sur les actualités, il est courant de vouloir filtrer les résultats de recherche pour que les articles soient prioritaires sur les pages. Bien que certaines pages puissent avoir une pertinence contextuelle, les articles sont souvent plus pertinents pour l’audience cible. Sur notre site diOptera, nous avons opté pour une solution hybride : conserver certaines pages spécifiques dans les résultats de recherche, tout en priorisant majoritairement les articles.

Exclure les pages de la recherche WordPress

Guide étape par étape :

  1. Préparation : Assurez-vous d’avoir un accès direct au dossier racine de votre WordPress. Cela est généralement possible via des outils tels que FileZilla ou le service FTP web offert par votre hébergeur.
  2. Accéder à Votre Thème Enfant : Naviguez vers « /wp-content/themes/(nom_de_votre_thème) ». Si vous n’utilisez pas de thème enfant, songez sérieusement à en créer un pour éviter d’éventuels conflits lors de futures mises à jour.
  3. Modification du Code : Une fois dans le dossier de votre thème, ouvrez le fichier nommé function.php. Vers la fin du fichier, vous serez invité à insérer une fonction spécifique qui filtrera les résultats de recherche (code disponible en dessous).

En intégrant ces modifications, vous assurez que vos utilisateurs reçoivent les contenus les plus pertinents lorsqu’ils utilisent la fonction de recherche intégrée de votre site WordPress. C’est une étape cruciale pour améliorer l’expérience utilisateur et la pertinence du contenu.

// filtrer la recherche WordPress
function ma_recherche_filter( $query )
{
	$pagesAExclure = array(  ); //ID page/article à exclure (séparés par une virgule)
    if ( $query->is_search )
    {
        $query->set( 'post__not_in', $pagesAExclure );
    }
    return $query;
}
add_filter('pre_get_posts','ma_recherche_filter');

Vous devez manuellement intégrer l’ensemble des pages ou des articles que vous souhaitez retirer de la recherche WordPress.

  • Identification des ID des Pages/Articles : Chaque page ou article sur WordPress a une ID unique. Pour trouver cette ID:
    • Naviguez vers le mode édition de la page ou de l’article.
    • Dans l’URL, cherchez la structure « post=XXXX ». Par exemple, « post=1273 » indique que l’ID de cette page ou article est 1273.
    • Notez que cet ID est propre à chaque élément, le vôtre sera donc différent de l’exemple fourni.

En suivant ces étapes, vous renforcez l’efficacité de la recherche sur votre site WordPress tout en optimisant l’expérience utilisateur.

Dans ce fichier function.php vous pouvez dès à présent intégrer d’autres fonctions qui permettent la plupart du temps de passer outre une extension. Nous vous conseillons notamment d’intégrer votre code Google Analytics directement dans ce fichier.