批量元数据
默认情况下,元数据在页面级别进行管理。 有关详细信息,请参阅创作和发布内容。
在某些情况下,将元数据批量应用到网站很有用。 常见的用例包括:
- 网站的某个部分应当看起来与网站的其余部分不同(例如不同的模板或不同的主题),并且有不同的感觉。
- 默认元数据(如
og:image)应应用于网站的各个部分。 - 如果网站的某个部分不应由机器人编制索引,则元数据可用于将网站某个部分的
robotsMeta标记设置为noindex。
如果要同时为多个页面创建元数据,请在SharePoint或Google驱动器中网站的根文件夹内创建Excel工作簿或Google工作表工作簿。
- 为Google驱动器命名文件
metadata。 - 为SharePoint命名文件
metadata.xlsx。
工作簿应当只有一个工作表和至少两列,如下图所示。
标题为 URL 的列具有应获取特定元数据条目的页面的URL模式。
通配符*(星号)可用作前缀或后缀,从而允许在URL路径名上进行灵活匹配。 典型示例包括/docs/**或**/docs/**。
注意: 元数据工作表是从上到下计算的,设置为**的站点范围元数据必须在更具体的条目之前。
对于每个元数据属性,请在工作表中创建一个列,然后使用要分配的属性对其进行命名。 典型示例包括template、theme或robots。
通过元数据块添加的页面级元数据优先于批量元数据。 有关详细信息,请参阅文档创作和发布内容和元数据(块)。
要显式删除元数据,可以使用""作为值。 这将删除元素或将特定路径的相应属性设置为""。
示例:
URL Canonical
/** ""
上述示例将默认从所有页面中删除<link rel="canonical">,除非存在特定的覆盖,例如从页面元数据块中进行的覆盖。
注意: 您需要预览/发布元数据工作表,以便查看反映在页面上的更改。
提示: Excel在SharePoint中的更新速度可能较慢。 如果您未看到更改反映在预览或发布中,则硬刷新(单击进入URL栏并刷新)浏览器和预览中的Excel文档应会按预期工作。
文件夹映射的元数据
如果站点配置了文件夹映射,则该文件夹中的元数据文件将应用于该映射的所有页面。 例如,如果/templates/是映射到/templates/default的文件夹,如果URL模式匹配,/templates/default/metadata.xlsx中的元数据将应用于/templates/下的所有页面。
上次修改日期
对文件夹映射的元数据的更改未反映在映射作用域内页面的last-modified HTTP响应标头中。 默认情况下,将使用默认文档的上次修改日期。 如果您希望根据元数据更改来更新该标头值(SEO或SEM可能希望这样做),则可以通过添加显式last-modified列来影响它*。 这样,您就可以为选定的行设置所需的日期字符串或时间戳,而保留其他行不变。 我们建议采用ISO日期格式,以确保它是易于用户阅读的时区安全格式。
示例:
URL Last-modified
/products/product1 2024-11-21T00:00:00Z
/products/product2 2024-11-20T00:00:00Z
/products/product3 2024-11-19T00:00:00Z
* 注意: 实际的last-modified HTTP响应标头是根据响应贡献资源的修改时间计算的:
将使用这些资源的最近修改时间。 这意味着提供的last-modified值可能不是最终标头值,例如,如果head.html更年轻。
其他元数据
当具有由多个团队管理的元数据时,将所有元数据保留在相同的元数据文件中是不现实的。 通过配置需要在/.helix/config.xlsx文件中考虑的所有元数据文件,可以支持多个元数据:
列表中的条目顺序规定了数据的应用顺序。 元数据的最终顺序如下:
如果在/.helix/config.xlsx中配置了metadata:
- 页面级元数据块胜出
- 文件夹映射的元数据工作表将超过
- 元数据工作表按配置顺序
如果没有已配置的顺序:
- 页面级元数据块胜出
- 文件夹映射的元数据工作表将超过
- 批量元数据表(
/metadata.xlsx)
请注意,单个元数据属性会被覆盖,但不会被删除。 例如,如果/metadata.json定义属性title,则/metadata-2nd.json中的相同属性将覆盖该值,但前提是该值不为空。