建立索引

Adobe Experience Manager 提供方法來保留網站特定區段所有已發佈頁面的索引。這通常可用來建立清單、摘要以及為頁面或內容片段啟用搜尋和篩選使用案例。

AEM會將此索引保留在試算表中,並使用JSON提供存取權。 請參閱檔案 試算表和JSON 以取得詳細資訊。

設定初始查詢索引

在本節中,我們將在根資料夾中建立查詢索引,該索引將索引您後端中的所有檔案。

  1. 在設定您的 fstab.yaml 掛接點若指向您的SharePoint網站或Google磁碟機,請移至根資料夾。
  2. 根據您的後端,建立名為的活頁簿 query-index.xlsx 適用於SharePoint或名為的試算表 query-index 適用於Google Drive。
  3. 在該試算表或活頁簿中,建立工作表,並命名為 raw_index.

設定要新增至索引的屬性

  1. 在您的 query-index 檔案,新增標題行,並在第一欄新增 path 作為標頭名稱。
  2. 在標題行的下列欄中,新增您需要從轉譯HTML頁面擷取的所有其他屬性。

在以下Google Drive範例中,擷取的欄位為 titleimagedescription、和 lastModified.

頁面在發佈時會編制索引。 若要從索引移除頁面,必須取消發佈頁面。

對於沒有自訂索引定義的簡單案例,頁面具有 robots 中繼資料屬性設為 noindex 將由AEM自動從索引中省略。 (這裡有幾個特殊案例,如需詳細資訊,請參閱區段 機器人的特殊情境)。

下表總結列出可用的屬性,以及這些屬性在HTML頁面中的擷取位置。

名稱
說明
author
傳回名為的中繼標籤的內容 authorhead 元素。
title
傳回的內容 og:title 中的中繼屬性 head 元素。
date
傳回名為的中繼標籤的內容 publication-datehead 元素。
image
傳回的內容 og:image 中的中繼屬性 head 元素。
category
傳回名為的中繼標籤的內容 categoryhead 元素。
tags

傳回名為的中繼標籤的內容 article:taghead 元素做為陣列。

檢視檔案 試算表和JSON 以取得陣列處理的詳細資訊。

description
傳回名為的中繼標籤的內容 descriptionhead 元素。
robots
傳回名為的中繼標籤的內容 robotshead 元素。
lastModified
傳回 Last-Modified 檔案的回應標頭。

對於新增的其他每個標頭,索引器都會嘗試尋找具有相對應名稱的中繼標籤。

啟用您的索引

若要啟用索引,請使用Sidekick預覽試算表。 這會建立索引設定。

檢查索引

Admin Service有一個API端點,您可以在其中檢查頁面的索引表示。 提供您的GitHub擁有者、存放庫、分支和擁有者,以及頁面的資源路徑,其端點為:

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

您應該會收到JSON回應,其中資料節點包含頁面的索引表示方式。

正在偵錯索引設定

AEM CLI具備一項功能,可在您變更查詢設定時列印索引記錄,協助尋找正確的CSS選取器:

$ aem up --print-index

請參閱 AEM CLI GitHub檔案 以取得詳細資訊並觀看此影片 視訊 以進一步瞭解此功能。

設定更多索引設定

您可以建立自己的自訂索引設定,以定義自己的自訂索引設定 helix-query.yaml. 這可讓您在同一索引中擁有多個索引設定 helix-query.yaml,其中部分網站已索引至不同的Excel活頁簿或Google試算表。 檢視檔案 索引參考 以取得詳細資訊。

機器人的特殊情境

AEM在設定您網站的索引時,如何為頁面編制索引有一些細微差別。 讓我們來看一下:

在以下2種情況下,設定 robotsnoindex 在頁面中繼資料會 防止它被AEM索引:

  • 您已新增 robots 中的欄 query-index.xlsx
  • 您有 helix-query.yaml 在您的Github存放庫中,表示您已定義 自訂索引定義。

建議

  1. 如果您沒有自訂索引定義,建議 新增 robots 欄到索引表,除非您需要這樣做。
    新增 robots AEM資料行放入索引工作表時,即使某頁面可能包含 robots 中繼資料設為 noindex.
  2. 如果您有自訂索引定義,無論設定為何,頁面都會由AEM編制索引 robotsnoindex 在頁面中繼資料上。 若要避免發生此情況,您可以使用試算表篩選器,從索引中忽略具有以下特性的頁面: robots 中繼資料設為 noindex. 如需詳細資訊,請參閱標題為「強制執行 noindex 使用自訂索引定義的設定」下。

使用自訂索引定義強制執行「noindex」設定

如果您已在中定義自己的自訂索引定義 helix-query.yaml,設定 robots 屬性至 noindex 無法有效地防止頁面建立索引。 為了強制執行 noindex 在這樣的情況下,請進行以下操作:

  1. 建立名為''的工作表helix-default「,在您的中 query-index.xlsx . 之後,您的 query-index.xlsx 試算表應有2張工作表 “raw_index」和 “helix-default「。 此 “raw_index「工作表必須有所有原始索引資料。
  2. 修改您的自訂 helix-query.yaml (此檔案必須位於專案的Github存放庫中)並新增 robots 屬性,以便為其編制索引。
  3. 現在設定您的 “helix-default「 」工作表位於 query-index.xlsx 試算表以使用Excel公式自動填滿,該公式可確保 raw_index 具有 robots 屬性設定為 noindex,請勿複製到 helix-default 工作表。 您可以使用Excel公式來完成,如下所示 =FILTER(Table1,NOT(Table1[robots]="noindex"))
  4. 現在,您的helix-default工作表只包含下列資料列: raw_index 沒有 robots 屬性設定為 noindex.
  5. 請確定您發佈要建立索引的頁面。
  6. 現在,如果您照常擷取索引,如下所示: https://<branch>--<repo>-<org>.hlx.page/query-index.json,您只會從取得資料 helix-default 工作表,亦即未明確防止透過 robot 屬性設定為 noindex.
recommendation-more-help
10a6ce9d-c5c5-48d9-8ce1-9797d2f0f3ec