高级URL配置 url

NOTE
搜索引擎优化 (SEO) 已成为许多营销人员关注的重点。因此,必须在Adobe Experience Manager (AEM)as a Cloud Service的许多项目中解决SEO问题。 参见 seo和URL管理最佳实践 以获取其他信息。

AEM CIF核心组件 提供高级配置以自定义产品和类别页面的URL。 许多实施都自定义这些URL以实现搜索引擎优化(SEO)。 以下视频详细介绍如何配置 UrlProvider 的服务和功能 Sling映射 自定义产品和类别页面的URL。

配置 configuration

要配置 UrlProvider 服务根据SEO要求和需求,项目必须提供 CIF URL提供程序配置.

NOTE
自AEM CIF核心组件2.0.0版以来,“URL提供程序”配置仅提供预定义的URL格式,而不提供1.x版中已知的自由文本可配置格式。 此外,使用选择器在URL中传递数据的方法已替换为后缀。

产品页面URL格式 product

配置产品页面的URL并支持以下选项:

  • {{page}}.html/{{sku}}.html#{{variant_sku}}(默认)
  • {{page}}.html/{{sku}}/{{url_key}}.html#{{variant_sku}}
  • {{page}}.html/{{sku}}/{{category}}/{{url_key}}.html#{{variant_sku}}
  • {{page}}.html/{{sku}}/{{url_path}}.html#{{variant_sku}}
  • {{page}}.html/{{url_key}}.html#{{variant_sku}}
  • {{page}}.html/{{category}}/{{url_key}}.html#{{variant_sku}}
  • {{page}}.html/{{url_path}}.html#{{variant_sku}}

如果有 Venia引用存储

  • {{page}} 替换为 /content/venia/us/en/products/product-page
  • {{sku}} 替换为产品的SKU,例如, VP09
  • {{url_key}} 由产品的 url_key 属性,例如, lenora-crochet-shorts
  • {{url_path}} 由产品的 url_path例如, venia-bottoms/venia-pants/lenora-crochet-shorts
  • {{variant_sku}} 被当前选定的变体替换,例如, VP09-KH-S

由于 url_path 已弃用,预定义的产品URL格式使用产品的 url_rewrites 并选取路径段数最多的路径作为替代路径,如果 url_path 不可用。

对于上述示例数据,使用默认URL格式的产品变体URL如下所示 /content/venia/us/en/products/product-page.html/VP09.html#VP09-KH-S.

类别页面URL格式 product-list

配置类别或产品列表页面的URL,并支持以下选项:

  • {{page}}.html/{{url_path}}.html(默认)
  • {{page}}.html/{{url_key}}.html

如果有 Venia引用存储

  • {{page}} 替换为 /content/venia/us/en/products/category-page
  • {{url_key}} 替换为类别的 url_key 属性
  • {{url_path}} 替换为类别的 url_path

对于上述示例数据,使用默认URL格式设置的类别页面URL如下所示 /content/venia/us/en/products/category-page.html/venia-bottoms/venia-pants.html.

NOTE
url_path 是以下项的连接: url_keys 产品或类别的祖先以及产品或类别的 url_key 分隔方式 / slash。 每个 url_key 在给定存储中被视为唯一。

特定于存储的配置 store-specific-urlformats

由设置的系统范围类别和产品页面URL格式 CIF URL提供程序配置 可以针对每个商店进行更改。

在CIF配置中,编辑者可以选择替代产品或类别页面URL格式。 如果未在该处选择任何内容,则实施将回退到系统范围配置。

更改实时网站的URL格式可能会对网站的自然流量产生负面影响。 参见 最佳实践 ,并提前仔细规划URL格式的更改。

CIF配置中的URL格式

NOTE
特定于存储的URL格式配置需要 CIF核心组件2.6.0 以及最新版本的Adobe Experience Manager Content and Commerce加载项。

类别感知产品页面URL context-aware-pdps

由于可以对产品URL中的类别信息进行编码,因此也可以使用多个产品URL来寻址多个类别中的产品。

默认URL格式使用以下方案选择一种可能的替代方案:

  • 如果 url_path 由电子商务后端使用它来定义(已弃用)
  • url_rewrites 使用以产品的 url_key 作为替代项
  • ,则这些替代项会使用具有最多路径区段的替代项
  • 如果存在多个,则按照电子商务后端给定的顺序获取第一个

