
Comment gérer les adresses URL dans Drupal. Aperçu du module Pathauto
Un bon CMS peut se reconnaître à la manière dont il gère les adresses URL des sous-pages individuelles. Le lien pratique attire les utilisateurs des moteurs de recherche et a un impact significatif sur le SEO. Dans cet article, je vais vous présenter le module Pathauto de Drupal, qui est utilisé pour automatiser la création d'alias de page.
Avec ce module, vous pouvez facilement configurer des alias efficaces et sans maintenance pour votre contenu, y compris les termes de taxonomie et les pages utilisateur.
Dates
La première version de Pathauto a été publiée en février 2006 en tant que module complémentaire de Drupal 4. La version stable 1.0 a été publiée pour Drupal 5 en 2007. Le code actuel de ce module de la branche 8.x-1.x est le résultat d'une longue évolution impliquant de nombreux membres de la communauté Drupal.org.
Popularité
Les chiffres des statistiques officielles parlent d'eux-mêmes – le module Pathauto est utilisé par plus de 640 000 pages. Et 32% de celles-ci sont construites sur Drupal 8 et 9. Nous avons ici affaire à un élément essentiel, installé dès l'étape de création de nouveaux projets.
Créateurs du module
Le module est actuellement maintenu par quatre développeurs:
- Sascha Grossenbacher - Développeur principal chez MD Systems,
- Dave Reid - Développeur senior chez Lullabot,
- Greg Knaddison - de Morris Animal Foundation,
- Frederik Sandberg Olesen.
Depuis les débuts du module Pathauto, plus de 100 personnes ont participé à son développement, créant un total de près de 1 600 commits. La formidable contribution de la communauté est illustrée par plus de 3 000 tâches et bugs signalés sur Drupal.org. Malheureusement, beaucoup d'entre eux restent non résolus.
Objectif du module
Avec Drupal nu, vous pouvez créer des alias URL pour des sous-pages individuelles, mais vous devez le faire manuellement. Si vous ne remplissez pas le champ avec l'alias, le nouveau contenu aura des adresses standards et peu pratiques comme /node/123 ou /taxonomy/term/456.
Le module Pathauto automatise l'ajout d'alias en les générant selon le modèle avec les jetons que vous avez spécifiés. Par exemple, les pages statiques peuvent avoir une adresse dérivée du titre (/foo-bar), et les termes de taxonomie peuvent contenir un nom de vocabulaire (/vocabulary-name/foo-bar).
Déballage
Vous pouvez télécharger le module depuis Drupal.org ou rejoindre le projet en exécutant la commande suivante:
composer require drupal/pathauto
Après avoir lancé Pathauto, accédez à ses paramètres en sélectionnant Configuration → Recherche et Méta-données → Alias d'URL → Modèles.
Utilisation du module
Pathauto offre un large éventail de paramètres pour les méthodes de génération d'alias. Il vous permet également de réaliser des opérations de masse sur le contenu existant. Je décrirai brièvement ci-dessous les options les plus importantes disponibles.
Modèles d'adresses URL
La fonctionnalité de base du module Pathauto est la création de modèles d'adresses URL, c'est-à-dire des chaînes de caractères contenant des jetons. Les alias individuels sont générés sur leur base lorsque le contenu est enregistré.
Je l'expliquerai en utilisant l'exemple d'un blog. Si vous souhaitez que vos articles soient accessibles sous l'adresse http://example.com/2021/foo-bar.html%20 contenant l'année de publication et le titre, allez dans le panneau Configuration → Recherche et Méta-données → Alias d'URL → Modèles et ajoutez un nouveau modèle pour le type de contenu approprié:
Essayez de créer un nouvel article de blog maintenant. Il devrait obtenir l'adresse /2021/foo-bar.html. Notez que vous pouvez toujours écraser son alias URL, cependant, par défaut, il est généré automatiquement:
Translittération
Les titres de pages contiennent généralement des espaces et des caractères spéciaux. Le module Pathauto les convertit automatiquement au format ASCII séparé par des tirets. Ainsi, un titre comme "Comment faire un Crème Brûlée?" sera remplacé par une version simplifiée – "comment-faire-un-creme-brulee". Les paramètres de cette conversion peuvent être trouvés dans l'onglet "Paramètres".
Je suggère de laisser la plupart de ces options à la position par défaut, mais faites particulièrement attention au champ "Chaînes à supprimer". Il contient des chaînes de caractères qui seront supprimées de l'adresse, y compris de nombreuses prépositions et articles anglais. Si vous créez un article de blog intitulé "Un guide pour Drupal", vous obtiendrez une adresse comme /2021/guide-drupal.html, ce qui n'est pas toujours le résultat recherché.
Les autres paramètres permettent une personnalisation très détaillée de la translittération dans les alias, ce qui est utile pour le support multilingue. Ici, vous pouvez, par exemple, décider de la façon de gérer la ponctuation.
Génération massive d'adresses URL
Par défaut, Pathauto ne génère des alias que lorsque le contenu est enregistré. Cela signifie que si vous changez le modèle d'URL, la modification ne sera pas immédiatement reflétée dans les alias sur l'ensemble de la page. De plus, après avoir ajouté un nouveau modèle, tout son contenu n'obtiendra pas immédiatement une nouvelle adresse URL.
Lors de la création de grands sites web, il est souvent nécessaire de régénérer rapidement les alias pour le contenu existant. Cela se fait avec la fonction "Génération en masse", qui permet des opérations de masse sur les adresses URL.
Soyez très prudent pour ne pas écraser accidentellement les alias existants avec des versions plus récentes. Ici, je recommanderais d'installer le module Redirect, qui enregistre les redirections entre les anciennes et nouvelles adresses de sous-pages.
Suppression d'alias
Le module Pathauto dispose également d'un panneau avancé pour la suppression d'alias. Soyez très prudent lors de son utilisation. Tout changement introduit ici est irréversible. Vous aurez probablement besoin de l'option "Supprimer uniquement les alias générés automatiquement" pour éviter de supprimer les alias remplacés manuellement.
Hooks et intégrations
Pathauto à partir de la branche 8.x-1.x vous permet de gérer tout type d'entités avec des plugins comme @AliasType, et fournit également quelques hooks simples:
- hook_pathauto_is_alias_reserved() - bloque la création d'un alias s'il est réservé par un autre module. Dans un tel cas, un nombre sera ajouté à l'alias (par exemple /foo-bar1).
- hook_pathauto_punctuation_chars_alter() – il est utilisé pour ajouter de nouveaux paramètres de ponctuation.
- hook_pathauto_pattern_alter() - vous permet de modifier le modèle d'adresse URL.
- hook_pathauto_alias_alter() - vous permet de changer l'alias après sa génération.
Lors de la création de vos propres modules Drupal, vous devriez envisager d'ajouter une configuration optionnelle pour Pathauto à ceux-ci. C'est une pratique assez courante, par exemple dans le module Group. Ainsi, l'utilisateur reçoit des modèles d'alias par défaut, prêts à l'emploi.
Le module Drupal Pathauto - résumé
Pathauto est un module extrêmement puissant qui est utilisé dans la plupart de nos projets de développement Drupal. Il maintient les adresses URL cohérentes et libère les éditeurs de la nécessité de former manuellement des alias. Son utilité est confirmée par des centaines de milliers d'installations signalées dans les statistiques officielles. Je recommande fortement de mieux vous familiariser avec ses capacités.