Indicizzazione

Adobe Experience Manager offre un modo per mantenere un indice di tutte le pagine pubblicate in una particolare sezione del sito web. Viene comunemente utilizzato per creare elenchi, feed e abilitare casi d’uso di ricerca e filtro per pagine o frammenti di contenuto.

AEM mantiene questo indice in un foglio di calcolo e offre l’accesso ad esso utilizzando JSON. Per ulteriori informazioni, vedere il documento Fogli di calcolo e JSON.

Introdurremo il concetto di creazione di un indice di query visualizzando prima una cartella di lavoro di Excel o un foglio di calcolo di Google. Se si dispone già di una definizione di query personalizzata in un file denominato helix-query.yaml nell'archivio GitHub, non sarà più possibile creare gli indici in questo modo. Ogni nuovo indice dovrà essere aggiunto manualmente a helix-query.yaml.

Impostazione di un indice di query iniziale

In questa sezione verrà creato un indice di query nella cartella principale che indicizzerà tutti i documenti nel backend.

  1. Dopo aver configurato fstab.yaml con un punto di montaggio che punta al sito SharePoint o all'unità Google, passare alla cartella principale.
  2. A seconda del backend, creare una cartella di lavoro denominata query-index.xlsx per SharePoint o un foglio di calcolo denominato query-index per Google Drive.
  3. Creare un foglio denominato raw_index in tale foglio di calcolo o cartella di lavoro.

Impostazione delle proprietà da aggiungere all'indice

  1. Nel documento query-index aggiungere una riga di intestazione e nella prima colonna aggiungere path come nome di intestazione.
  2. Nelle seguenti colonne della riga di intestazione, aggiungi tutte le altre proprietà che devono essere estratte dalla pagina HTML di cui è stato eseguito il rendering.

Nell'esempio seguente in Google Drive, i campi estratti sono title, image, description e lastModified.

Le pagine vengono indicizzate al momento della pubblicazione. Per rimuovere le pagine dall’indice, è necessario annullarne la pubblicazione.

Per scenari semplici senza una definizione di indice personalizzata, le pagine con la proprietà dei metadati robots impostata su noindex verranno automaticamente omesse dall'indicizzazione da parte di AEM. (Qui ci sono alcuni scenari speciali, per ulteriori dettagli vedi la sezione Scenari speciali per robot).

La tabella seguente riepiloga le proprietà disponibili e la posizione della pagina HTML in cui vengono estratte.

Nome
Descrizione
author
Restituisce il contenuto del tag meta denominato author nell'elemento head.
title
Restituisce il contenuto della proprietà meta og:title nell'elemento head.
date
Restituisce il contenuto del tag meta denominato publication-date nell'elemento head.
image
Restituisce il contenuto della proprietà meta og:image nell'elemento head.
category
Restituisce il contenuto del tag meta denominato category nell'elemento head.
tags

Restituisce il contenuto del tag meta denominato article:tag nell'elemento head come matrice.

Per ulteriori informazioni sulla gestione degli array, vedere il documento Fogli di calcolo e JSON.

description
Restituisce il contenuto del tag meta denominato description nell'elemento head.
robots
Restituisce il contenuto del tag meta denominato robots nell'elemento head.
lastModified
Restituisce il valore dell'intestazione di risposta Last-Modified per il documento.

Per ogni altra intestazione aggiunta, l’indicizzatore tenterà di trovare un tag meta con un nome corrispondente.

Attivare l’indice

Per attivare l’indice, visualizza l’anteprima del foglio di calcolo utilizzando la barra laterale. Verrà creata una configurazione indice.

Verifica dell’indice

Il servizio di amministrazione dispone di un endpoint API in cui è possibile controllare la rappresentazione dell’indice della pagina. Dato il proprietario, l’archivio, il ramo e il proprietario di GitHub e il percorso di risorsa di una pagina, il suo endpoint è:

https://admin.hlx.page/index/<owner>/<repo>/<branch>/<path>

