
⚙️ Comment supprimer la catégorie de l'URL WordPress : toutes les méthodes qui fonctionnent
Les adresses URL dans WordPress ressemblent par défaut à ceci: /category/plugins/ ou /category/news/ ou /category/wordpress/. Le mot «category» n’apporte aucune information utile aux utilisateurs ni aux moteurs de recherche. C’est un vestige qui ne fait qu’allonger l’adresse et diluer la structure du site.
Le problème, c’est que WordPress ne propose pas de simple interrupteur pour supprimer ce préfixe via les réglages standards. La plupart des propriétaires de sites se résignent à garder /category/ ou installent le premier plugin venu sans en mesurer les conséquences. Et il peut y en avoir: liens cassés, erreurs 404 sur les anciennes adresses, doublons dans l’index.
Voici un tour d’horizon détaillé de toutes les méthodes qui fonctionnent pour supprimer /category/ des URL WordPress: de l’approche native la plus simple à l’ajout de code dans functions.php. Chaque méthode a été testée sur des versions récentes de WordPress, avec l’explication des limites et des pièges potentiels.
💡 Aperçu rapide:
- Mécanisme natif de permaliens: une astuce simple avec un point via les réglages, sans plugin
- Plugin Remove Category URL: la solution en un clic la plus facile pour ceux qui ne veulent pas fouiller dans les réglages
- Yoast SEO ou Rank Math: si vous avez déjà un plugin SEO installé, il peut gérer la suppression de la base de catégorie
- .htaccess: une option pour ceux qui préfèrent un contrôle manuel au niveau du serveur
- Code dans functions.php: une méthode programmatique sans plugin, avec un contrôle total sur la logique de remplacement
1. Réglages natifs des permaliens
C’est la méthode la plus simple, qui ne nécessite l’installation d’aucun plugin. Elle utilise le mécanisme standard des «Permaliens» de WordPress.
Rendez-vous dans l’administration, ouvrez Réglages → Permaliens. Dans le bloc «Réglages courants», sélectionnez l’option «Structure personnalisée».
Dans le champ à droite, saisissez la structure suivante:
1 /%category%/%postname%/
Voici maintenant le point clé. Descendez jusqu’au champ «Base des catégories» et saisissez un point, le symbole . (sans les guillemets). C’est une astuce peu conventionnelle mais qui fonctionne: WordPress interprète le point comme une base vide et cesse d’insérer /category/ dans les URL de catégories.

Cliquez sur «Enregistrer les modifications». Voilà, vos URL de catégories ressemblent maintenant à site.com/wordpress/ au lieu de site.com/category/wordpress/.
⚠️ Remarque importante: ne laissez pas le champ «Base des catégories» vide. S’il n’y a rien, WordPress revient à la base standard /category/. C’est pourquoi nous utilisons un point: une chaîne vide ne fonctionne pas, mais un point, oui.
Cette méthode convient à la plupart des sites, mais elle présente un inconvénient: le point dans le champ de la base est une astuce qui peut cesser de fonctionner lors d’une mise à jour de WordPress ou si vous modifiez la structure des permaliens puis revenez en arrière. Si vous souhaitez une solution plus fiable, examinez les méthodes suivantes.
2. Plugin Remove Category URL
Remove Category URL est un plugin minimaliste qui fait exactement une chose: supprimer /category/ des URL. Pas de réglages, pas de menu supplémentaire dans l’administration.

Après l’installation, le plugin se met au travail immédiatement. Aucune étape supplémentaire: téléchargez, activez, vérifiez l’URL de la catégorie, et /category/ a disparu.

Pourquoi ce plugin plutôt que des dizaines d’alternatives? Il ne pèse presque rien, n’ajoute pas de bannières publicitaires dans l’administration et est compatible avec WPML et WordPress Multisite. Lorsque vous désactivez le plugin, les URL retrouvent automatiquement la structure standard avec /category/; le plugin n’altère pas les permaliens de façon permanente.
Pour ceux qui ont besoin de travailler avec des catégories parentes en plus de supprimer le préfixe de catégorie, il existe une alternative: FV Top Level Categories. Elle vous permet d’afficher des catégories de n’importe quel niveau d’imbrication comme racine dans l’URL, sans /category/ et sans les slugs parents.
🔗 Remove Category URL sur WordPress.org
3. Extensions SEO: Yoast SEO et Rank Math
Si Yoast SEO ou Rank Math est déjà installé sur votre site, vous n’avez pas besoin d’une extension supplémentaire pour supprimer /category/. Ces deux poids lourds du SEO disposent d’une fonction intégrée pour retirer la base des catégories.
Dans Yoast SEO:
- Dans le menu WordPress, cliquez sur Yoast SEO
- Allez dans l’onglet Avancé
- Ouvrez la section Permaliens
- Activez l’option «Supprimer le préfixe des catégories»
- Enregistrez les modifications
Dans Rank Math:
- Dans le panneau d’administration, allez dans Rank Math → Réglages généraux
- Ouvrez l’onglet WooCommerce (oui, c’est là, pas dans Permaliens)
- Trouvez l’option «Supprimer la base des catégories» et activez-la
Les deux extensions font la même chose que Remove Category URL, mais via leur propre mécanisme interne. Avantage: pas d’extension supplémentaire nécessaire. Inconvénient: si vous passez à une autre extension SEO, la base des catégories peut réapparaître et vous devrez la reconfigurer.

