建立索引
Adobe Experience Manager 提供方法來保留網站特定區段所有已發佈頁面的索引。這通常可用來建立清單、摘要以及為頁面或內容片段啟用搜尋和篩選使用案例。
AEM會將此索引保留在試算表中,並使用JSON提供存取權。 請參閱檔案 試算表和JSON 以取得詳細資訊。
設定初始查詢索引
在本節中,我們將在根資料夾中建立查詢索引,該索引將索引您後端中的所有檔案。
- 在設定您的
fstab.yaml
掛接點若指向您的SharePoint網站或Google磁碟機,請移至根資料夾。 - 根據您的後端,建立名為的活頁簿
query-index.xlsx
適用於SharePoint或名為的試算表query-index
適用於Google Drive。 - 在該試算表或活頁簿中,建立工作表,並命名為
raw_index
.
設定要新增至索引的屬性
- 在您的
query-index
檔案,新增標題行,並在第一欄新增path
作為標頭名稱。 - 在標題行的下列欄中,新增您需要從轉譯HTML頁面擷取的所有其他屬性。
在以下Google Drive範例中,擷取的欄位為 title
, image
, description
、和 lastModified
.
頁面在發佈時會編制索引。 若要從索引移除頁面,必須取消發佈頁面。
對於沒有自訂索引定義的簡單案例,頁面具有 robots
中繼資料屬性設為 noindex
將由AEM自動從索引中省略。 (這裡有幾個特殊案例,如需詳細資訊,請參閱區段 機器人的特殊情境)。
下表總結列出可用的屬性,以及這些屬性在HTML頁面中的擷取位置。
對於新增的其他每個標頭,索引器都會嘗試尋找具有相對應名稱的中繼標籤。
啟用您的索引
若要啟用索引,請使用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種情況下,設定 robots
至 noindex
在頁面中繼資料會 非 防止它被AEM索引:
- 您已新增
robots
中的欄query-index.xlsx
- 您有
helix-query.yaml
在您的Github存放庫中,表示您已定義 自訂索引定義。
建議
- 如果您沒有自訂索引定義,建議 非 新增
robots
欄到索引表,除非您需要這樣做。
新增robots
AEM資料行放入索引工作表時,即使某頁面可能包含robots
中繼資料設為noindex.
- 如果您有自訂索引定義,無論設定為何,頁面都會由AEM編制索引
robots
至noindex
在頁面中繼資料上。 若要避免發生此情況,您可以使用試算表篩選器,從索引中忽略具有以下特性的頁面:robots
中繼資料設為noindex
. 如需詳細資訊,請參閱標題為「強制執行noindex
使用自訂索引定義的設定」下。
使用自訂索引定義強制執行「noindex」設定
如果您已在中定義自己的自訂索引定義 helix-query.yaml
,設定 robots
屬性至 noindex
無法有效地防止頁面建立索引。 為了強制執行 noindex
在這樣的情況下,請進行以下操作:
- 建立名為''的工作表
helix-default
「,在您的中query-index.xlsx
. 之後,您的query-index.xlsx
試算表應有2張工作表“raw_index
」和“helix-default
「。 此“raw_index
「工作表必須有所有原始索引資料。 - 修改您的自訂
helix-query.yaml
(此檔案必須位於專案的Github存放庫中)並新增robots
屬性,以便為其編制索引。 - 現在設定您的
“helix-default
「 」工作表位於query-index.xlsx
試算表以使用Excel公式自動填滿,該公式可確保raw_index
具有robots
屬性設定為noindex
,請勿複製到helix-default
工作表。 您可以使用Excel公式來完成,如下所示=FILTER(Table1,NOT(Table1[robots]="noindex"))
- 現在,您的helix-default工作表只包含下列資料列:
raw_index
沒有robots
屬性設定為noindex
. - 請確定您發佈要建立索引的頁面。
- 現在,如果您照常擷取索引,如下所示:
https://<branch>--<repo>-<org>.hlx.page/query-index.json
,您只會從取得資料helix-default
工作表,亦即未明確防止透過robot
屬性設定為noindex
.