今天,我访问我自己的shopify 网站的时候,我发现一个问题,每个产品后面都自动添加?variant=xxxx,总感觉url好长吖,不利于SEO。
而且不知道是不是之前添加了choose an option的原因还是其他,一个产品没有变体,访问的时候也自动添加了?variant=xxxx。反而, 在访问有变体的变体的时候,默认不添加。当你选了variant后,URL自动添加?variant=xxxx,而且选择不同的变量,还是变化的。
我记得在我刚开始上传产品的时候,单品的url都是正常,不会自动添加。
遇到问题,那我们就来解决,继续google 一下,果然还是有很多人遇到这个问题。
好多人建议是这样的
在product template里面找到如下代码
jQuery(function($) { new Shopify.OptionSelectors('productSelect', { product: {{ product | json }}, onVariantSelected: selectCallback, enableHistoryState: true });
然后把enableHistoryState: true
改成enableHistoryState: false
于是,我就去product-template.liquid里面搜,压根没有吖,这下慌了
有人说在theme.js.liquid里面直接拿enableHistoryState,我发现找到了。果然是代码不一样吖。
我用的supply,如下代码
function Product(container) { var $container = this.$container = $(container); var sectionId = this.sectionId = $container.attr('data-section-id'); this.settings = $.extend({}, defaults, { sectionId: sectionId, enableHistoryState: true,
把true 直接改成false,就可以了。
访问产品页后,就不会再product url 后面添加?variant=xxxx,即使你选择不同的变体,url都不会变化。