D’ailleurs, si vous hésitez encore entre Yoast et Rank Math, voici notre comparatif détaillé qui vous aidera à trancher.
4. Modification manuelle du.htaccess
Une méthode pour ceux qui préfèrent le contrôle au niveau du serveur. La suppression de /category/ via le.htaccess fonctionne grâce à une règle mod_rewrite qui redirige de manière transparente toutes les URL de catégories vers des adresses sans le préfixe.
Vous aurez besoin d’accéder au fichier .htaccess à la racine du site, via FTP, le gestionnaire de fichiers de votre hébergement ou cPanel. Ouvrez le fichier et ajoutez la ligne suivante avant le bloc # BEGIN WordPress:
1 RewriteRule ^category/(.+)$ http://www.site.com/$1 [R=301,L]

Remplacez www.site.com par votre domaine réel. La règle crée une redirection 301 de toutes les URL commençant par /category/ vers des adresses sans ce préfixe.
⚠️ Attention: cette méthode ne fonctionne que sur les serveurs Apache. Sur Nginx, vous aurez besoin d’une ligne équivalente dans la configuration:
1 rewrite ^/category/(.+)$ /$1 permanent;
Avant toute modification, assurez-vous de sauvegarder votre fichier .htaccess. Une simple erreur de syntaxe dans ce fichier entraînera une erreur 500 sur l’ensemble du site.
Si votre site fonctionne sous Nginx, l’équivalent direct de la règle ci-dessus est tout aussi simple, mais il s’ajoute dans la configuration du bloc serveur, et non dans un fichier .htaccess. Après avoir ajouté la règle, rechargez Nginx avec la commande nginx -s reload. Contrairement à Apache, Nginx ne lit pas les fichiers .htaccess: une erreur de syntaxe dans la configuration principale fait également tomber le site, mais de manière moins irréversible: Nginx refuse simplement de démarrer après le rechargement, ce qui laisse le processus précédent actif. Testez la configuration avec la commande nginx -t avant de l’appliquer.
5. Code dans functions.php
Une méthode programmatique pour ceux qui souhaitent supprimer /category/ sans extension et sans modifier la configuration du serveur. Le code s’ajoute une seule fois dans le fichier functions.php du thème actif et fonctionne via un filtre standard de WordPress.
Avant d’ajouter le code, vérifiez que le champ « Base des catégories » dans les réglages des permaliens n’est pas vide et ne contient pas de point; il doit être standard (category). Le filtre recherche le mot « category » dans l’URL et, s’il ne le trouve pas, la méthode ne fonctionnera pas.
Ouvrez Apparence → Éditeur de fichiers du thème, sélectionnez functions.php et ajoutez ce code avant la balise de fermeture ?> (s’il n’y a pas de balise, ajoutez-le simplement à la fin du fichier):
1 function remove_category_from_url($string, $type) { 2 if ($type !== 'single' && $type === 'category' && strpos($string, 'category') !== false) { 3 $url_without_category = str_replace('/category/', '/', $string); 4 return trailingslashit($url_without_category); 5 } 6 return $string; 7 } 8 add_filter('user_trailingslashit', 'remove_category_from_url', 100, 2);
Comment cela fonctionne:
- Le filtre
user_trailingslashitest appelé chaque fois que WordPress génère une URL de catégorie - La fonction vérifie qu’il s’agit bien d’une catégorie (pas un article, pas une étiquette) et que l’URL contient
/category/ - Si les deux conditions sont remplies,
/category/est supprimé et le slash final est conservé grâce àtrailingslashit()
Après avoir ajouté le code, allez dans Réglages → Permaliens et cliquez simplement sur « Enregistrer »; cela vide le cache des permaliens et applique la nouvelle règle.
Cette méthode est la plus flexible: vous gardez le contrôle total sur la logique de remplacement et pouvez ajouter des exceptions pour certaines catégories ou adapter le code à une structure d’URL non standard.

