如何管理 Shopware 中的 SEO-Urls?

Posted

技术标签:

【中文标题】如何管理 Shopware 中的 SEO-Urls?【英文标题】:How to manage SEO-Urls in Shopware? 【发布时间】:2017-03-01 00:23:51 【问题描述】:

Shopware 在生成 URL 时似乎有一些“魔力”,我正在寻找可以向我解释这一点的人。

This is the code 的标准模板生成带有变量的 SEO-url,这些变量可以在后端的 SEO-router-settings 中配置:

* Product name *
block name='frontend_listing_box_article_name'
    <a href="$sArticle.linkDetails|rewrite:$sArticle.articleName"
       class="product--title"
       title="$sArticle.articleName|escape">
        $sArticle.articleName|truncate:50
    </a>
/block

SEO-router-settings 中的配置默认如下所示:

无论如何,输出有点不同:

http://www.DOMAIN.de/shop/CATEGORYNAME/18/PRODUCTTITLE?c=7

(所有大写字母表示真正正确的域名、类别和产品名称,为了我客户的隐私,这些都隐藏在这里)

这里的问题是不需要的 URL 参数“?c=7”,应该按照 SEO-router-options 中的定义将其省略。

第一个问题:如何在 URL 的末尾省略这个 URL 参数“c=7”?

当我调试这段代码时,我遇到了奇怪的事情。以下代码将产生两个不同的 URL,尽管它执行的是同一个术语:

这些是这里的问题:

    $sArticle.linkDetails|rewrite:$sArticle.articleName 的输出在 href-Attribute 和作为此链接标题的第二个输出之间是不同的。 $sArticle.linkDetails|rewrite:$sArticle.articleName 在 href-Attribute 中的输出将添加一个 URL 参数来描述类别的 id,这是不需要的: "?c=7"

第二个问题:

相同的模板代码怎么会如此不同?幕后有什么魔力?

【问题讨论】:

嗨 itinance,我最近遇到了同样的问题,但没有适当的解决方案。我想删除参数以提高 SEO 排名。据我所知,在产品详细信息页面上创建面包屑需要该参数,因为某些产品可以通过不同的类别(类别树)访问。这个参数似乎可以帮助面包屑找到正确的“树” 感谢您的发言。我维护另一个没有出现此附加参数“?c=$categorId”的商店用品(相同版本) 【参考方案1】:

我相信您对 Shopware 后端很熟悉。简而言之,看看我的答案:

    从详细信息页面网址中删除“?c=7”:

在搜索引擎优化/路由器设置中设置“从 URL 中删除 CategoryID = 否”。然后清除缓存。

    我认为存在多家商店,或者您已从其他电子商务系统迁移到商店用品。

您可以在以下位置查看这两个链接之间的联系 “s_core_rewrite_urls”表。只需备份表并清空它。点击 配置 > 缓存/性能菜单项并执行“重建 SEO URL 索引”。

更多信息请访问https://developers.shopware.com/blog/2015/08/11/the-shopware-seo-engine/

【讨论】:

谢谢!您能否也回答第二个问题并告诉我为什么连续两次调用 $sArticle.linkDetails|rewrite:$sArticle.articleName 会产生不同的结果? 我不确定。你还在得到不同的网址吗?然后将“s_core_rewrite_urls”表保持为空并跳过重建 SEO URL 步骤。希望你有表的备份。

以上是关于如何管理 Shopware 中的 SEO-Urls?的主要内容,如果未能解决你的问题,请参考以下文章

Shopware 6:在自己的自定义管理模块中获取 PHP 数据

如何将自定义订单状态添加到 shopware 6

Shopware 6 如何在scss中使用配置好的主题原色?

与 Shopware 6 中的其他字段的多对多关联

如何在 Shopware 6 中为订单添加自定义字段?

shopware 6 中的电子邮件模板变量