
🔒 Comment masquer un article ou une catégorie entière de la page d'accueil WordPress
Un nouvel article est arrivé en page d’accueil et a relégué tout le reste vers le bas. Au bout d’un mois, vous avez trois douzaines d’articles dans ce cas, tandis que les contenus qui vous apportent réellement des clients ont dérivé jusqu’à la quatrième page de défilement. La tentation de supprimer le superflu est forte. Ne le faites pas.
WordPress affiche par défaut les derniers articles sur la page d’accueil. Pour un blog, c’est normal. Mais si vous gérez un catalogue, une base de connaissances ou une boutique, certains contenus ont leur place dans un slider, sur une page d’atterrissage ou dans une newsletter par email. Il n’y a aucune raison de les dupliquer sur la page d’accueil. Les verrouiller en tant que brouillon, c’est perdre du référencement. Les supprimer est encore pire.
Voici cinq façons de masquer un article ou une catégorie entière de la page d’accueil: de la confidentialité intégrée en deux clics jusqu’à un filtre au niveau de la base de données. Choisissez celle qui correspond à votre besoin.
💡 Aperçu rapide:
- Masquer un seul article à tous les visiteurs: confidentialité intégrée de WordPress, deux clics dans l’éditeur.
- Contrôler la visibilité du contenu de manière sélective: l’extension WP Hide Post avec des réglages flexibles pour la page d’accueil, les catégories, la recherche et le flux RSS.
- Contourner le fil d’actualité de la page d’accueil sans extension: publiez l’article en tant que page, et le thème l’ignorera.
- Exclure une catégorie entière avec du code: un hook pre_get_posts dans le fichier functions.php, huit lignes.
- Faire la même chose avec des cases à cocher: l’extension Ultimate Category Excluder, zéro ligne de code.
Pourquoi masquer des articles de la page d’accueil
La raison n’est pas toujours «je ne veux pas montrer ceci». Le plus souvent, c’est une question de structure du site. Imaginez que vous ayez trois catégories: tests de plugins, actualités du secteur et articles invités. Les tests génèrent du trafic via les moteurs de recherche et méritent la première place. Les actualités intéressent les abonnés et ont plus de sens dans un slider que dupliquées dans le fil principal. Les articles invités vivent dans une rubrique «Chroniques d’auteurs» et, sur la page d’accueil, ils ne font que créer du bruit.
Autre scénario: WooCommerce. Un produit n’est plus commercialisé, mais la page avec sa description et ses avis doit rester accessible via un lien direct. Le retirer du catalogue anéantit le poids SEO accumulé. Le masquer de la vitrine tout en conservant l’URL, c’est une autre histoire.
WordPress ne propose pas de case «ne pas afficher sur la page d’accueil» par défaut. Mais le problème est soluble, du plus simple au plus automatisé.
Méthode 1: Visibilité intégrée, article privé
L’option la plus simple. Aucune extension, aucune modification de code. Elle fonctionne quand vous devez retirer un ou deux articles et que leur accès public n’a pas d’importance.

Ouvrez l’article dans l’éditeur. Sur la droite, dans le panneau «Publier», cliquez sur le lien «Visibilité: Public». Sélectionnez Privé. Terminé. L’article disparaît de la page d’accueil, des archives et de la recherche. Le lien direct fonctionne, mais uniquement pour les administrateurs et les éditeurs; les visiteurs classiques reçoivent une erreur 404.
L’inconvénient est évident: le contenu est inaccessible à tout le monde sauf à votre équipe. Pour des brouillons confidentiels et des instructions internes, c’est idéal. Pour du contenu que les clients doivent voir, ça ne l’est pas.
Si vous souhaitez approfondir votre connaissance de l’éditeur WordPress, de la publication de base aux réglages avancés, WordPress.org propose un guide officiel de l’éditeur de blocs.
Méthode 2: L’extension WP Hide Post
Quand le mode privé ne convient pas et que vous avez besoin d’un contrôle sélectif de la visibilité, cette extension couvre pratiquement tous les scénarios.