Si vous préférez voir la manipulation en action, voici un court tutoriel vidéo en anglais: installer l’extension Remove Category URL et vérifier le résultat en deux minutes.
⁉️🤔 Foire aux questions
Les catégories vont-elles disparaître du site après avoir supprimé /category/ des URL?
Non. Les catégories restent pleinement fonctionnelles: les archives de catégories fonctionnent, les articles s’y affichent et la taxonomie demeure intacte. Seule l’adresse dans le navigateur change. Il s’agit d’une modification purement cosmétique de la structure des permaliens; WordPress continue de reconnaître les catégories par leur ID interne, pas par le préfixe d’URL.
Dois-je mettre en place des redirections 301 après avoir modifié les URL?
Oui, absolument. Après avoir supprimé
/category/, les anciennes adresses contenant/category/deviennent inaccessibles. Si des liens externes pointaient vers elles ou si elles sont déjà indexées par les moteurs de recherche, vous obtiendrez des erreurs 404. La méthode via.htaccess (méthode 4) ajoute automatiquement une redirection 301. Si vous utilisez des extensions ou du code dans functions.php, assurez-vous que WordPress redirige correctement les anciennes URL; cela se fait généralement automatiquement, mais il est prudent de vérifier quelques anciennes adresses après les modifications.
Que faire si certaines URL contiennent encore /category/ après les modifications?
Il s’agit très probablement d’un problème de cache. Videz le cache des permaliens: allez dans Réglages → Permaliens et cliquez simplement sur «Enregistrer» sans rien modifier. Si vous utilisez une extension de cache (WP Rocket, W3 Total Cache), videz son cache. Au niveau du serveur, assurez-vous que les règles mod_rewrite dans.htaccess n’entrent pas en conflit avec les nouveaux paramètres.
La suppression de /category/ affecte-t-elle le SEO?
Oui, mais uniquement de manière positive si c’est fait correctement. Les URL plus courtes obtiennent davantage de clics dans les résultats de recherche, sont plus faciles à lire et sont indexées plus rapidement. Une étude de Backlinko montre que les URL plus courtes sont corrélées à de meilleurs classements. L’essentiel est de ne pas oublier les redirections 301 depuis les anciennes adresses pour ne pas perdre le PageRank accumulé.
Quelle méthode choisir pour WooCommerce?
Pour les boutiques en ligne sous WooCommerce, les meilleures options sont soit l’extension Remove Category URL (elle gère correctement les catégories de produits), soit la fonction intégrée de Rank Math (Supprimer la base des catégories). Ces deux méthodes n’entrent pas en conflit avec les points de terminaison WooCommerce comme
/product-category/. La méthode du point dans le champ «Base des catégories» fonctionne également pour WooCommerce, mais testez-la d’abord sur un environnement de staging; certaines versions de WooCommerce sont sensibles aux valeurs non standard dans ce champ.
Ces méthodes fonctionnent-elles sur WordPress Multisite?
Partiellement. L’extension Remove Category URL se revendique compatible avec Multisite, mais en pratique, lorsqu’elle est activée au niveau du réseau, elle ne traite que le site principal; pour les sites enfants, vous devez l’activer individuellement. La méthode du point dans le champ «Base des catégories» fonctionne sur chaque site du réseau séparément; les paramètres ne sont pas hérités. Le code functions.php pour Multisite nécessite une vérification supplémentaire
is_multisite()et devrait idéalement être déplacé dans un MU-plugin pour ne pas être lié au thème. L’édition manuelle du.htaccess sur Multisite est la moins souhaitable: la structure d’URL du réseau est plus complexe et une erreur dans RewriteRule casse tous les sites en même temps.
Quelle méthode pour supprimer /category/ est faite pour vous?
Chacune des cinq méthodes a son propre cas d’usage. Voici une matrice de choix rapide:
- Vous ne voulez pas installer d’extensions supplémentaires: méthode 1 (le point dans le champ de base). Prend 30 secondes, n’ajoute aucun code au site.
- Vous voulez un effort minimal: méthode 2 (Remove Category URL). Installez et oubliez.
- Vous utilisez déjà Yoast ou Rank Math sur votre site: méthode 3. Utilisez ce qui fonctionne déjà.
- Vous préférez le contrôle au niveau du serveur: méthode 4 (.htaccess). Mais pensez à faire une sauvegarde.
- Vous êtes développeur et avez besoin de flexibilité: méthode 5 (code dans functions.php). Ajoutez la logique dont vous avez spécifiquement besoin.
Pour la plupart des utilisateurs, la méthode 2 (Remove Category URL) est optimale: elle est simple, ne nécessite pas de connaissances techniques et ne casse pas le site lorsqu’elle est désactivée. Si vous utilisez déjà Yoast SEO, activez l’option correspondante; n’installez pas d’extensions inutiles.
Essayez la méthode qui correspond le mieux à votre façon de travailler et vérifiez le résultat sur deux ou trois URL de catégories. Si tout fonctionne, vous avez fait le bon choix.
Après avoir effectué les modifications, il est utile de faire passer votre site dans un crawler SEO (Screaming Frog, Sitebulb ou Netpeak Spider): il vous montrera si des erreurs 404 sont apparues sur les pages de catégories et si les redirections 301 depuis les anciennes URL fonctionnent correctement. Vérifiez également votre sitemap XML séparément: après avoir modifié la structure des permaliens, il devrait se mettre à jour automatiquement, mais il arrive qu’il soit généré à partir d’une version en cache. Dans Yoast SEO, cliquez simplement sur «Enregistrer» dans les paramètres du sitemap; pour Rank Math, le bouton «Rafraîchir le sitemap» se trouve dans la section Réglages du sitemap. Cela prend une minute, mais vous protège des situations où Google reçoit un sitemap avec d’anciennes URL.



