如何在 Shopware 6 中创建 SEO 网址
Posted
技术标签:
【中文标题】如何在 Shopware 6 中创建 SEO 网址【英文标题】:How to create SEO urls in Shopware 6 【发布时间】:2021-01-05 13:33:45 【问题描述】:我有一家在 Shopware 6 上运行的商店。数据正在从 Magento 1.8 迁移到该商店。在 magento 商店中,可以为一个产品分配多个 url。这样productA
就可以通过shop.domain/productA
、shop.domain/categoryA/productA
、shop.domain/categoryA/bategoryB/productA
访问。
在产品导入后的商店软件中,它只有一个链接 - shop.domain/product-a
(商店软件将名称解析为 url 键的方式与 magento 不同,以防我拥有一些更疯狂的产品名称)。
我需要帮助以使产品具有与 magento 中相同的链接 - shop.domain/productA
、shop.domain/categoryA/productA
、shop.domain/categoryA/bategoryB/productA
。我该怎么做?
如果这是不可能的,那么我至少如何为产品分配一个自定义 url-key
使其与 magento 中的相同?
我发现 Shopware 中的产品实体与 seo_url
实体有关系,我一直在尝试通过 API 将不同的组合推送到该端点,例如:
'foreignKey' => $shopwareProducts[0]->id,
'salesChannelId' => $germanySalesChannelId,
'routeName' => 'frontend.navigation.page',
'pathInfo' => 'productA',
'seoPathInfo' => 'seoPathInfoTest'.$shopwareProducts[0]->id
它似乎没有错误地进入,但我不知道如何让它在店面工作(意思是 elink 给了我 404)。有一个 Settings->SEO 页面,其中似乎配置了 URL,但我不知道如何构建 sn-p 以使其工作(尝试了 % for part in product.seoUrls % part.seoPathInfo|lower /% endfor %
的变体)。
我尝试使用的另一件事是产品的规范 URL 设置,并在 SEO 路径字段中输入一些路径,但它总是给我这个错误:
errors [ … ]
0 Object status: "404", code: "FRAMEWORK__SEO_URL_ROUTE_NOT_FOUND", title: "Not Found", …
status "404"
code "FRAMEWORK__SEO_URL_ROUTE_NOT_FOUND"
title "Not Found"
detail "seo url route\"\" not found."
meta Object parameters: …
parameters Object routeName: ""
routeName ""
我对商店用品很陌生,这一切都让我很困惑:/ 有人可以帮忙吗? Shopware 文档在这方面完全没有帮助。哦,我需要使用 API,因为我有大约 1600 种产品要导入,所以不能手动完成。我可以轻松地从 magento 中提取所有 url 密钥,如果我知道如何将它们推送到商店软件中 (seo_url
?),那么我将被保存。
类别相同 - 有没有办法让它们使用不同的 url 键?
也可以为一个产品分配多个 url,还是只有一个?
我还没有启用缓存。
【问题讨论】:
【参考方案1】:所有你要做的就是去刷新你的索引。之后清除缓存。
设置 -> 系统 -> 缓存和索引
之后将生成 seo 网址。不过你得等一会儿
【讨论】:
问题是我不知道我是否以正确的方式将数据推送到 seo_url,或者我是否以正确的方式设置了 SEO 设置。因此,一旦我设置它并刷新索引,我需要等待......直到什么?我不知道它是否工作:/我也没有启用缓存。 Ermin 表示您主动启动的生成需要一段时间,并且您可能会看到一些加载屏幕。 SEO URL 的生成取决于可配置的提供模式。以上是关于如何在 Shopware 6 中创建 SEO 网址的主要内容,如果未能解决你的问题,请参考以下文章