索引
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页面中的提取位置。
对于添加的其他每个标头,索引器将尝试查找具有相应名称的meta标记。
激活索引
要激活索引,请使用sidekick预览电子表格。 这将创建一个索引配置。
正在检查索引
管理服务有一个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"))
- 现在,您的螺旋缺省工作表只包含下列行:
raw_index
没有robots
属性设置为noindex
. - 确保发布要编制索引的页面。
- 现在,如果您照常获取索引,如下所示:
https://<branch>--<repo>-<org>.hlx.page/query-index.json
,则您只会从helix-default
表,即未明确阻止通过robot
属性设置为noindex
.