此方案选择 url_path 具有最多祖先,基于子类别比其父类别更具体的假设。 选定的 url_path 已考虑 规范 和始终用作产品页面或产品站点地图中的规范链接。

但是,当购物者从类别页面导航到产品页面,或从某个产品页面导航到同一类别中的另一个相关产品页面时,有必要保留当前类别上下文。 在本例中, url_path 选择应优先选择当前类别上下文中的替代项,而不是 规范 选项(如上所述)。

必须在以下位置启用此功能: CIF URL提供程序配置. 如果启用,则选择得分比其它得分高,但前提是

  • 它们匹配给定类别的 url_path 从开头(模糊前缀匹配)
  • 或者它们与给定类别的 url_key 任意位置(精确部分匹配)

例如,考虑对的响应 产品查询 下面的。 假定:

  • 用户在“2022年夏季新增产品”类别页面上
  • 商店使用默认类别页面URL格式

替代“new-products/new-in-summer-2022/gold-cirque-earrings.html”从头开始匹配上下文的两个路径区段。 即“new-products”和“new-in-summer-2022”。 如果商店使用的类别页面URL格式仅包含类别,则 url_key,仍会选择相同的替代项,因为它与上下文的 url_key 任何地方。 在这两种情况下,都会为“new-products/new-in-summer-2022/gold-cirque-earrings.html”创建产品页面URL url_path.

{
  "data": {
    "products": {
      "items": [
        {
          "sku": "VA18-GO-NA",
          "url_key": "gold-cirque-earrings",
          "url_rewrites": [
            {
              "url": "gold-cirque-earrings.html"
            },
            {
              "url": "venia-accessories/gold-cirque-earrings.html"
            },
            {
              "url": "venia-accessories/venia-jewelry/gold-cirque-earrings.html"
            },
            {
              "url": "new-products/gold-cirque-earrings.html"
            },
            {
              "url": "new-products/new-in-summer-2022/gold-cirque-earrings.html"
            }
          ]
        }
      ]
    }
  }
}
NOTE
类别识别产品URL需要 CIF核心组件2.6.0 或更新版本。

特定类别和产品页面 specific-pages

可以创建 多类别和产品页面 仅用于特定类别子集或目录产品。

选择标准 specific-pages-selection

根据类别的 url_pathurl_key. 仅包含完整类别的URL格式支持匹配子类别 url_path. 否则,只有完全匹配的 url_key 是可能的。

特定产品页面按产品的SKU或类别进行选择。 后者要求在产品URL中对某些类别信息进行编码。 此功能仅适用于某些默认URL格式。 请参阅下表,比较哪种URL格式支持按SKU或类别选择特定的页面。

URL格式
按SKU
按类别
{{page}}.html/{{url_key}}.html
{{page}}.html/{{category}}/{{url_key}}.html
仅完全匹配
{{page}}.html/{{url_path}}.html
{{page}}.html/{{sku}}.html
{{page}}.html/{{sku}}/{{url_key}}.html
{{page}}.html/{{sku}}/{{category}}/{{url_key}}.html
仅完全匹配
{{page}}.html/{{sku}}/{{url_path}}.html
NOTE
需要按类别选择特定产品页面 CIF核心组件2.6.0 或更新版本。

深度链接 specific-pages-deep-linking

UrlProvider 已预配置为在创作层实例上生成指向特定类别和产品页面的深层链接。 此功能对编辑者非常有用,编辑者可以使用“预览”模式浏览网站,导航到特定产品或类别页面,然后切换回“编辑”模式以编辑页面。

另一方面,在发布层实例上,目录页面URL应保持稳定,以免失去搜索引擎排名等优势。 由于该发布层,默认情况下,实例不会呈现指向特定目录页面的深层链接。 要更改此行为,请 特定于CIF URL提供程序的页面策略 可以配置为始终生成特定的页面URL。

多个目录页面 multiple-product-pages

当编辑器希望完全控制站点的顶级导航时,可能不需要使用单个目录页面呈现目录的顶级类别。 相反,编辑者可以创建多个目录页面,每个目录页面对应一个要包含在顶级导航中的目录类别。

对于该用例,每个目录页面都可以具有对特定于为目录页面配置的类别的产品和类别页面的引用。 此 UrlProvider 使用这些连接为配置的类别中的页面和类别创建链接。 但是,出于性能原因,只考虑站点导航根/登陆页面的直接目录页面子项。

