Mapas del sitio
Crear archivos de mapa del sitio generados automáticamente a los que se hará referencia desde su robots.txt. Esto ayuda con la optimización de los motores de búsqueda y el descubrimiento de nuevo contenido. AEM puede generar tres tipos de mapas del sitio: sin ninguna configuración, basados únicamente en un índice de consultas o en una configuración manual de mapa del sitio. Un solo mapa del sitio debe estar limitado a 50 000 direcciones URL y 50 MB (sin comprimir) de tamaño (consulte Límites).
Creación de un mapa del sitio sin ninguna configuración
Si no hace nada, verá el mapa del sitio en sitemap.xml y tendrá un índice de mapa del sitio en sitemap.json. Contiene una lista de todos los documentos publicados.
Si ha empezado con otro tipo de mapa del sitio y desea cambiar a este tipo, debe eliminar el archivo de configuración de helix-sitemap.yaml (definido manualmente en GitHub o generado automáticamente) y reindexar el sitio.
Nombre de dominio utilizado en URL externas
Para personalizar el dominio que se usa para crear direcciones URL externas, agregue una propiedad denominada host o cdn.prod.host en la configuración del proyecto (denominada .helix/config al usar Google Drive como servidor o .helix/config.xlsx en Sharepoint) y obtenga una vista previa de ese archivo para activarlo.
Generación de una configuración de mapa del sitio basada en un índice
Consulte el documento Indexación para obtener más información sobre la indexación. Para generar una configuración de mapa del sitio basada en un índice, asegúrese de que ya ha configurado un índice de consulta inicial como se explica allí. Se generará un mapa del sitio en la ubicación:
https://<branch>--<repo>--<owner>.hlx.page/sitemap.xml
Y una configuración de mapa del sitio en la siguiente ubicación:
https://<branch>--<repo>--<owner>.hlx.page/helix-sitemap.yaml
Se recomienda crear un archivo de sitemap-index.xml que haga referencia a todos los mapas del sitio y mantenerlo como parte del código del proyecto en su repositorio de GitHub. De esta manera es fácil agregar nuevos mapas del sitio a medida que el proyecto se expande.
Configuración manual de la configuración del mapa del sitio
Si necesita más personalización de la que proporciona el archivo de configuración de mapa del sitio generado, puede copiar su contenido y pegarlo en un archivo de nombre helix-sitemap.yaml en la carpeta raíz del proyecto.
Nota: Al usar un índice y un mapa del sitio configurados manualmente (por ejemplo, el repositorio de código incluye un archivo helix-query.yaml y helix-sitemap.yaml), la definición del índice debe incluir la propiedad robots para garantizar que el mapa del sitio excluya las páginas con metadatos robots: noindex. Cuando use definiciones de índice generadas automáticamente, simplemente siga las recomendaciones de la documentación de indexación para que esas páginas se excluyan del índice.
Las secciones siguientes contienen los tipos compatibles de mapas del sitio.
Mapa del sitio simple
El siguiente es un(a) helix-sitemap.yaml simple. Supone un solo índice que contiene todas las páginas que deben aparecer en el mapa del sitio.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
Si desea que las fechas de la última modificación se incluyan en las direcciones URL del mapa del sitio, agregue una propiedad lastmod que incluya un formato a la configuración.
sitemaps:
example:
source: /query-index.json
destination: /sitemap-en.xml
lastmod: YYYY-MM-DD
Mapas de varios sitios
Es común tener mapas del sitio por sección de los sitios y/o por país o idioma. AEM admite mapas del sitio que incluyen las referencias hreflang correspondientes. En el siguiente ejemplo suponemos que hay una asignación uno a uno entre los índices y los archivos XML de mapas del sitio.
sitemaps:
example:
lastmod: YYYY-MM-DD
languages:
en:
source: /en/query-index.json
destination: /sitemap-en.xml
hreflang: en
fr:
source: /fr/query-index.json
destination: /sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
Si hay dos páginas en la sección en inglés y francés que comparten un sufijo común, estarán relacionadas, por ejemplo, si tiene una página /welcome en la sección en inglés y una página /fr/welcome en la sección en francés, la entrada resultante en la /sitemap-en.xml tendrá este aspecto:
<url>
<loc>https://wwww.mysite.com/welcome</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://wwww.mysite.com/welcome"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://wwww.mysite.com/fr/welcome"/>
</url>
Una entrada similar estará disponible en /sitemap-fr.xml.
Especificación manual del idioma principal
Puede haber situaciones en las que tenga versiones alternativas de una página, pero no pueda utilizar un sufijo común para identificarlas, posiblemente porque está portando un sitio web heredado cuya ruta no debería cambiar. En ese caso, puede especificar un(a) primary-language-url para la ubicación alternativa, en los metadatos del documento.
Supongamos que nuestro idioma principal es inglés, tenemos una página /welcome en la sección en inglés y /fr/bienvenu en la sección en francés, y esta última es una versión alternativa de la primera.
Primero, agregamos esa información al documento en /fr/bienvenu en sus metadatos:
Esto también se puede agregar a una hoja metadata global, como se muestra en Metadatos en lotes.
A continuación, agregamos una propiedad indizada primary-language-url al índice francés:
primary-language-url:
select: head > meta[name="primary-language-url"]
value: attribute(el, "content")
Por último, volveremos a publicar la página en francés y reconstruiremos el mapa del sitio.
Especificación del idioma predeterminado
Otro requisito común es especificar el idioma predeterminado para un mapa del sitio con varios idiomas. Esto se puede lograr agregando una propiedad default en el mapa del sitio:
sitemaps:
example:
default: en
lastmod: YYYY-MM-DD
languages:
en:
source: /en/query-index.json
destination: /sitemap-en.xml
hreflang: en
fr:
source: /fr/query-index.json
destination: /sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
En el mapa del sitio resultante, todas las entradas del subárbol en inglés tendrán una entrada alternativa adicional con hreflang x-default.
Especificación de varios hreflangs para un subárbol
A veces, es necesario asignar varios hreflangs a un solo subárbol de idioma, por ejemplo, considere que queremos que lo siguiente aparezca en el mapa del sitio resultante:
<url>
<loc>https://myhost/la/page</loc>
<xhtml:link rel="alternate" hreflang="es-VE" href="https://myhost/la/page"/>
<xhtml:link rel="alternate" hreflang="es-SV" href="https://myhost/la/page"/>
<xhtml:link rel="alternate" hreflang="es-PA" href="https://myhost/la/page"/>
</url>
Cada página de nuestro origen de mapa del sitio debe aparecer exactamente una vez, pero tiene múltiples hreflangs alternativos asociados a ella. Para lograrlo, debe especificar una matriz de idiomas en la propiedad hreflang:
sitemaps:
example:
lastmod: YYYY-MM-DD
languages:
la:
source: /la/query-index.json
destination: /sitemap-la.xml
hreflang:
- es-VE
- es-SV
- es-PA
Múltiples Índices Agregados En Un Mapa Del Sitio
Hay casos en los que es más fácil tener un solo mapa del sitio más grande que pequeños mapas del sitio fragmentados, especialmente porque hay un límite de mapas del sitio que se pueden enviar a motores de búsqueda por sitio.
El siguiente ejemplo muestra cómo agregar un número de índices independientes en un único mapa del sitio.
sitemaps:
example:
lastmod: YYYY-MM-DD
languages:
dk:
source: /dk/query-index.json
destination: /sitemap.xml
hreflang: dk
alternate: /dk/{path}
no:
source: /no/query-index.json
destination: /sitemap.xml
hreflang: no
alternate: /no/{path}
Con el mismo destino es posible combinar varios mapas del sitio pequeños en uno más grande.
Inclusión de otros mapas del sitio como entrada
En un escenario mixto, en el que no todos los idiomas de un mapa del sitio se administran en AEM, puede incluir mapas del sitio de otros árboles de idiomas especificando una ruta XML como fuente, como en:
sitemaps:
example:
lastmod: YYYY-MM-DD
languages:
en:
source: /en/query-index.json
destination: /sitemaps/sitemap-en.xml
hreflang: en
fr:
source: https://www.mysite.com/legacy/sitemap-fr.xml
destination: /sitemaps/sitemap-fr.xml
hreflang: fr
alternate: /fr/{path}
En este ejemplo, utilizamos un mapa del sitio en francés externo para calcular todas las ubicaciones de los mapas del sitio. AEM determinará las alternativas para las direcciones URL de mapa del sitio en inglés deconstruyendo las contrapartes francesas en el mapa del sitio externo utilizando la definición alternate.
Añadir una extensión a todas las ubicaciones del mapa del sitio
En un escenario en el que desee que todas las ubicaciones tengan una extensión, por ejemplo .html, y no pueda generar una hoja helix-sitemap en el índice de consultas para derivar una fórmula, puede agregar una extensión a todos los idiomas o a un idioma individual mediante una propiedad extension:
sitemaps:
example:
lastmod: YYYY-MM-DD
extension: .html
languages:
en:
source: /en/query-index.json
destination: /en/sitemap.xml
hreflang: en
fr:
source: /fr/query-index.json
destination: /fr/sitemap.xml
hreflang: fr
alternate: /fr/{path}