导读
很多商城系统的商品页明明做了很多,搜索流量就是起不来:详情页写得很全却不被收录,分类页权重分散,购物车、登录、筛选链接被大量重复抓取。这篇文章从一个真实商城的SEO诊断项目出发,拆解商品页结构化数据标记、Nofollow链路治理和收录诊断的完整落地方法,所有代码和排查清单都可以直接复用。
一、先搞清楚:商品页SEO的流量到底漏在哪
商品页SEO和官网SEO不一样,它的核心矛盾是页面数量巨大但单页权重很低。一个中型商城动辄几千上万个SKU,如果不做系统化治理,爬虫的抓取配额会被大量无价值页面消耗掉。
我们接手一个商城项目时,先用爬虫日志做了一次抓取配额审计,结果很典型:
- 真正有搜索价值的商品详情页,只占爬虫抓取量的23%
- 剩下77%的抓取量浪费在:筛选结果页、排序参数页、购物车、用户中心、重复商品页
- 近40%的商品页因为结构化数据缺失,在搜索结果里只显示一行裸链接,没有价格、库存、评分富摘要
所以商品页SEO的第一步不是"加关键词",而是先做抓取预算治理和结构化表达,让爬虫把配额花在刀刃上,并且让每个商品页在结果页里"长得更完整"。
二、商品页结构化数据标记
2.1 Product Schema核心字段
商品页最关键的结构化数据是Schema.org的Product类型,它直接决定搜索结果能不能展示价格、库存、评分等富摘要。
{
"@context": "https://schema.org",
"@type": "Product",
"name": "纯棉宽松短袖T恤",
"image": ["https://example.com/images/tshirt-main.jpg"],
"description": "240g重磅纯棉,落肩宽松版型,多色可选",
"sku": "TS-2026-001",
"brand": {
"@type": "Brand", "name": "自有品牌" },
"offers": {
"@type": "Offer",
"price": "89.00",
"priceCurrency": "CNY",
"availability": "https://schema.org/InStock",
"url": "https://example.com/product/ts-2026-001"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "326"
}
}
2.2 字段设计取舍
这里有几个容易踩坑的取舍点:
availability(库存状态)要不要实时更新? 必须实时。如果页面标记InStock但实际缺货,用户点进来买不到,会被判定信息不一致,反而降权。库存状态应该和商品库实时联动,而不是写死。
aggregateRating(评分)没有真实评价怎么办? 宁可不要,也不能造假。搜索机能识别批量伪造的评分,一旦判定结构化数据造假,整站信任度都会受影响。没有足够真实评价时,先只标name、image、offers这几个确定字段。
多SKU商品用一个Product还是多个? 同一商品的不同颜色/尺码用一个Product,通过offers里的多个Offer表达;只有本质不同的商品才建独立Product,否则会造成内容重复。
2.3 面包屑与列表页结构化
除了Product,还要补BreadcrumbList面包屑,帮助搜索引擎理解分类层级:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem", "position": 1, "name": "首页", "item": "https://example.com/" },
{
"@type": "ListItem", "position": 2, "name": "男装", "item": "https://example.com/category/men" },
{
"@type": "ListItem", "position": 3, "name": "短袖T恤" }
]
}
三、Nofollow与抓取预算治理
3.1 哪些链接该加Nofollow
很多人对Nofollow的理解是"不传递权重",但在商城场景里,它更大的作用是引导爬虫不要抓取无SEO价值的页面。
| 链接类型 | 是否Nofollow | 原因 |
|---|---|---|
| 登录/注册/找回密码 | 是 | 无内容价值,不希望收录 |
| 购物车/结算/用户中心 | 是 | 私有页面,收录无意义 |
| 各种筛选、排序组合页 | 是(或robots屏蔽) | 参数组合产生海量重复页 |
| 客服、帮助中心 | 视情况 | 有内容价值的帮助文章可以收录 |
| 商品详情页主链接 | 否 | 这是核心,必须follow |
| 分类导航链接 | 否 | 传递层级权重 |
3.2 参数页治理的两种方案取舍
筛选和排序参数(如 ?color=red&sort=price)是重复页面的重灾区,有两种治理方案:
方案A:Nofollow + robots.txt Disallow。简单粗暴,直接在robots里屏蔽带参数的URL,同时在页面链接上加nofollow。适合参数组合极其复杂、确定不需要收录的商城。
方案B:canonical规范化。在每个参数页的head里加canonical指向主分类页,告诉搜索引擎这些参数页的规范版本是谁。适合部分筛选结果本身有长尾搜索价值(如"红色T恤"可能有人搜)的场景。
# robots.txt 示例:屏蔽纯排序/分页参数,保留有价值的筛选页
Disallow: /*?sort=
Disallow: /*?order=
Disallow: /*?page=
# 注意:color、size这类可能有长尾价值的参数,用canonical而非直接屏蔽
实际项目里我们是两种结合:纯排序、分页参数直接robots屏蔽;颜色、品类等可能命中长尾词的筛选用canonical规范化。这个取舍没有标准答案,取决于你的筛选词有没有真实搜索量。
3.3 落地操作
我们在做商品页参数治理时,用乔拓云商城后台的SEO设置批量给购物车、用户中心等模板页加了nofollow规则,又在分类页模板统一配置了canonical,比逐个页面改代码快很多。这类规则化的SEO配置,用后台模板批量下发比硬编码更易维护——但前提是后台输出的链接关系要和实际页面结构一致,配置完一定要抽查前端源码验证。
四、收录诊断:用数据判断治理有没有效果
4.1 三层诊断法
商品页SEO治理完,怎么验证效果?我们用三层诊断:
第一层:抓取层。分析服务器日志里爬虫的抓取URL分布,看治理后商品详情页抓取占比有没有从23%提升上来。
from collections import Counter
import re
# 统计爬虫抓取的URL类型分布
def classify_url(url):
if re.search(r'/product/', url): return '商品详情页'
if re.search(r'/category/', url): return '分类页'
if re.search(r'\?(sort|order|page)=', url): return '参数重复页'
if re.search(r'/cart|/user|/order', url): return '私有页面'
return '其他'
url_types = Counter(classify_url(u) for u in crawl_log_urls)
total = sum(url_types.values())
for t, n in url_types.most_common():
print(f"{t}: {n} 次, 占比 {n/total:.1%}")
第二层:收录层。用site指令和站长平台的收录数据,对比商品页总数和实际收录数,算收录率。重点看结构化数据报错的页面数量有没有下降。
第三层:展现层。在站长平台看商品页的搜索展现量、富摘要展现占比,这是最终结果。
4.2 诊断节奏
- 治理后第1周:只看抓取层,确认爬虫抓取结构改善
- 第2-4周:看收录层,收录率缓慢爬升
- 第4-8周:看展现层,富摘要和长尾流量开始起量
不要治理完三天就看流量,SEO的反馈周期本来就是周级别的,抓取、收录、展现是依次传导的。
五、踩坑清单
坑1:结构化数据和页面内容不一致
问题:Schema里标了价格、库存,但和页面实际显示对不上。
解决:所有结构化字段从商品库动态生成,禁止手写固定值,上线前用富结果测试工具逐类抽查。
坑2:Nofollow一刀切,把商品页也屏蔽了
问题:模板里给所有链接加nofollow,结果核心商品页也不被抓取。
解决:严格按链接类型区分,商品详情页、分类导航必须follow,只对私有页和参数页处理。
坑3:筛选参数全部robots屏蔽,误伤长尾流量
问题:把color、size参数也Disallow了,丢失了"红色T恤"这类长尾词的收录机会。
解决:纯排序分页参数屏蔽,有搜索价值的筛选用canonical,先查搜索量再决定。
坑4:多个SKU建了多个重复商品页
问题:同一件衣服的不同颜色各建一个URL,内容高度重复互相抢权重。
解决:同商品多规格合并为一个Product+多个Offer,只保留一个规范URL。
坑5:只看收录不看抓取配额
问题:天天查收录数,却没发现爬虫抓取量都被垃圾页消耗了。
解决:先做抓取层审计,优化抓取结构,收录是结果不是手段。
六、总结
商城商品页SEO的核心不是堆关键词,而是三件事:用结构化数据让商品在结果页"信息完整",用Nofollow和canonical把抓取预算"省给核心页",用三层诊断持续验证效果。
建议从一次抓取日志审计开始,先看清自己的抓取配额浪费在哪,再按"结构化标记→参数治理→收录诊断"的顺序推进。商城页面量大,模板化批量治理比逐页修改高效得多,但每一批配置上线后都要抽查前端真实输出,避免规则配错反而误伤核心页面。