WP Hide Post est un plugin gratuit développé par Xfinitysoft. Après installation, chaque article, page et produit WooCommerce reçoit une metabox «Post Visibility». Elle contient huit cases à cocher: page d’accueil, catégories, étiquettes, archives par auteur et par date, recherche, RSS, API REST et widgets.
Cochez celles dont vous avez besoin, et l’article disparaît des zones sélectionnées. Le lien direct continue de fonctionner. Aucun code. Aucune modification de template.
Ce que le plugin offre également:
- Avantages: prise en charge native de WooCommerce (masque les produits de la boutique, des pages de catégories et de la recherche interne); masque les fichiers médias et les pièces jointes; une colonne «Hidden» dans l’administration indique exactement où chaque élément est masqué.
- Inconvénients: la version gratuite ne prend pas en charge la modification par lot (un seul article à la fois); pas de redirection des pages masquées vers une 404 (nécessite la version Pro).
- Tarif: gratuit; Pro à partir de 29 $ par an (Quick Edit, Bulk Edit, redirection 404, Hide Everywhere).
Installation en trois étapes: Extensions → Ajouter, recherchez «WP Hide Post», installez et activez. La metabox de visibilité apparaît dans l’éditeur de chaque article immédiatement après l’activation.
🔗 WP Hide Post sur WordPress.org
Méthode 3: publier sous forme de page
Une solution de contournement qui fonctionne avec la plupart des thèmes. Un thème WordPress standard affiche les derniers articles (post type post) sur la page d’accueil. Les pages (post type page) n’entrent pas dans ce flux; elles vivent séparément.
Créez une nouvelle page (Pages → Ajouter), rédigez votre contenu et publiez. Elle n’apparaîtra pas sur la page d’accueil. Elle n’apparaîtra ni dans le flux RSS, ni dans les archives de catégories, ni dans les résultats de recherche, sauf si vous avez configuré la recherche pour inclure les pages séparément.
Cette solution convient lorsque le contenu réside à une URL fixe, dans un menu ou sur une landing page, et que les lecteurs arrivent par un lien direct plutôt que par le flux du blog. Simple et sans plugin. L’inconvénient est que les pages ne participent pas aux taxonomies des articles: vous ne pouvez pas leur attribuer d’étiquette ni les inclure dans une catégorie.
Méthode 4: exclure une catégorie par code
Les méthodes précédentes fonctionnent article par article. Mais si vous devez masquer une catégorie entière (par exemple, «Actualités du secteur» avec 40 articles), cocher manuellement les cases devient un calvaire. Ici, le filtrage au niveau de la requête dans WordPress vient à la rescousse.
Tout d’abord, trouvez l’ID de la catégorie. Allez dans Articles → Catégories, ouvrez celle qui vous intéresse et regardez la barre d’adresse du navigateur: le paramètre tag_ID=55 est l’ID. Notez ce numéro.
Ajoutez maintenant le code suivant dans le fichier functions.php de votre thème actif (de préférence un thème enfant):
1 function exclude_category_from_home($query) { 2 if ( $query->is_home() && $query->is_main_query() ) { 3 $query->set( 'cat', '-55' ); 4 } 5 return $query; 6 } 7 add_filter( 'pre_get_posts', 'exclude_category_from_home' );
Remplacez 55 par l’ID de votre catégorie. Le signe moins devant le numéro signifie «exclure».
Voici ce qui se passe: la fonction vérifie que nous sommes sur la page d’accueil (is_home) et qu’il s’agit de la requête principale (is_main_query), afin de ne pas affecter les widgets de la barre latérale ni les boucles imbriquées. Ensuite, elle ajoute le paramètre cat avec un signe moins, la syntaxe standard de WP_Query pour exclure une catégorie. WordPress ne va même pas chercher les articles de la catégorie exclue dans la base de données; il ne se contente pas de les masquer dans le template. Rapide, propre, sans requête supplémentaire.
Après avoir enregistré le fichier, tous les articles de la catégorie sélectionnée disparaissent de la page d’accueil. Pour les faire réapparaître, supprimez ce bloc de functions.php.
Si vous devez exclure plusieurs catégories, listez les ID séparés par des virgules: 'cat' => '-12,-34,-56'.
Méthode 5: le plugin Ultimate Category Excluder
Pour ceux qui ne souhaitent pas toucher au code, un plugin qui fait exactement la même chose via le panneau d’administration.

