友情链接对方把 a 标签换成了 onclick 跳转,蜘蛛读不到链接,交换了半年的外链一条权重都没传过来。
一开始怀疑是「链接放在 iframe 或脚本渲染的模块里」,查了一圈,方向不对。
这类报错背后常见的原因有几处,逐个排除就行。链接用脚本跳转,href 是 # 或 javascript:。还有一种是对方加了 nofollow 但没有告知。
不容易想到的是,锚文本是图片且没有 alt。
动手时先抓取对方页面看链接写法
curl -s https://partner.example.com/ | grep -o '<a[^>]*>' | head -20
要求改成标准 a 标签
<a href="https://www.example.com/">站点名</a>
接着确认没有 nofollow
curl -s https://partner.example.com/ | grep -c 'nofollow'
定期抽查外链存活
curl -sI https://partner.example.com/ | head -1
同样的操作我在测试机上先走了一遍,线上只做验证过的部分。
这台环境是别人交接的,不少默认值被动过,只能一项项核。
别只看报错消失,验证要多做一步。对方改回标准链接后,日志里出现来自该站的蜘蛛请求,外链报告里状态变为有效。
提醒一点。外链要看源码里的 href,页面上能点不等于蜘蛛能跟。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
