有状态URLSpartacus为店面的每个部分提供一个带有有状态地址的URL。这使用户更容易浏览店面,还允许网络爬虫为每个页面编制索引。因此,可以通过社交媒体、机器人和搜索索引共享更多页面。一个例子:为了为所有内容提供有状态的URL,Spartacus允许深度链接来寻址任何页面。URL路由配置还可以考虑多站点上下文,以便可以启动和缓存店面特定变体的有状态URL。可配置的URL您可以使用pageLabel字段(位于CMS后端)配置内容页面的URL。这些页面标签无法本地化。您可以在Spartacus中为非内容页面配置URL。这些主要与产品和类别页面(catagorypages)有关。您可以将产品名称等属性配置为URL的一部分。例如,产品页面的默认配置是storefront.com/product/1234,但您可以配置URL以包含与产品相关的数据,例如产品或类别标题。可配置的URL通常有助于改进SEO,但也可用于帮助将现有解决方案迁移到Spartacus:客户可以保留其现有URL并在Spartacus中配置等效的URL。注:商品代码用于后台解析商品数据。可以为SEO目的配置URL的其余部分。注意:一些客户的产品标题包含无法使用的特殊字符(例如,代码或标题中的斜杠)。这可能需要在URL中使用属性之前或之后对其进行特殊处理。请注意,Spartacus不包含处理特殊字符的功能。可索引页面服务器端呈现(SSR)是一种在服务器端呈现JavaScript逻辑然后在响应中提供丰富内容的技术。SSR响应包含网络爬虫从响应中索引或检索数据所需的完整HTML。SSR由Spartacus提供,计划成为CommerceCloud中的默认部署选项。结构化数据(schema.org)结构化数据是描述网站页面内容的标准化方式,使网络爬虫和搜索引擎更容易理解。Spartacus原生支持各种模式。HTML标签搜索引擎、社交平台和爬虫使用HTML标签,尤其是元标签,将页面元数据索引到他们的平台中。Spartacus提供了几种解析元标记的方法。HTML标题赋值代码位置:运行时调试:研究27行pageMetaService的getMeta方法调用,订阅meta$时,依次执行如下逻辑:this.cms.getCurrentPage();this.getMetaResolverthis.resolve每一步的输出都是下一步的输入。读取当前页面的方法:从ngrxstore读取:读取回页面数据:每个不同的页面都有对应类型的resolver:因为我当前打开的是商品页面,所以返回的商品页面metaresolver:动态调用resolveTitle方法:从代码中可以看出业务逻辑:商品页面的title属性,取值来自于商品名称、商品分类、商品厂商之间的联系。更多Jerry原创文章在这里:《王子熙》:
