如何让Shopify中含?page=的页面不被索引?
解决Shopify分页页面设置Noindex的问题
方法1:通过主题模板添加精准的Noindex标签
之前改theme.liquid没效果大概率是判断逻辑不对,试试用Shopify内置变量来做判断:
- 进入Shopify后台,打开「在线商店」>「主题」> 点击当前主题的「编辑代码」
- 在左侧Layout目录下找到
theme.liquid文件 - 在
<head>标签内部,插入这段代码:
{% if request.page_number > 1 %} <meta name="robots" content="noindex, follow"> {% endif %}
这个逻辑直接用Shopify自带的request.page_number变量判断页码,不管URL参数格式是什么,都能精准识别分页页面,比手动解析URL参数靠谱得多。
方法2:修正robots.txt规则(辅助作用)
如果之前的robots.txt规则写错了也会无效,正确的写法是:
User-agent: * Disallow: /*?page=*
注意:要在Shopify后台的「设置」>「在线商店」>「偏好设置」>「搜索引擎列表预览」里编辑robots.txt,不要直接修改主题里的robots模板(部分主题自带的模板可能会被Shopify覆盖)。
另外要清楚:robots.txt是阻止爬虫抓取页面,而Noindex是让搜索引擎不索引已抓取的页面,两者要配合使用才能彻底解决问题。
方法3:排查冲突设置
- 检查集合模板文件(比如
collection.liquid或collection-template.liquid),看是否有单独设置的robots meta标签,有些主题会在集合模板里单独控制索引状态,可能会覆盖theme.liquid的规则,需要调整对应模板的逻辑。 - 确认后台「设置」>「在线商店」>「偏好设置」里的「搜索引擎可见性」是开启状态,如果关闭了,所有页面都会被Noindex,这不是你要的效果。
验证效果
修改部署后,打开任意分页页面,右键查看源代码,确认<head>里是否出现了<meta name="robots" content="noindex, follow">标签。也可以用Google Search Console的URL检查工具,提交分页URL,确认搜索引擎是否识别到Noindex指令。
内容的提问来源于stack exchange,提问作者Sandu Simon
相关产品推荐
相关产品推荐

