Tout savoir sur WordPress
Tutoriel WordPress

Supprimer le préfixe “category” des structures URL des catégories

L’astuce suivante permet de supprimer le préfixe “category” des URL de vos catégories. Ce préfixe est automatiquement ajouté par WordPress.

Si vous avez modifié la structure des permaliens de WordPress, les adresses URL de vos catégories sont de ce type : http://mon-site.com/category/slug-de-votre-categorie.

Comment faire si vous souhaitez mettre en place des urls “http://mon-site.com/slug-de-votre-categorie” sans le “category” ?

A partir de l’administration, dans le menu “Réglages” puis “Permaliens”, WordPress permet de modifier le préfixe avec le champ “Préfixe des catégories”. Il est ainsi possible de remplacer “category” par n’importe quel mot.

Par exemple, si vous inscrivez la lettre “c” et que vous sauvegardez vos modifications, la structure URL des catégories sera “http://mon-site.com/c/slug-de-votre-categorie”. Malheureusement, ce n’est pas encore le résultat escompté !

L’astuce pour supprimer définitivement le préfixe est de mettre “.” dans le champ “Préfixe des catégories” (voir l’image ci-dessous).

Avec cette configuration, la structure URL de vos catégories sera “http://mon-site.com/slug-de-votre-categorie” et le référencement naturel sera plus optimal.

Cet article a été mis à jour il y a 4538 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

