有状态的 URL
Spartacus 为店面的每一部分提供了一个带有状态地址的 URL。这使用户能够更轻松地浏览店面,还容许网络爬虫对每个页面进行索引。因而,能够通过社交媒体、机器人和搜寻索引共享更多页面。
一个例子:
为了为所有内容提供有状态的 URL,Spartacus 容许深层链接来寻址任何页面。URL 路由配置还能够思考多站点上下文,以便能够启动和缓存店面非凡变体的有状态 URL。
可配置的 URL
您能够应用 pageLabel 字段(位于 CMS 后端中)的配置内容页面的 URL。这些页面标签无奈本地化。
您能够在 Spartacus 中为非 content page 配置 URL。这些次要与产品和类别页面 (catagory page) 无关。您能够将产品名称等属性配置为 URL 的一部分。例如,产品页面的默认配置是 storefront.com/product/1234,但您能够配置 URL 以蕴含与产品相干的数据,例如产品或类别题目。
可配置的 URL 通常有助于改良 SEO,但也可用于帮忙将现有解决方案迁徙到 Spartacus:客户能够保留其现有 URL,并在 Spartacus 中配置等效 URL。
注:产品代码用于从后端解析产品数据。URL 的其余部分能够配置用于 SEO 目标。
留神:有些客户的产品题目带有无奈应用的特殊字符(例如,代码或题目中有斜线)。这可能须要在 URL 中应用属性之前或之后对其进行非凡解决。请留神,Spartacus 不包含解决特殊字符的性能。
可索引页面
服务器端渲染 (SSR) 是一种在服务器端渲染 JavaScript 逻辑,而后在响应中提供丰盛内容的技术。SSR 响应蕴含网络爬虫从响应中索引或检索数据所需的残缺 HTML。
SSR 由 Spartacus 提供,并打算成为 Commerce Cloud 中的默认部署选项。
结构化数据 (schema.org)
结构化数据是一种形容网站页面内容的标准化形式,使网络爬虫和搜索引擎更容易了解。Spartacus 原生反对各种模式。
HTML 标签
搜索引擎、社交平台和爬虫应用 HTML 标签,尤其是元标签,将页面元数据索引到他们的平台中。Spartacus 提供了多种解析元标记的办法。
HTML title 的赋值代码地位:
运行时的调试:
再钻研 27 行的 pageMetaService 的 getMeta 办法调用。
当 meta$ 被 subscribe 后,顺次执行下列逻辑:
- this.cms.getCurrentPage();
- this.getMetaResolver
- this.resolve
每一步骤的输入都是下一步骤的输出。
读取以后页面的办法:从 ngrx store 里读取:
读取回来的 page 数据:
每种不同的页面,都有对应类型的 resolver:
因为我以后关上的是 product page,所以返回的是 product page meta resolver:
动静调用 resolveTitle 办法:
从代码能看到业务逻辑:
产品页面的 title 属性,值来自产品名称,产品种类和产品制造商三者的连贯。
更多 Jerry 的原创文章,尽在:” 汪子熙 ”: