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.
L’AEM mantiene questo indice in un foglio di calcolo e offre l’accesso ad esso utilizzando JSON. Consulta il documento Fogli di calcolo e JSON per ulteriori informazioni.
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.
- Dopo aver configurato
fstab.yaml
con un punto di montaggio che punta al tuo sito SharePoint o Google Drive, vai alla cartella principale. - A seconda del backend, crea una cartella di lavoro denominata
query-index.xlsx
per SharePoint o un foglio di calcolo denominatoquery-index
per Google Drive. - In tale foglio di calcolo o cartella di lavoro creare un foglio denominato
raw_index
.
Impostazione delle proprietà da aggiungere all'indice
- Nel tuo
query-index
, aggiungere una riga di intestazione e nella prima colonna aggiungerepath
come nome dell’intestazione. - 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 definizione di indice personalizzata, le pagine che presentano robots
proprietà metadati impostata su noindex
verrà automaticamente omesso dall’indicizzazione da parte dell’AEM. (Qui ci sono alcuni scenari speciali; per ulteriori dettagli consulta la sezione Scenari speciali per robot).
La tabella seguente riepiloga le proprietà disponibili e la posizione nella pagina HTML in cui vengono estratte.
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
L’interfaccia della riga di comando AEM 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
Consulta la sezione Documentazione GitHub CLI AEM per ulteriori informazioni, consulta video per ulteriori informazioni su questa funzione.
Configurazione di altre configurazioni dell’indice
Puoi definire configurazioni di indice personalizzate creando helix-query.yaml.
Questo consente di avere più configurazioni di indice nello stesso helix-query.yaml
: parti dei siti sono indicizzate in diverse cartelle di lavoro di Excel o fogli di calcolo di Google. Consulta il documento Riferimento indicizzazione per ulteriori informazioni.
Scenari speciali per robot
Esistono alcune sfumature sul modo in cui le pagine vengono indicizzate dall’AEM insieme alla configurazione dell’indicizzazione per il sito. Diamo un’occhiata a:
Nelle due situazioni seguenti, impostare robots
a noindex
sulla pagina i metadati non evitare che venga indicizzato dall’AEM:
- Hai aggiunto un
robots
colonna inquery-index.xlsx
- Hai un
helix-query.yaml
nell’archivio Github, ovvero hai definito un’ definizione di indice personalizzato.
Consigli
- Se non disponi di una definizione di indice personalizzata, si consiglia di non aggiungi un
robots
nel foglio indice, a meno che non si disponga di un requisito.
Aggiuntarobots
nel foglio indice causerebbe l'indicizzazione di una pagina da parte dell'AEM anche se potrebbe avererobots
metadati impostati sunoindex.
- Se disponi di una definizione di indice personalizzata, le pagine verrebbero indicizzate dall’AEM indipendentemente dall’impostazione
robots
anoindex
nei metadati della pagina. Per evitare che ciò si verifichi, puoi utilizzare i filtri dei fogli di calcolo per omettere le pagine dall’indice che presentanorobots
metadati impostati sunoindex
. Per maggiori dettagli, consulta la sezione intitolata "Applicazionenoindex
configurazione con definizioni di indice personalizzate".
Applicazione della configurazione "noindex" con le definizioni di indice personalizzate
Se hai definito definizioni di indice personalizzate in helix-query.yaml
, impostazione di robots
proprietà a noindex
non impedisce l’indicizzazione delle pagine. Al fine di applicare noindex
in situazioni di questo tipo, effettua le seguenti operazioni:
- Crea un foglio denominato "
helix-default
" nel tuoquery-index.xlsx
. Dopo questo, il tuoquery-index.xlsx
il foglio di calcolo deve contenere 2 fogli“raw_index
" e“helix-default
". Il“raw_index
Il foglio " deve contenere tutti i dati indicizzati non elaborati. - Modifica il tuo personalizzato
helix-query.yaml
deve trovarsi nell’archivio Github del progetto e aggiungererobots
in modo che venga indicizzata. - Ora configura il tuo
“helix-default
" foglio nelquery-index.xlsx
foglio di calcolo per essere compilati automaticamente utilizzando la formula di Excel che assicura che tutte le righe inraw_index
che hannorobots
proprietà impostata comenoindex
, non viene copiato nelhelix-default
foglio. Questa operazione può essere eseguita utilizzando una formula di Excel come questa=FILTER(Table1,NOT(Table1[robots]="noindex"))
- Ora il foglio predefinito a elica contiene solo le righe da
raw_index
che non hannorobots
proprietà impostata sunoindex
. - Assicurati di pubblicare le pagine da indicizzare.
- Ora, se recuperi l’indice come di consueto:
https://<branch>--<repo>-<org>.hlx.page/query-index.json
, si otterrebbero solo i dati dahelix-default
ovvero voci che non sono esplicitamente escluse dall'indicizzazione tramite ilrobot
proprietà impostata comenoindex
.