Ultimate Category Excluder est un plugin gratuit avec plus de 50 000 installations actives et une note de 4,2 sur WordPress.org. Après activation, allez dans Réglages → Category Exclusion et cochez les catégories que vous souhaitez exclure. Quatre colonnes: Front Page, Archives, Feeds, Search. Minimaliste. Cela suffit pour 90% des besoins.
- Avantages: zéro code; exclusion de quatre zones en un seul clic; fonctionne avec les catégories natives de WordPress.
- Inconvénients: ne fonctionne pas avec les taxonomies WooCommerce ni les types de contenu personnalisés; certains utilisateurs signalent un conflit avec Elementor où le plugin réinitialise le template de page sur «Elementor Canvas» (corrigé en rebasculant sur «Elementor Full Width»).
- Tarif: gratuit.
Le plugin n’a pas été mis à jour depuis décembre 2025, mais il a été testé jusqu’à WordPress 6.9 et reste stable pour le scénario de base qui consiste à exclure une catégorie de la page d’accueil. Si des mises à jour régulières sont critiques pour vous, utilisez la méthode 4 (les mêmes 8 lignes de code sans aucune dépendance externe).
🔗 Ultimate Category Excluder sur WordPress.org
Une courte vidéo sur le sujet (en anglais, mais toutes les actions sont montrées étape par étape):
⁉️🤔 Foire aux questions
Puis-je masquer un article de la page d’accueil tout en le conservant dans la recherche?
Oui. L’extension WP Hide Post vous permet de cocher «Masquer de la page d’accueil» tout en laissant «Masquer des résultats de recherche» décoché. L’article reste accessible via la recherche et par lien direct, mais n’apparaît pas dans le flux de la page d’accueil. La fonction de confidentialité native de WordPress ne permet pas cela: elle masque complètement l’article, y compris dans la recherche et en accès direct. Pour un contrôle plus fin, utilisez l’extension.
Qu’en est-il de l’indexation SEO des articles masqués?
Si un article est masqué via une extension (WP Hide Post ou Ultimate Category Excluder), le lien direct reste fonctionnel. Google peut l’indexer; l’exclusion du flux de la page d’accueil n’a aucun impact sur l’indexation. Les articles privés WordPress ne sont pas indexés: le serveur renvoie une erreur 404 aux visiteurs non authentifiés. C’est le bon choix si le contenu ne doit absolument pas apparaître dans les résultats de recherche.
Puis-je masquer les articles de plusieurs catégories à la fois?
Oui. En code, listez les identifiants séparés par des virgules avec un signe moins:
'cat' => '-12,-34,-56'. Avec Ultimate Category Excluder, cochez simplement toutes les catégories souhaitées sur la page de réglages. Une limite toutefois:pre_get_postsaveccatexclut des catégories, mais ne fonctionne pas avec les taxonomies personnalisées. Pour celles-ci, utilisez le paramètretax_query.
L’extension WP Hide Post ralentit-elle le site?
Non. L’extension utilise sa propre table en base de données, mise en cache; la metabox n’ajoute pas de requêtes à
wp_postmeta. Côté front-end, l’impact sur les performances est négligeable. Selon le développeur (Xfinitysoft), la surcharge est inférieure à 5 ms par page dans une configuration type.
Qu’est-ce qui est préférable pour exclure des catégories: le code ou une extension?
Cela dépend de votre aisance avec PHP. La fonction
pre_get_postsde la méthode 4 représente 8 lignes, sans dépendance externe ni mise à jour à gérer. L’extension Ultimate Category Excluder, c’est zéro ligne de code, mais une extension supplémentaire dans votre administration. En pratique: si vous excluez une ou deux catégories et que vous ne prévoyez pas de modifier souvent les règles, le code est plus simple et plus léger. Si vous avez de nombreuses catégories et que les règles changent fréquemment, l’extension est plus pratique.
Quelle méthode choisir selon votre besoin
Un petit récapitulatif pour ne pas avoir à relire tout l’article lors de votre prochaine visite:
- Un seul article, réservé à l’équipe éditoriale → Visibilité privée (méthode 1). Zéro extension, deux clics.
- Un seul article, que vos clients doivent voir via un lien → WP Hide Post (méthode 2). Aussi flexible que possible, compatible avec WooCommerce.
- Un contenu qui n’est pas destiné au blog, mais à un menu ou une page d’atterrissage → Publiez-le en tant que page (méthode 3). Le thème ne verra pas la différence.
- Une catégorie entière, et vous êtes à l’aise avec PHP →
pre_get_postsdansfunctions.php(méthode 4). Huit lignes, aucune extension. - Une catégorie entière, et vous ne voulez pas toucher au code → Ultimate Category Excluder (méthode 5). Quelques cases à cocher, et c’est réglé.
Si vous masquez et restaurez régulièrement des articles, commencez par WP Hide Post. La version gratuite suffit pour la page d’accueil, les catégories, la recherche et le flux RSS. La version Pro devient utile quand vous avez une centaine d’articles et besoin de modifications par lot.
Configurez-la une fois, puis oubliez-la. WordPress s’occupe du reste.