建议目录页面的产品和类别页面成为该目录页面的子项,否则导航或痕迹导航等组件可能无法正常工作。

NOTE
要全面支持多个目录页面,需要 CIF核心组件2.10.0 或更新版本。

自定义 customization

自定义URL格式 custom-url-format

要提供自定义URL格式,项目可以实施 ProductUrlFormatCategoryUrlFormat 服务接口,并将实现注册为OSGI服务。 这些实施(如果可用)会替换已配置的预定义格式。 如果注册了多个实施,则服务排名较高的实施将替换服务排名较低的实施。

自定义URL格式实施必须实施一对方法,以便从给定参数构建URL,并解析URL以分别返回相同的参数。

与Sling映射组合 sling-mapping

除了 UrlProvider,也可以配置 Sling映射 重写和处理URL。 AEM原型项目还提供 示例配置 为端口4503(发布)和80(调度程序)配置一些Sling映射。

与AEM调度程序相结合 dispatcher

通过将AEM Dispatcher HTTP服务器与结合使用,还可以实现URL重写 mod_rewrite 模块。 此 AEM项目原型 提供了参考AEM Dispatcher配置,其中已包含基本 重写规则 生成的大小。

最佳实践 best-practices

选择最佳的URL格式 choose-url-format

如在选择一种可用的默认格式,甚至实施自定义格式之前所述,这在很大程度上取决于存储的需求和要求。 以下建议可能有助于做出有根据的决定。

使用包含SKU的产品页面URL格式。

CIF核心组件使用SKU作为所有组件的主要标识符。 如果产品页面URL格式不包含SKU,则需要使用GraphQL查询来解析它。 此解决方案可能会影响第一字节的时间。 此外,可能希望购物者可以使用搜索引擎按SKU查找产品。

使用包含类别上下文的产品页面URL格式。

CIF URL提供程序的某些功能仅在使用产品URL格式时可用,这些格式对类别上下文(如类别)进行编码 url_key 或类别 url_path. 即使新存储可能不需要这些功能,在开始时使用这些URL格式之一有助于减少未来的迁移工作。

URL长度和编码信息之间的平衡。

根据目录大小,特别是类别树的大小和深度,对完整目录进行编码可能不太合理 url_path 类别到URL中。 在这种情况下,可以通过仅包含类别的 url_key 而是。 此方法支持使用类别时可用的大多数功能 url_path.

此外,使用 Sling映射 将SKU与产品相结合 url_key. 在大多数电子商务系统中,SKU遵循特定的格式,并将SKU与 url_key 对于传入请求,应该可以轻松实现。 考虑到这一点,应该可以将产品页面URL重写为 /p/{{category}}/{{sku}}-{{url_key}}.html,类别URL为 /c/{{url_key}}.html 的量度。 此 /p/c 要将产品和类别页面与其他内容页面区分开来,仍然需要前缀。

迁移到新URL格式 migrate-url-formats

许多默认URL格式以某种方式相互兼容,这意味着由一种格式设置的URL可能会被另一种格式解析。 这有助于在URL格式之间迁移。

另一方面,搜索引擎需要时间来重新爬网具有新URL格式的所有目录页面。 为了支持此过程并改善最终用户体验,建议提供可将用户从旧URL转发到新URL的重定向。

其中一种方法是将暂存环境连接到生产电子商务后端,并将其配置为使用新的URL格式。 然后,获取 CIF产品Sitemap生成器生成的产品Sitemap 用于暂存和生产环境,并使用它们创建 Apache httpd重写映射. 然后,可以将此重写映射与新URL格式的推出一起部署到Dispatcher。

示例 example

Venia引用存储 project包含示例配置,用于演示自定义URL在产品和类别页面中的用法。 此配置允许每个项目根据其SEO需求,为产品和类别页面设置单独的URL模式。 CIF组合 UrlProvider 和如上所述的Sling映射一起使用。

NOTE
必须使用该项目使用的外部域调整此配置。 Sling映射基于主机名和域工作。 因此,此配置在默认情况下处于禁用状态,必须在部署之前启用。 为此,请重命名Sling映射 hostname.adobeaemcloud.com 文件夹位置 ui.content/src/main/content/jcr_root/etc/map.publish/https 根据使用的域名,并通过添加以下内容启用此配置 resource.resolver.map.location="/etc/map.publish"JcrResourceResolver 项目的配置。

其他资源 additional

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab