Configurations d’URL avancées

Les composants principaux AEM CIF fournissent des configurations avancées pour personnaliser les URL des pages de produits et de catégories. De nombreuses mises en œuvre personnalisent ces URL à des fins d’optimisation du moteur de recherche (SEO). La vidéo suivante explique comment configurer les services et les fonctionnalités UrlProvider du mappage Sling pour personnaliser les URL des pages de produits et de catégories.

Configuration

Pour configurer le service UrlProvider en fonction des exigences SEO et des besoins, un projet doit fournir une configuration OSGI pour la configuration "configuration du fournisseur d’URL CIF", puis configurer le service comme décrit ci-dessous.

REMARQUE

Le projet de magasin de référence Venia (voir ci-dessous) comprend des exemples de configuration afin de démontrer l’utilisation d’URL personnalisées pour les pages de produits et de catégories.

Modèle d’URL de page de produit

Ce modèle configure les URL des pages de produits avec les propriétés suivantes :

  • Modèle d’URL de produit : définit le format des URL avec un ensemble d’espaces réservés. La valeur par défaut est {{page}}.{{url_key}}.html#{{variant_sku}}, qui a pour effet de générer des URL ; par exemple, /content/venia/us/en/products/product-page.chaz-kangeroo-hoodie.html#MH01-M-Orange, où
    • {{page}} a été remplacé par /content/venia/us/en/products/product-page
    • {{url_key}} a été remplacé par la propriété url_key de Magento du produit, ici chaz-kangeroo-hoodie.
    • {{variant_sku}} a été remplacé par la variante actuellement sélectionnée, ici MH01-M-Orange.
  • Emplacement de l’identifiant de produit : définit l’emplacement de l’identifiant qui sera utilisé pour récupérer les données du produit. La valeur par défaut est SELECTOR, l’autre valeur possible étant SUFFIX. Dans l’exemple d’URL précédent, cela signifie que l’identifiant chaz-kangeroo-hoodie sera utilisé pour récupérer les données du produit.
  • Type d’identifiant de produit : définit le type de l’identifiant à utiliser lors de la récupération des données de produit. La valeur par défaut est URL_KEY, l’autre valeur possible étant SKU. Avec l’exemple d’URL précédent, cela signifie que les données de produit seront récupérées avec un filtre GraphQL Magento tel que filter:{url_key:{eq:"chaz-kangeroo-hoodie"}}.

Modèle d’URL de page de liste de produits

Ce modèle configure les URL des pages de listes de catégories ou de produits avec les propriétés suivantes :

  • Modèle d’URL de catégorie : définit le format des URL avec un ensemble d’espaces réservés. La valeur par défaut est {{page}}.{{id}}.html, qui a pour effet de générer des URL ; par exemple, /content/venia/us/en/products/category-page.3.html, où
    • {{page}} a été remplacé par /content/venia/us/en/products/category-page
    • {{id}} a été remplacé par la propriété id de Magento de la catégorie, ici 3.
  • Emplacement de l’identifiant de catégorie : définit l’emplacement de l’identifiant qui sera utilisé pour récupérer les données du produit. La valeur par défaut est SELECTOR, l’autre valeur possible étant SUFFIX. Dans l’exemple d’URL précédent, cela signifie que l’identifiant 3 sera utilisé pour récupérer les données du produit.
  • Type d’identifiant de catégorie : définit le type de l’identifiant à utiliser lors de la récupération des données de produit. La valeur par défaut et actuellement la seule valeur prise en charge est ID. Avec l’exemple d’URL précédent, cela signifie que les données de catégorie seront récupérées avec un filtre GraphQL Magento tel que category(id:3).

Il est possible d’ajouter des propriétés personnalisées pour chaque modèle, à condition que les données correspondantes soient définies par les composants qui utilisent le UrlProvider. Vérifiez par exemple le code de la classe ProductListItemImpl pour savoir comment cela est mis en œuvre.

Il est également possible de remplacer le service UrlProvider par un service OSGi entièrement personnalisé. Dans ce cas, vous devez mettre en œuvre l’interface UrlProvider et l’enregistrer avec un rang de service supérieur afin de remplacer la mise en œuvre par défaut.

Combinaison avec des mappages Sling

En plus du UrlProvider, il est également possible de configurer des mappages Sling afin de réécrire et de traiter les URL. Le projet AEM Archetype fournit également un exemple de configuration afin de configurer des mappages Sling pour le port 4503 (publication) et 80 (Dispatcher).

Combinaison avec AEM Dispatcher

Les réécritures d’URL peuvent également être archivées en utilisant le serveur HTTP AEM Dispatcher avec le module mod_rewrite. L’archétype de projet AEM fournit une configuration de Dispatcher AEM de référence qui inclut déjà des règles de réécriture de base pour la taille générée.

Exemple

Le projet de magasin de référence Venia comprend des exemples de configuration afin de démontrer l’utilisation d’URL personnalisées pour les pages de produits et de catégories. Cela permet à chaque projet de configurer des modèles d’URL individuels pour les pages de produits et de catégories en fonction de leurs besoins SEO. Une combinaison de mappages UrlProvider et Sling CIF telle que décrite ci-dessus est utilisée.

REMARQUE

Cette configuration doit être ajustée avec le domaine externe utilisé par le projet. Les mappages Sling fonctionnent en fonction du nom d’hôte et du domaine. Par conséquent, cette configuration est désactivée par défaut et doit être activée avant le déploiement. Pour ce faire, renommez le dossier hostname.adobeaemcloud.com de mappage Sling dans ui.content/src/main/content/jcr_root/etc/map.publish/https en fonction du nom de domaine utilisé et activez cette configuration en ajoutant resource.resolver.map.location="/etc/map.publish" à la configuration JcrResourceResolver du projet.

Ressources supplémentaires

Sur cette page