69 Commentaires

  1. Excellente astuce, merci beaucoup. Je suppose que la même astuce peut être utilisée pour les mots-clef ?

    • Je n’ai pas testé, mais je suppose que oui.

      Cependant, attention à ne pas avoir un tag qui soit aussi une catégorie, il y aurait un conflit !

  2. Si on a déjà écrit des articles et qu’on a attribué des catégories, l’application de l’astuce fait que wordpress ne semble pas retrouver les articles.

    • En fait, l’astuce marche bien.
      Mais avec mon thème qui affiche les catégories en bas de l’article, il semble que c’est incompatible…Il faut que je creuse le code de mon thème pour pouvoir appliquer l’astuce…

    • J’ai le même problème, wordpress ne retrouve pas mes pages de catégories hélas. Que signifie “liens en dur” ? le lien est modifié tout seul en effet, mais renvoie vers “la page que vous cherchez n’existe pas”

  3. Salut !
    Sympa l’astuce, très sympa le site en général. Le préfixe catégorie disparaît bien. J’ai tout de même un souci. Ce nouveau permalien me renvoie une erreur 404… Rien de trouvé etc…
    Penses-tu que cela puisse venir du problème soulevé à la fin de ce post (#Permalink Conflicts) :
    http://shibashake.com/wordpress-theme/custom-post-type-permalinks-part-2 ??
    Un souci assez barbant d’ailleurs qui pose pas mal de souci pour avoir des URLs bien claires…
    Merci !

  4. Ouah ! J’ai trouvé une étrange(?) solution à mon problème en modifiant la structure personnalisée de mes permaliens et en appliquant ton astuce :
    /%category%/%category%/%postname%/
    J’ai en effet 2 niveaux de hiérarchie dans mes catégories…
    Si quelqu’un a un explication sur si phénomène je veux bien :)
    En tout cas c’est une solution.. A voir comment ça se comporte avec des + de hiérarchie ou l’utilisation des taxonomies par exemple.

    • Yes ! Je te confirme qu’avec un seul niveau de hierarchie cela fonctionne. J’ai des pages d’archive à tous les niveaux. Même chose je testerai bientôt sur un site avec plusieurs post-type et taxonomie, je ferai un retour. En tout cas merci pour ça c’est nickel !

    • Parfait !

      En effet, n’hésite pas à faire un retour avec l’utilisation d’un custom post type :)

  5. oui mais il n’y a pas de redirection 301 de l’ancienne URL vers la nouvelle donc ça sert à rien à part si on part de 0

  6. Salut,
    J’ai testé l’astuce et cela fonctionne bien avec un WP classique, cependant avec un WPMU cela pose le problème de l’erreur 404 que certains semblent aussi avoir rencontré.
    Bon j’ai pas encore testé le plugin indiqué dans les commentaires, j’en ai déjà pas mal d’actifs et j’ai pas envie de surcharger la bête…
    En tout cas merci pour ces infos.

  7. Marche très bien pour du WordPress classique, mais je confirme que pour du multisites ça pose problème, j’ai été obliger de passer par des redirections dans le .htaccess …

  8. Ayant aussi connu quelques problèmes, je confirme ce qui à déjà été écrit, l’utilisation de : WP No Category Base – WPML compatible règle le problème et ne demande aucun réglage

  9. Tout d’abord, est-ce que la loop a bien été configurée avec le “paged” pour récupérer le numéro de la page courante ?

  10. un grand merci ;) c’est tu comment on peu ajouter un .html a la fin du nom de nos commentaire car le permalien ne me le fait que pour mes articles :s merci :)

  11. @Macko : Les commentaires sont présents dans un article, je ne comprends pas la demande :/

  12. j’ai bien utilisé l’astuce de mettre le “.” dans “category” avec une structure de permalien => /%category%/%category%/%postname%.
    Mes urls sont donc “propres” pour les catégories sauf que pour les posts, ils se trouvent dans des urls du type monsite/category/sous-catégorie/categorie/sous-categorie/post.
    Quelqu’un à une solution pour avoir mes posts avec une url sans redondance de la catégorie et sous catégorie ?

  13. c’est pour garder le même url que mon vieux site, mais sur wordpress quand je mets un rewrireparmanant dans mon htaccess, wp ne l’accepte pas et me renvoi le htaccess d’origine. wp_rewrite est pas encore a mon level :s donc si tu sais pk wp refuse mon htaccess tu m’évite une nuit blanche :p

  14. @Laurent : le prefix des catégories n’a rien à voir avec le permalien d’article ;)

    /%postname% suffira pour mettre uniquement le slug de l’article.

    @Macko : pour ajouter un .html, ça devient un peu plus compliqué ^^ Mais pourquoi vouloir ajouter .html ? L’extension du fichier dans une adresse url n’est pas obligatoire.

  15. merci pour ces retours.
    je ne me suis peut etre pas fait comprendre : j’ai en effet 2 niveaux de hiérarchie pour mes catégories et je souhaite supprimer le préfixe de la catégorie. J’ai donc utiliser l’astuce de @Erasmussen qui fonctionne bien pour ce type de structure et me fournit des urls “propres” pour mes catégories et sous catégories Cela implique donc que j’ai modifié le prefixe des catégories (=”.”) et le permalien (/%category%/%category%/%postname%). Mais cela me pose le problème pour les urls des articles comme expliqué dans mon précédent post.

  16. @Macko : Dans le fichier .htaccess, il ne faut rien insérer entre # BEGIN WORDPRESS et END WORDPRESS, sinon ça sera effectivement écrasé ;)

    @Laurent : il faut mettre que %postname% ;)

  17. Merci Jonathan, ça ma résolu bcp de problème, reste à supprimer le ‘category’ des sitemaps et tout va bien pour moi.

  18. punaize je suis tombé sur ton article en cherchant justement à supprimer le category de mon url de l’un de mes blog. Nikel ça marche super !! Merci à toi ô Geekpress tu gères !!

  19. Merci pour cette astuce ô combien utile ! ça nous a évité d’installer des plugins de permalinks. Encore merci.

  20. Ca marche bien pour enlever le /category/ des liens de mon wordpress mais quand on clique sur le lien, ca me fait une erreur 404. suis-je le seul ?

  21. Ouch, comme pas mal de gens plus haut, j’ai eu un petit soucis d’erreur 404 généralisée sur toutes les catégories, avec des bugs bizarres (non affichage des titres par exemple). Ca a suffit pour me fair eune petit frayeur vu que je n’avais pas sauvegardé. Heureusement, ça revient ensuite, et le plugin que vous donnez WP no category base marche du tonnerre. Par contre, j’ai opté pour la version “WPML Compatible” du fait des commentaires laissés plus haut sur le possible lien entre le multi-site et ce bug 404.. Peut-être que je me trompe complètement.. alors, quelle est la réelle différence entre ces deux plugins ?

  22. @ Epicture: Je ne connais pas du tout le plugin WPML Compatible. Donc je ne suis pas la bonne personne pour vous dire la différence et quel est le meilleur.

  23. En fait, le nom entier du plugin est “WP no catgory base WPML Compatible”, donc il semble que ce soit plutot une variante qu’un plugin complètement différent. Ce n’est pas trop grave de toute façon, j’ai pu faire la même chose avec All in one SEO. Merci en tous cas pour la réponse!

  24. Merci super astuce. Par contre en l’utilisant je n’arrivais plus à rattacher mes articles aux catégories. Je suis donc allé plus loin dans les commentaires et vu qu’il existait un plugin. Ça fonctionne nickel. Merci

  25. Bonjour !
    Je l’ai teste mais toutes mes pages ont une erreur 404 quand je clique sur l’une des categories ! est-ce normal ! j’ai ajoute comme vous avez dit le . dans les permaliens mais impossible ‘avoir un affichage !

  26. L’astuce n’a pas marché pour moi non plus et j’ai voulu un plugin testé sur la dernière version donc j’ai pris Remove Category URL et il supprimer complètement le category.

  27. Un grand merci pour l’astuce ! Tant qu’on y est. Tu connais pas un plugin qui permet de gérer les silos SEO correctement via du maillage interne dans le menu ?

  28. Merci pour l’astuce du “.” dans les permaliens, je cherchais à enlever ce prefixe depuis 2 jours. C’est très bien expliqué et simple à comprendre !

  29. bonjour,
    J’ai fait la manipulation.
    J’ai maintenant une erreur 404 dans la catégorie…
    Savez vous d’ou cela vient ?
    Merci
    JL

  30. Bonjour moi ce que je cherche à supprimer c’est me mot “Catégorie” directement en apparence sur mon site
    thème chooko lite.
    Là il apparait en permanence je ne trouve pas cela très beau.
    Est il possible de le faire disparaître j’ai essayé dans l’éditeur de thèmes dans function.php et Style mais cela ne part pas

    Avez vous une astuce ou savez vous ou je peux trouver ces lignes de code pas pour les archives mais pour l’affichage du site en permanence.

    • Ca ca va dépendre de chaque thème malheureusement !

      Une piste : utilise Loco Translate (le plugin) pour accéder à la traduction de ton thème, trouve “Catégorie” et remplace le par rien “”, ça pourrait marcher

  31. L’article date de 2011, mais l’astuce est toujours valable. Merci ! Par contre, après réflexion, j’ai préféré le faire avec Yoast SEO, qui propose depuis ses nouvelles mises à jour je pense, cette possibilité de supprimer la category. Il faut aller à AVANCE, onglet PERMALIENS et activer le bouton supprimer à la ligne category. C’est tout ;-)

    Sinon, il faut attendre une petite minute, pour que la modification soit prise en compte. Sinon, 404 !

    Merci !