这类问题我又碰上了一次。投放同事把带 gclid 的落地页链接直接发到了几个外链平台,一个月后索引里这类地址涨到两万多条。这些页面内容与正文一致,只是参数不同,索引报告里重复内容占比明显上升。
第一反应是「广告平台自动生成的参数每次点击都不同 地址近乎无限」,验证下来不成立。
把日志和配置对完,能解释这个现象的基本就这几处。落地页没有做参数过滤 蜘蛛把每条带参地址当成独立页面;canonical 在带参页上没有指回无参版本;外链指向带参地址 把参数页推到了蜘蛛面前。
上来先统计索引来源里带参地址的数量
grep -o 'gclid=[^&"]*' access.log | wc -l
随后让带广告参数的请求 301 到干净地址
if ($args ~* 'gclid|utm_|fbclid') { return 301 $uri; }
给落地页补上指向自身的 canonical
<link rel="canonical" href="https://www.example.com/landing/">
联系外链方把地址换成无参版本
curl -s https://www.example.com/landing/ | grep -o 'canonical[^>]*'
恢复的判定其实很直接。加上参数跳转后,带 gclid 的抓取量一周内降到零,索引里那批地址在四周内基本清空,重复内容占比回到正常。
这里还有个坑。广告参数属于典型的无限地址来源,靠 robots 挡不住,最稳的做法是在入口处统一跳转到无参地址。这类问题最好一次改到位,反复小改反而容易把原因搅混。
