现场是这样的。为了防止权重流失,编辑给「上一篇」「下一篇」和分页链接全加了 rel=”nofollow”,两个月后新文章的平均收录时间从 2 天变成 9 天。
中间走过弯路,把「上一篇下一篇是文章间主要的横向链接,掐断后孤岛页增多」当成主因,改完现象没变。
排查方向其实有限,先把可能性排一排。nofollow 阻断了列表页到详情页的权重通路;分页链接被 nofollow 后,第二页之后的文章失去入口;主题和插件各加一次 nofollow,同一链接出现两个 rel。
先统计站内 nofollow 链接数
curl -s https://www.example.com/post/ | grep -o 'rel="nofollow"' | wc -l
随后确认这些链接是否指向本站
grep -o '<a[^>]*nofollow[^>]*href="[^"]*"' post.html | grep -c example.com
去掉站内链接的 nofollow
sed -i 's# rel="nofollow"##g' theme/inc/links.php
剩下的就是确认只剩外链在用
grep -rn 'nofollow' theme/inc/ | head -20
别只看报错消失,验证要多做一步。站内 nofollow 数量降到个位数,新文章的平均收录时间回到 3 天以内,孤岛页数量下降。
提醒一点。nofollow 在站内等于关掉一条通路,除了登录、购物车这类无价值页,其余都不该加。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
