记录一下那天晚上的排查过程。索引报告里的有效页面一个月涨了两万条,看着是好事,实际流量没变,抽样发现新增的全是 /?tag=关键词 这类带参数的标签页。
刚开始盯着「标签组合由内容自动生成,数量随文章增长持续膨胀」,折腾了半个多小时,排掉了。
把日志和配置对完,能解释这个现象的基本就这几处。标签云把每个标签都输出成带参数的链接。还有一种是标签页没有 canonical,也没有 noindex,被当成独立页。
还有一种情况,sitemap 生成时把标签页也一并收录了进去。
先统计索引里带参数的地址占比
awk -F'?' 'NF>1{print $7}' access.log | cut -d? -f1 | sort | uniq -c | sort -rn | head
然后确认标签页的 canonical 指向
curl -s 'https://www.example.com/?tag=seo' | grep -o '<link rel="canonical"[^>]*>'
随后把标签页改成指向对应聚合页
add_filter('get_canonical_url', 'tag_canonical_fix');
从 sitemap 中排除标签分类
add_filter('wp_sitemaps_taxonomies', fn($t) => array_diff_key($t, ['post_tag' => 1]));
别只看报错消失,验证要多做一步。索引量回落到上涨前的水平,新增条目以文章页为主,站内搜索带来的长尾流量没有减少。
索引量上涨不等于收录变好,先看新增的是哪类页面,再判断要不要保留。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。
