https://www.facebook.com/tr?ev=6029847359740&cd[value]=0.01&cd[currency]=EUR&noscript=1

Note de l'utilisateur: 4 / 5

Donnez une note !
4 sur 5 - 4 votes
Merci d'avoir noté cet article.

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 (SH404, Acesef...), mais vous pouvez implémenter vous-même la fonctionnalité dans votre Joomla.

Suivez ce tutoriel pour apprendre comment supprimer l'ID de l'article dans les URL de votre site Joomla3.

 

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 Joomla3 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 travaille Hannes Papenberg devraient également rendre cette solution superflue, mais jusque là voila 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.1 supprimer id joomla

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

2 supprimer id joomla

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. Alors, 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 ou vous le mettez n'est pas important, tant que vous le mettez dans le fieldset. Je l'ai mis juste en face du premier champ, mais vous pouvez le mettre n'importe où vous voulez si cela a plus de sens pour vous. Si vous allez maintenant dans les paramêtres dans le Gestionnaire d'articles, vous verrez le nouveau champ là:

3 supprimer id joomla

Vous voyez que vous avez maintenant une option supplémentaire pour activer SEF Mode Avancé.
Gardez à l'esprit que la seule chose que nous avons changé 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 mise à jour du fichier config.xml, la fonctionnalité réelle aura déjà été activée et elle restera active.
Vous perdrez seulement l'option dans les options de l'article, mais ce n'est pas franchement un problème.

Si vous vérifiez maintenant votre URL avec l'ID dans la base de données vous verrez qu'il est maintenant disponible sans numéros comme www.example.com/blog/article-avec-id.
Vous pouvez toujours trouver que l'URL avec l'ID est toujours disponible si vous la tapez, mais l'URL canonique se réfèrera à l'URL sans l'ID, ce n'est donc pas un problème de toute façon.

4 supprimer id joomla

Donc, 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 Joomla qui rendent cette solution superflue, et 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.

Pour ceux que cela ntéresse, voici quelques liens avec plus d’informations sur la fonctionnalité :

Commentaires   
0 #11 frederique croqueloi 02-12-2018 15:09
Merci zéro cool mais dans mon fichier router.php il n'y a pas les lignes indiquées.
Si je fais une recherche sur le mot clef advanced je trouve seulement ça :
if ($params->get('sef_advanced', 1))
Citer | Signaler à l’administrateur
0 #10 Zer00CooL 28-11-2018 19:48
D'après le conseil proposé par Serge, l'option devrait être intégrée à K2.
Le lien en Français suivant remontre une capture de l'interface de K2 qui semble bien fonctionnelle : joomlaworks.net/.../...

K2 doit avoir un support, si les options ne fonctionnent pas, il faut remonter le bogue : www.joomlaworks.net/forum

J'ai cherché encore un peu, pour voir si je te trouve une information complémentaire, voilà un patch qui pourrait peut être fonctionner :

Modifier le fichier suivant :
components/com_content/router.php

Remplacer :
$advanced = $params->get('sef_advanced_link', 0);

Par :
$advanced = $params->get('sef_advanced_link', 1);

Malgré tout, ma proposition ne semble pas fonctionne, d'après ce message : forum.joomla.org/viewtopic.php?t=888564
Citer | Signaler à l’administrateur
0 #9 Zer00CooL 28-11-2018 19:40
D'après ce lien, la personne dit qu'elle n'arrive pas a supprimer les ID de ses articles Joomla, et, suppose un conflit avec k2.

Puisque la solution de cette page, avec le fichier que je t'ai partagé, ne semble pas convenir, a tu bien fait en sorte de ne pas laisser mon fichier, lorsque tu as fais tes tests, de ton côté, avec k2 ?

Qui sait, il y a peut être effectivement un conflit, ce message n'ayant pas été résolu, je ne sais pas t'en dire plus, je n'utilise pas k2.

aide-joomla.fr/.../...
Citer | Signaler à l’administrateur
0 #8 frederique croqueloi 28-11-2018 16:41
Merci, j'ai trouvé l'option dans K2 et mais malheureusement ça ne fonctionne pas, l'ID reste dans l'URL :

Activer les URL SEF avancées pour K2 : oui
Utiliser l'ID de la catégorie dans les URL:non
Utiliser les ID des éléments dans l'URL : non

J'ai la dernière version de K2.
(soupir)

Merci quand même pour l'aide apportée.
Citer | Signaler à l’administrateur
0 #7 Serge Billon 25-11-2018 16:07
va dans les options de k2 , il y a un réglage appelé Advanced SEF Settings
(en anglais , j'ai eu la flemme de traduire l'exemple que je viens de me faire car je n'utilise jamais k2!)
tu l'actives et choisis comment tu veux tes urls.
et la prochaine fois utilises flexicontent ;)
Citer | Signaler à l’administrateur
0 #6 frederique croqueloi 25-11-2018 14:35
Bonjour,
Merci à tous deux pour vos solutions. C'est très gentil.

En fait les URL comportant des ID dans mon site sont uniquement associées au module K2 et l'astuce communiquée n'a pas l'air d'avoir d'effet sur les articles K2.

Y-a-t-il une autre manip à réaliser pour cacher les ID dans les URL des articles K2 ?
Citer | Signaler à l’administrateur
+1 #5 Zer00CooL 22-11-2018 13:25
Noter que dans le fichier de configuration que j'ai partagé, je l'ai fais à la va vite, en mettant le code proposé par Serge à la fin du fichier.

De ce fait, vous ne trouverez pas l'option dans le premier onglet dans Article, mais, dans le dernier onglet, juste avant l'onglet "Droits".

A vous d'adapter l'emplacement de ce bout de code, si vous le voulez dans un autre onglet, mais, l'option reste déjà fonctionnelle avec mon exemple.
Citer | Signaler à l’administrateur
+1 #4 Serge Billon 22-11-2018 06:38
Citation en provenance du commentaire précédent de frederique croqueloi :
Bonjour,
Merci pour cette astuce très utile mais je ne trouve pas de fichier config.xml dans le répertoire indiqué (administrator\components\com_content\config.xml)
Y a-t-il un moyen de le générer ou de faire autrement svp ? Mon site est sous joomla 3.8.11.

Merci à vous.


Bonjour,
Essaye d'installer celui proposé par ZeerOOCool.
mais normalement, le fichier devrait être existant.
Citer | Signaler à l’administrateur
+1 #3 Zer00CooL 21-11-2018 23:47
Voilà le miens. J'ai ajouté le code souhaité tout en bas, en mettant un commentaire "ICI" que tu peux supprimer. Je suis aussi sur Joomla 3.8, peut être 3.9, mais, ça fonctionne.

pastebin.com/bkB6PH55
Citer | Signaler à l’administrateur
0 #2 frederique croqueloi 21-11-2018 22:17
Bonjour,
Merci pour cette astuce très utile mais je ne trouve pas de fichier config.xml dans le répertoire indiqué (administrator\components\com_content\config.xml)
Y a-t-il un moyen de le générer ou de faire autrement svp ? Mon site est sous joomla 3.8.11.

Merci à vous.
Citer | Signaler à l’administrateur
Ajouter un Commentaire