在现代电子商务中,SEO(搜索引擎优化)对于提升网站流量和增加销售额至关重要。然而,许多 Shopify 店主在使用产品集合页时,可能会遇到一个常见的问题:路由叠加。这种情况会导致生成多个不同的 URL 指向相同的产品页面,进而影响 Google 的 SEO 排名。本文将根据我自己的Shopify网站,探讨这一问题,并提供解决方案,给大家提供一些思路
什么是路由叠加问题?
当用户通过产品集合页(如新到货页面)点击进入产品详情页时,Shopify 会生成一个新的产品 URL。例如:
集合页 URL:icrochetit.com/collections…
详情页 URL:icrochetit.com/products/wh…
这两个 URL 指向相同的产品,但路径不同。这种情况不仅会在产品集合页中出现,有时在产品详情页后面还会带有一些杂乱的参数,形成不同 URL 的相同页面。例如,一件商品有多个颜色,不同颜色的 URL 可能为:
首选链接:www.shopify.com/product-1
其他颜色链接:www.shopify.com/product-1?v…
Google 在遇到这些情况时,可能会认为这些页面是重复内容,从而无法确定哪个页面应该获得权重,甚至可能会降低这些页面的 SEO 排名。
使用 Canonical 标签
为了解决这一问题,我们可以使用 canonical 标签。Canonical 标签能够帮助搜索引擎识别哪个是规范(首选)的 URL,即使存在多个 URL 指向相同的内容,也能避免内容重复的问题。具体操作如下:
在 main-product.liquid 文件的中添加以下代码:
<link rel="canonical" href="{{ shop.url }}{{ product.url }}">
这段代码会动态生成正确的 canonical URL,指向当前的产品页面,无论用户通过哪个路径访问。
修改 URL 生成方式
虽然 canonical 标签可以帮助解决部分问题,但它并不能完全解决产品集合页中的路由叠加问题。为此,我们需要进一步修改 URL 的生成方式,删除所有 | within: collection 过滤器。在 product-grid-item.liquid 文件中,将原代码:
<a
href="{{ product.url | within: collection }}"
class="product-card__link js-product-link"
title="{{ product.title }}"
tabindex="-1"
>
修改为:
<a
href="{{ product.url }}"
class="product-card__link js-product-link"
title="{{ product.title }}"
tabindex="-1"
>
通过删除 | within: collection 过滤器,我们确保了所有产品链接都指向规范的产品 URL,而不是带有集合路径的叠加 URL。
总结
Shopify 产品集合页的路由叠加问题可能会对 SEO 产生负面影响,但通过使用 canonical 标签和修改 URL 生成方式,我们可以有效地解决这一问题。