Solución de URL canónicas y de mapa del sitio incorrectas o duplicadas desde la configuración del dominio y el protocolo de AEM

Las etiquetas canónicas y las direcciones URL de mapa del sitio generadas por AEM muestran el dominio incorrecto, el protocolo incorrecto, las rutas relativas o las etiquetas canónicas duplicadas cuando las propiedades de página, el externalizador, los encabezados de solicitud o la lógica de plantilla no están correctamente configurados. Las causas más comunes son la falta de una configuración de dominio de Externalizer, la falta de un encabezado de X-Forwarded-Proto, reglas de Dispatcher clientheaders incorrectas o una lógica de plantilla que emite una segunda etiqueta canónica. Corregir la propiedad de página y la configuración del externalizador, garantizar que el encabezado del protocolo llegue a AEM y eliminar la lógica de plantilla duplicada restaura las URL canónicas y de mapa del sitio correctas.

Descripción description

Problema: AEM emite URL canónicas y de mapa del sitio incorrectas, duplicadas o relativas

Descripción

Los sitios de AEM muestran direcciones URL canónicas incorrectas (faltan http en lugar de https, direcciones URL relativas o direcciones URL completas) o generan mapas del sitio que contienen direcciones URL relativas en lugar de absolutas. En algunos casos, AEM inserta una etiqueta canónica predeterminada cuando una implementación personalizada ya genera una, lo que produce duplicados. Las propiedades de página mal configuradas, la configuración de dominio del externalizador que falta, los encabezados X-Forwarded-Proto que faltan, las reglas clientheaders del distribuidor incorrectas o la lógica a nivel de plantilla que emite automáticamente etiquetas canónicas afectan a todos estos síntomas.

Entorno:

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • AEM 6.5 local
  • Niveles de Dispatcher y CDN/equilibrador de carga

Problema/Síntomas:

  • Las direcciones URL canónicas aparecen como http:// en lugar de https://
  • El mapa del sitio solo contiene slugs o URL relativas en lugar de URL absolutas
  • Las etiquetas canónicas duplicadas aparecen en el origen de la página
  • La etiqueta canónica generada automáticamente por AEM solo muestra una ruta relativa en lugar de la dirección URL completa

Causa principal:

AEM determina las direcciones URL canónicas y de mapa del sitio a partir de una combinación de propiedades de página, configuración del externalizador, encabezados de solicitud (especialmente X-Forwarded-Proto), asignaciones de resolución de recursos y lógica específica de la plantilla. Cuando falta alguna de estas direcciones URL, están mal configuradas o se anulan, AEM genera direcciones URL incorrectas, duplicadas o relativas. Algunos comportamientos de mapa del sitio también son limitaciones en el módulo de mapa del sitio Apache Sling.

Cómo confirmar

  1. Haga coincidir el síntoma observado con una categoría: etiquetas canónicas duplicadas, protocolo incorrecto (http), dominio ausente o un mapa del sitio que genere direcciones URL relativas.
  2. Inspeccione el origen de la página y confirme cuántas etiquetas canónicas están presentes y si cada una utiliza el protocolo y el dominio correctos.
  3. Busque <site>.sitemap-index.xml en un explorador y confirme si las entradas son direcciones URL absolutas o relativas.

Resolución resolution

  1. Corrija etiquetas canónicas duplicadas o incorrectas. Abra Propiedades de página > avanzadas y busque el campo URL canónica, que controla la generación canónica automática. Borre o actualice el valor según sea necesario, vuelva a cargar el origen de la página y confirme que solo queda una etiqueta canónica. Si sigue apareciendo la etiqueta generada automáticamente, compruebe la lógica de plantilla headerlibs o head.html personalizada que agregue una segunda etiqueta canónica y quite o deshabilite la lógica duplicada.

  2. Corrija las direcciones URL canónicas que utilicen el protocolo incorrecto. Confirme que la CDN o el equilibrador de carga envía la cabecera:

    code language-none
    X-Forwarded-Proto: https
    

Inspeccione los encabezados de solicitud entrantes con DevTools del explorador o curl para comprobar que el encabezado está presente. Si falta, actualice las reglas de CDN o del equilibrador de carga.
​3. Para AEMaaCS, revise la configuración OSGi implementada mediante Cloud Manager para org.apache.felix.http.sslfilter.SslFilter, con los siguientes valores de campo:

  • enable = true
  • forwarded = true
  • forwarded.header = X-Forwarded-Proto
  • forwarded.value = https

Después de la implementación, vea el origen de la página para confirmar que la generación canónica utiliza https.
​4. Se han corregido las direcciones URL relativas o un dominio que faltaba en el mapa del sitio. Confirme que se está utilizando la entrada sitemap-index.xml; las direcciones URL absolutas a menudo aparecen solamente en sitemap-index.xml y no en los archivos secundarios sitemap.xml. A continuación, asegúrese de que la configuración del dominio externalizador se implementa mediante código, utilizando la configuración com.day.cq.commons.impl.ExternalizerImpl-publish. Agregue un vínculo de prueba simple usando externalizer.externalLink o externalizer.publishLink para confirmar que el externalizador produce direcciones URL absolutas.
​5. Genere mapas del sitio mediante las funciones integradas de AEM. Confirmar que Generar mapa de sitio está habilitado o deshabilitado correctamente en el nivel por página. Para las páginas marcadas como raíz de mapa del sitio, AEM genera sitemap.xml y sitemap-index.xml. Acceda a /content/<path>.sitemap-index.xml o a /content/<path>.sitemap.xml directamente para confirmar que se genera el XML esperado. Si las direcciones URL no devuelven nada, confirme que la página se ha publicado. Si usa mapas del sitio de Edge Delivery Services (EDS), tenga en cuenta que lastmod y changefreq no son compatibles; se trata de una limitación estricta, por lo que no intente personalizar el mapa del sitio de EDS.
​6. Para los sitios MSM o en varios idiomas en AEMaaCS, utilice el mapa del sitio de Sling integrado con un nivel de página sling:sitemapRoot. No se admite el generador de mapas del sitio ACS Commons. Confirmar que sling:sitemapRoot = true está presente en cada raíz de idioma y, a continuación, acceder a <langroot>.sitemap-index.xml para confirmar que cada raíz de idioma produce su propio mapa del sitio.

Validación

  1. Abra el origen de la página y confirme que solo existe una etiqueta canónica, el protocolo es correcto y el dominio coincide con la configuración esperada.
  2. Abra sitemap-index.xml y sitemap.xml y verifique que las direcciones URL absolutas aparezcan donde se admitan, sin slugs relativos a menos que las limitaciones de mapa del sitio de Apache Sling lo esperen.
  3. Confirme los cambios en la configuración de Dispatcher, CDN o OSGi que se propagan después de la implementación. AEMaaCS los aplica automáticamente en la implementación.

Lectura relacionada

recommendation-more-help
experience-cloud-kcs-help-kbarticles