Dovresti ottenere una risposta JSON in cui il nodo dati contiene la rappresentazione dell’indice della pagina.

Debug della configurazione dell’indice

AEM CLI dispone di una funzione che consente di stampare il record di indice ogni volta che si modifica la configurazione della query e facilita la ricerca dei selettori CSS corretti:

$ aem up --print-index

Per ulteriori informazioni, consulta la documentazione GitHub di AEM CLI e guarda questo video per ulteriori informazioni su questa funzione.

Configurazione di altre configurazioni dell’indice

È possibile definire configurazioni di indice personalizzate creando helix-query.yaml. In questo modo è possibile disporre di più configurazioni di indice nello stesso helix-query.yaml, dove parti dei siti sono indicizzate in cartelle di lavoro di Excel o fogli di calcolo di Google diversi. Per ulteriori informazioni, vedere il documento Riferimento indicizzazione.

Scenari speciali per robot

Esistono alcune sfumature sul modo in cui le pagine vengono indicizzate da AEM insieme alla configurazione dell’indicizzazione per il sito. Diamo un’occhiata a:

Nelle due situazioni seguenti, l'impostazione di robots su noindex nei metadati della pagina non impedirebbe l'indicizzazione da parte di AEM:

  • È stata aggiunta una colonna robots in query-index.xlsx
  • Hai helix-query.yaml nell'archivio Github, ovvero hai definito una definizione di indice personalizzata.

Consigli

  1. Se non si dispone di una definizione di indice personalizzata, si consiglia di non aggiungere una colonna robots al foglio indice, a meno che non si disponga di un requisito per farlo.
    L'aggiunta della colonna robots al foglio indice causerebbe l'indicizzazione di una pagina da parte di AEM anche se potrebbero essere impostati robots metadati su noindex.
  2. Se si dispone di una definizione di indice personalizzata, le pagine verranno indicizzate da AEM indipendentemente dall'impostazione di robots su noindex nei metadati della pagina. Per evitare che ciò si verifichi, è possibile utilizzare i filtri dei fogli di calcolo per omettere dall'indice le pagine con metadati robots impostati su noindex. Per ulteriori dettagli, vedere la sezione "Enforcement noindex configuration with custom index definitions" di seguito.

Applicazione della configurazione "noindex" con le definizioni di indice personalizzate

Se sono state definite definizioni di indice personalizzate in helix-query.yaml, l'impostazione della proprietà robots su noindex non impedisce l'indicizzazione delle pagine. Per applicare la configurazione noindex a tali situazioni, eseguire le operazioni seguenti:

  1. Crea un foglio denominato "helix-default" in query-index.xlsx. In seguito, il foglio di calcolo query-index.xlsx deve avere 2 fogli “raw_index" e “helix-default". Il foglio “raw_index" deve contenere tutti i dati indicizzati.
  2. Modifica helix-query.yaml personalizzato (deve trovarsi nell'archivio Github del progetto) e aggiungi la proprietà robots in modo che venga indicizzato.
  3. Ora imposta il foglio “helix-default nel foglio di calcolo query-index.xlsx in modo che venga compilato automaticamente utilizzando la formula di Excel che garantisce che tutte le righe in raw_index con la proprietà robots impostata come noindex non vengano copiate nel foglio helix-default. È possibile eseguire l'operazione utilizzando una formula di Excel come =FILTER(Table1,NOT(Table1[robots]="noindex"))
  4. Ora il foglio predefinito a elica contiene solo le righe di raw_index per le quali la proprietà robots non è impostata su noindex.
  5. Assicurati di pubblicare le pagine da indicizzare.
  6. Ora, se recuperi l'indice come di consueto: https://<branch>--<repo>-<org>.hlx.page/query-index.json, otterrai solo i dati dal foglio helix-default, ovvero le voci che non sono esplicitamente escluse dall'indicizzazione tramite la proprietà robot impostata come noindex.
recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec