Par défaut, Joomla ajoute l'ID de l'article dans les URL des articles et des catégories. Pour des raisons esthétiques, ou pour votre SEO Joomla, il est parfois nécessaire de supprimer ces numéros de vos URL. Certains logiciels de réécriture SEO le font (SH404SEF, Acesef...), mais vous pouvez implémenter vous-même la fonctionnalité dans votre Joomla.
config.xml), et Joomla 2.5 (méthode router.php).Récapitulatif par version
| Version | Méthode | Statut |
|---|---|---|
| Joomla 5 et 4 | Configuration globale (natif) | Recommandé |
| Joomla 3 | Ajout d'un champ dans config.xml |
Fonctionne — J3 en fin de vie |
| Joomla 2.5 et antérieur | Hack du router.php |
Déconseillé sur version récente |
Joomla 5 et Joomla 4 — Méthode native (recommandée)
Depuis Joomla 4, la suppression des ID dans les URL est intégrée nativement dans la Configuration globale, sans toucher au moindre fichier.
Depuis le menu Système, ouvrez Configuration globale (colonne Réglages). Dans la zone Composants, cliquez sur Articles, puis ouvrez l'onglet Intégration.
Passez le paramètre Routage d'URL sur Oui, enregistrez, et vos URL perdent immédiatement leur numéro : /blog/33-mon-article devient /blog/mon-article.
Ce paramètre est également disponible pour les autres composants natifs de Joomla : fiches de contact, fil d'actualités, utilisateurs
Les anciennes URL avec ID sont peut-être référencées. Avant d'activer ce paramètre en production, mettez en place des redirections 301 vers les nouvelles URL — via le Redirect Manager natif de Joomla 4/5, votre
.htaccess, ou SH404SEF. Sans cela, vous risquez des erreurs 404 et une perte de positionnement. Pour les nouveaux sites, aucune précaution particulière n'est nécessaire.Joomla 3 — Méthode via config.xml
Suivez ce tutoriel pour apprendre comment supprimer l'ID de l'article dans les URL de votre site Joomla 3.
Certains tutoriels vous proposent de hacker le fichier router.php pour supprimer l'ID de l'article dans les URL, mais cette solution valide pour Joomla 2.5 est une fausse bonne solution dans Joomla 3 car difficilement désactivable, mais surtout : la fonction existe dans Joomla 3.
Avertissement : cette méthode n'est pas officiellement prise en charge et il peut y avoir des problèmes. À utiliser à vos risques et périls.
Il semblerait que cette fonctionnalité ait effectivement été installée dans Joomla depuis de nombreuses années, mais ne fut jamais réellement activée. La fonction est appelée Advanced SEF. Bien que vous devriez l'utiliser avec précaution, cela devrait bien fonctionner dans la plupart des cas. Finalement, les changements de routage sur lesquels travaillait Hannes Papenberg devaient également rendre cette solution superflue, mais voilà une solution intéressante.
La solution nécessite un petit changement au code, mais contrairement aux autres substitutions du noyau, les mises à jour de Joomla laisseront le mécanisme intact ! Voici comment cela fonctionne. Tout d'abord, allez sur un site où vous avez un problème avec ces URL. Disons que vous avez un article à www.example.com/blog/33-article-avec-id. Rappelez-vous cette URL pour pouvoir vérifier le résultat lorsque vous serez prêt.

Recherchez le fichier suivant dans votre administration Joomla :
administrator\components\com_content\config.xml

Ce fichier contrôle les options disponibles par le bouton Paramètres dans le Gestionnaire d'articles. Ce que nous allons faire, c'est simplement ajouter une nouvelle option, rien d'autre. Ajoutez le code suivant :
<field name="sef_advanced_link" type="radio" default="0" label="Sef Mode avancé" description="Supprimer ItemID de l'URL de contenu?"> <option value="0">JNO</option> <option value="1">JYES</option> </field>
En fait, l'endroit où vous le mettez n'est pas important, tant que vous le placez dans le fieldset. Je l'ai mis juste en face du premier champ, mais vous pouvez le mettre n'importe où si cela a plus de sens pour vous. Si vous allez maintenant dans les paramètres du Gestionnaire d'articles, vous verrez le nouveau champ :

Vous avez maintenant une option supplémentaire pour activer le SEF Mode Avancé.
Gardez à l'esprit que la seule chose que nous avons changée est d'offrir un moyen d'activer Advanced SEF. Lorsque nous l'activons (en le réglant sur Oui), nous activons le code qui est actuellement déjà présent dans le noyau Joomla. Ainsi, même si une mise à jour Joomla efface notre modification du fichier config.xml, la fonctionnalité réelle aura déjà été activée et restera active. Vous perdrez seulement l'option dans les paramètres de l'article, mais ce n'est pas franchement un problème.
Si vous vérifiez maintenant votre URL, vous verrez qu'elle est désormais disponible sans numéro : www.example.com/blog/article-avec-id.
Vous pouvez toujours trouver que l'URL avec l'ID est encore accessible si vous la tapez directement, mais l'URL canonique se réfèrera à l'URL sans l'ID — ce n'est donc pas un problème pour le SEO.
![]()
Il semblerait que cela puisse être une solution simple et agréable pour se débarrasser des URL avec ID. Rappelez-vous que dans de prochaines versions de Joomla, il pourrait y avoir des mises à jour du routeur qui rendent cette solution superflue. Assurez-vous de tester si la solution fonctionne vraiment pour vous. La meilleure utilisation est probablement pour de nouveaux sites. Pour les sites existants, c'est moins conseillé, même si les URL canoniques pointent vers l'URL correcte de toute manière.
Note : Joomla 3 n'est plus maintenu depuis août 2023. Si vous utilisez encore cette version, une migration vers Joomla 5 est fortement conseillée pour des raisons de sécurité.
Joomla 2.5 — Méthode router.php
Sur les versions Joomla 2.5 et antérieures, la modification directe du fichier router.php de com_content était la méthode disponible pour supprimer les ID des URL. Elle peut encore servir à quelqu'un qui maintient un très ancien site, mais gardez bien en tête ses limites :
- Le fichier est écrasé à chaque mise à jour de Joomla.
- La désactivation est difficile et manuelle.
- Elle ne doit surtout pas être utilisée sur Joomla 3 ou supérieur, où la méthode native décrite ci-dessus est disponible.
Pour ceux que cela intéresse, voici les références techniques de l'époque :

