Indexación
Adobe Experience Manager ofrece una forma de mantener un índice de todas las páginas publicadas en una sección concreta del sitio web. Esto se utiliza comúnmente para crear listas y fuentes, y habilitar casos de uso de búsqueda y filtrado para sus páginas o fragmentos de contenido.
AEM mantiene este índice en una hoja de cálculo y ofrece acceso a él mediante JSON. Consulte el documento Hojas de cálculo y JSON para obtener más información.
Presentaremos el concepto de crear un índice de consulta previsualizando primero un libro de Excel o una hoja de cálculo de Google. Tenga en cuenta que si ya tiene una definición de consulta personalizada en un archivo llamado helix-query.yaml en su repositorio de GitHub, ya no es posible crear índices de esa manera. Cada nuevo índice tendrá que agregarse manualmente a ese(a) helix-query.yaml.
Configuración de un índice de consulta inicial
En esta sección crearemos un índice de consulta en la carpeta raíz que indexará todos los documentos del servidor.
- Después de configurar su
fstab.yamlcon un punto de montaje que apunte a su sitio de SharePoint o Google Drive, vaya a la carpeta raíz. - Según el servidor, cree un libro de trabajo denominado
query-index.xlsxpara SharePoint o una hoja de cálculo denominadaquery-indexpara Google Drive. - En esa hoja de cálculo o libro, cree una hoja de cálculo denominada
raw_index.
Configuración de propiedades para añadirlas al índice
- En el documento
query-index, agregue una línea de encabezado y, en la primera columna, agreguepathcomo nombre del encabezado. - En las siguientes columnas de la línea del encabezado, añada todas las demás propiedades que necesite extraídas de la página de HTML procesada.
En el siguiente ejemplo de Google Drive, los campos extraídos son title, image, description y lastModified.
Las páginas se indexan cuando se publican. Para eliminar páginas del índice, se debe cancelar su publicación.
En escenarios sencillos sin definición de índice personalizada, AEM omitirá automáticamente la indexación de las páginas que tengan la propiedad de metadatos robots establecida en noindex. (Aquí hay algunos escenarios especiales; para obtener más detalles, consulte la sección Escenarios especiales para robots).
La siguiente tabla resume las propiedades disponibles y de dónde se extraen en la página de HTML.
Por cada otro encabezado agregado, el indexador intentará encontrar una metaetiqueta con el nombre correspondiente.
Activar el índice
Para activar el índice, previsualice la hoja de cálculo mediante la barra de tareas. Esto creará una configuración de índice.
Comprobación del índice
El servicio de administración tiene un punto final de API donde puede comprobar la representación del índice de la página. Dado el propietario de GitHub, el repositorio, la rama y el propietario, y una ruta de recurso a una página, su punto final es:
https://admin.hlx.page/index/<owner>/<repo>/<branch>/<path>
Debe obtener una respuesta JSON en la que el nodo de datos contenga la representación de índice de la página.
Depuración de la configuración del índice
La CLI de AEM tiene una función en la que imprimirá el registro de índice cada vez que cambie la configuración de la consulta, lo que le ayuda a encontrar los selectores CSS correctos:
$ aem up --print-index
Consulte la documentación de GitHub de la CLI de AEM para obtener más información y vea este vídeo para obtener más información sobre esta característica.
Configuración de más configuraciones de índice
Puede definir sus propias configuraciones de índice personalizadas creando su propio helix-query.yaml. Esto le permite tener más de una configuración de índice en el mismo helix-query.yaml, donde partes de los sitios se indizan en diferentes libros de Excel u hojas de cálculo de Google. Consulte el documento Referencia de indización para obtener más información.
Escenarios especiales para robots
Hay algunos matices en la forma en que AEM indexa las páginas junto con la configuración de indexación del sitio. Veamos lo que ocurre con ellos:
En las dos situaciones siguientes, establecer robots en noindex en los metadatos de la página no evitaría que AEM lo indexara:
- Ha agregado una columna
robotsenquery-index.xlsx - Tiene un
helix-query.yamlen el repositorio de Github, es decir, ha definido una definición de índice personalizada.
Recomendaciones
- Si no tiene una definición de índice personalizada, se recomienda no agregar una columna
robotsa la hoja de índice a menos que tenga un requisito para hacerlo.
Si agrega la columnarobotsa su hoja de índice, AEM indizará la página aunque tengarobotsmetadatos establecidos ennoindex. - Si tiene una definición de índice personalizada, AEM indexaría las páginas independientemente de si establece
robotsennoindexen los metadatos de la página. Si desea evitar que esto ocurra, puede usar filtros de hoja de cálculo para omitir páginas del índice que tenganrobotsmetadatos establecidos ennoindex. Para obtener más información, consulte la sección titulada "Aplicación denoindexconfiguración con definiciones de índice personalizadas" más adelante.
Aplicar la configuración "noindex" con definiciones de índice personalizadas
Si ha definido sus propias definiciones de índice personalizadas en helix-query.yaml, establecer la propiedad robots en noindex no es eficaz para evitar que se indiquen las páginas. Para que la configuración noindex se aplique correctamente, haga lo siguiente:
- Cree una hoja con el nombre "
helix-default" en suquery-index.xlsxDespués de esto, la hoja de cálculoquery-index.xlsxdebe tener 2 hojas“raw_index" y“helix-default". La hoja“raw_index" está ahí para tener todos los datos indexados sin procesar. - Modifique su
helix-query.yamlpersonalizado (debe estar en el repositorio de Github de su proyecto) y agregue la propiedadrobotspara que se indexa. - Ahora configure la hoja
“helix-default" en la hoja de cálculoquery-index.xlsxpara que se rellene automáticamente con la fórmula de Excel, que garantiza que todas las filas deraw_indexque tienen la propiedadrobotsestablecida comonoindexno se copien en la hojahelix-default. Esto se puede hacer con una fórmula de Excel como esta=FILTER(Table1,NOT(Table1[robots]="noindex")) - Ahora, la hoja hélice-predeterminada solo tiene las filas de
raw_indexque no tienen la propiedadrobotsestablecida ennoindex. - Asegúrese de publicar las páginas que desea indexar.
- Ahora, si obtiene el índice de la forma habitual, como:
https://<branch>--<repo>-<org>.hlx.page/query-index.json, solo obtendrá datos dehelix-defaulthoja, es decir, entradas a las que no se impide explícitamente que se indiquen a través de la propiedadrobotestablecida comonoindex.