Configuraciones de URL avanzadas url
Los componentes principales del CIF de AEM proporcionan configuraciones avanzadas para personalizar las direcciones URL de las páginas de productos y categorías. Muchas implementaciones personalizan estas direcciones URL con fines de optimización de los motores de búsqueda (SEO). En el siguiente vídeo se explica cómo configurar el UrlProvider
servicio y las funciones de las Asignaciones de Mapping para personalizar las direcciones URL de las páginas de productos y categorías.
Configuración configuration
Para configurar la variable UrlProvider
CIF según los requisitos de SEO y las necesidades, un proyecto debe proporcionar una configuración OSGI para la "configuración del proveedor de URL".
Formato de URL de página de producto product
Esto configura las direcciones URL de las páginas de productos y admite las siguientes opciones:
{{page}}.html/{{sku}}.html#{{variant_sku}}
(predeterminada){{page}}.html/{{url_key}}.html#{{variant_sku}}
{{page}}.html/{{sku}}/{{url_key}}.html#{{variant_sku}}
{{page}}.html/{{url_path}}.html#{{variant_sku}}
{{page}}.html/{{sku}}/{{url_path}}.html#{{variant_sku}}
Si existe el Tienda de referencia de Venia:
{{page}}
se ha reemplazado por/content/venia/us/en/products/product-page
{{sku}}
se sustituye por el SKU del producto, por ejemplo,VP09
{{url_key}}
se sustituye por el del productourl_key
, por ejemplo,lenora-crochet-shorts
{{url_path}}
se sustituye por el del productourl_path
, por ejemplo,venia-bottoms/venia-pants/lenora-crochet-shorts
{{variant_sku}}
se reemplaza por la variante seleccionada actualmente, por ejemplo,VP09-KH-S
Dado que la variable url_path
se han quedado obsoletos, los formatos de URL de producto predefinidos utilizan un url_rewrites
y elija el que tenga la mayor cantidad de segmentos de ruta como alternativa si la variable url_path
no está disponible.
Con los datos de ejemplo anteriores, una URL de variante de producto con formato URL predeterminada tiene el siguiente aspecto /content/venia/us/en/products/product-page.html/VP09.html#VP09-KH-S
.
Formato de URL de página de categoría product-list
Esto configura las direcciones URL de las páginas de categorías o listas de productos y admite las siguientes opciones:
{{page}}.html/{{url_path}}.html
(predeterminada){{page}}.html/{{url_key}}.html
Si existe el Tienda de referencia de Venia:
{{page}}
se ha reemplazado por/content/venia/us/en/products/category-page
{{url_key}}
se sustituye por el de la categoríaurl_key
propiedad{{url_path}}
se sustituye por el de la categoríaurl_path
Con los datos del ejemplo anterior, la dirección URL de una página de categoría con formato URL predeterminado tiene el siguiente aspecto /content/venia/us/en/products/category-page.html/venia-bottoms/venia-pants.html
.
url_path
es una concatenación de url_keys
de los antecesores de un producto o categoría y del producto o categoría url_key
separado por /
barra diagonal.Páginas específicas de productos y categorías specific-pages
Es posible crear lo siguiente páginas de múltiples productos y categorías solo para un subconjunto específico de categorías o productos de un catálogo.
El UrlProvider
está preconfigurado para generar vínculos profundos a dichas páginas en instancias de nivel de creación. Esto resulta útil para los editores que exploran un sitio mediante el modo de vista previa, navegan a una página de producto o categoría específica y vuelven al modo de edición para editar la página.
En las instancias de nivel de publicación, por otro lado, las direcciones URL de la página del catálogo deben mantenerse estables para no perder ganancias en las clasificaciones de los motores de búsqueda, por ejemplo. Debido a esto, las instancias del nivel de publicación no procesarán vínculos profundos a páginas de catálogo específicas de forma predeterminada. Para cambiar este comportamiento, la variable CIF Estrategia de página específica del proveedor de URL se puede configurar para que siempre genere direcciones url de página específicas.
Formatos de URL personalizados custom-url-format
Para proporcionar un formato de URL personalizado que un proyecto pueda implementar, se debe usar el ProductUrlFormat
o el CategoryUrlFormat
y registre la implementación como servicio OSGI. Estas implementaciones, si están disponibles, reemplazan el formato configurado y predefinido. Si hay varias implementaciones registradas, la que tenga la clasificación de servicio más alta reemplaza a las que tienen la clasificación de servicio más baja.
Las implementaciones de formato de URL personalizadas deben implementar un par de métodos para crear una dirección URL a partir de parámetros determinados y para analizar una dirección URL y devolver los mismos parámetros respectivamente.
Combinación con asignaciones de Sling sling-mapping
Además de las UrlProvider
, también es posible configurar Asignaciones de Sling para reescribir y procesar direcciones URL. AEM El proyecto Archetype también proporciona lo siguiente un ejemplo de configuración para configurar algunas asignaciones de Sling para el puerto 4503 (publicación) y 80 (Dispatcher).
Combinación con AEM Dispatcher dispatcher
AEM Las reescrituras de URL también se pueden lograr utilizando el servidor HTTP de Dispatcher de la aplicación de la red de distribución de datos con mod_rewrite
módulo. El tipo de archivo del proyecto AEM proporciona una referencia a la configuración de AEM Dispatcher que ya incluye las reglas de reescritura básicas para el tamaño generado.
Ejemplo
El proyecto Tienda de referencia de Venia incluye configuraciones de muestra para demostrar el uso de direcciones URL personalizadas para páginas de productos y categorías. Esto permite que cada proyecto configure patrones de URL individuales para páginas de productos y categorías según sus necesidades de SEO. Se utiliza una combinación de asignaciones de CIF UrlProvider
y de Sling como se describe anteriormente.
hostname.adobeaemcloud.com
carpeta Asignaciones de Sling en ui.content/src/main/content/jcr_root/etc/map.publish/https
función del nombre de dominio utilizado y habilite esta configuración añadiendo resource.resolver.map.location="/etc/map.publish"
a la JcrResourceResolver
configuración del proyecto.