拿500个外链跑了一遍,37%的404、12%的302跳到了色站、还有8个域名直接被墙,没做批量检测之前根本不知道链接质量差到这个程度
一个做了三年外链推广的朋友上个月被客户投诉了——客户发现文章里好几个"权威引用链接"点进去要么404,要么跳转到了博彩页面。朋友翻了一下自己的外链表,500多条链接,每条都是当初花时间找的、审核过的。但时间过去了,域名过期了、页面被删了、有些站直接被黑了。三个月没检查,坏链比例超过了三分之一。
链接是会"变质"的资产。今天正常的页面,明天可能404;今天正经的网站,明天可能被挂马跳色站。不管你是做外链建设、站内死链排查、友情链接监控还是内容审核,链接批量检测都不是"做一次就行"的事,而是应该跑在定时任务里的日常操作。这篇文章从工具选型、检测维度、常见坑到自动化方案,把链接批量检测这件事拆开来讲。
链接批量检测,你应该盯住的四个维度
| 1 | HTTP状态码:200正常、301/302重定向、404死链、500服务器错误,这是最基本的,但也是最容易被忽略的——很多人只关心"能不能打开",不关心"打开了什么" |
| 2 | 重定向链追踪:一个链接可能301到A、A又302到B、B最终200落地。中间每一跳都可能出问题,3跳以上的重定向链搜索引擎基本不会跟 |
| 3 | 页面内容变化:链接能打开,但页面内容已经面目全非——域名过期被抢注、站被黑挂马、页面改版内容全换。光看状态码不够 |
| 4 | 响应速度与可用性:链接能打开但响应超过5秒,或者间歇性超时,对用户体验和搜索引擎爬虫来说等于不可用 |
一、站内死链批量扫描,三款工具覆盖从入门到专业

站内链接检测和站外链接检测的难度完全不是一个量级。站内你可以爬、可以遍历、可以拿到完整的页面DOM树。站内检测的核心诉求是:找出所有内链中的死链、定位死链在哪个页面的哪个位置、批量修复或重定向。以下三款工具按上手难度排列。
Screaming Frog SEO Spider
这基本是SEO圈的标配工具。免费版可以爬500个URL,付费版每年259美元不限量。爬完一个站之后,切到"Response Codes"标签页,所有非200状态码的链接全部列出来,包括来源页面、链接位置(是导航栏还是正文中)、链接类型(内链/外链/图片/JS/CSS)。比较实用的是它的"Bulk Export"功能——把所有404链接的来源页面和锚文本导出一份CSV,直接交给开发去修。一个500页以内的站,从爬取到出报告大概10分钟。
Sitebulb
和Screaming Frog功能相近,但报告更"人话"。它把链接问题按严重程度分成"提示""警告""错误"三个等级,每个问题后面附一段解释和修复建议。比如"发现47个内链指向404页面,这些链接分散在12个页面中,建议优先修复导航栏中的3个高频链接"——不用你自己去交叉分析。价格月付15美元起。如果团队里有非技术人员需要看懂检测报告,Sitebulb的呈现方式更容易沟通。
Xenu Link Sleuth
一款完全免费的老牌工具,不到1MB。输入网址就能递归爬取所有页面,检测所有链接状态,最终生成一份HTML格式的详细报告。死链标红,活链标绿,一目了然。短板是界面比较"上古",不支持HTTPS证书校验。但如果你只需要快速扫一遍站内死链、不花一分钱,Xenu完全够用。
Xenu:零成本入门
免费、轻量、上手快。适合个人站长偶尔检查一两个小站,不支持HTTPS证书校验
Screaming Frog:专业标配
免费版500页、付费不限量。数据导出灵活,是团队协作和定期巡检的常用选择
Sitebulb:报告最人性化
按严重程度分级、附修复建议。适合非技术人员查看报告,价格中等
二、外链批量检测,手动点击就是浪费生命
外链检测比站内检测复杂得多。你不可能爬对方网站,只能一条一条去请求URL。但外链数量动辄几百上千条,手点不现实,必须上批量工具。
在线批量检测工具(免安装,粘贴即用)
适合快速验证一堆URL的状态,不需要安装任何软件。
| 工具名称 | 免费额度 | 核心功能 | 适合场景 |
|---|---|---|---|
| BulkURLChecker.com | 前300条免费 | 状态码、重定向链、响应时间、软404检测 | 大批量外链初步筛选 |
| 一可批量URL检测 | 免费 | 多线程并发、状态码分类、CSV导出 | 中文界面,适合国内用户 |
| 测罗HTTP状态检测 | 单次50条 | 多UA模拟、重定向链追踪 | 小批量精准验证 |
| Enfect Bulk URL Checker | 免费 | HTTP状态码、重定向、CSV导出 | 英文界面,海外用户 |
在线工具的优点是零门槛、即开即用,缺点也很明显:单次URL数量有上限、检测速度受服务器限制、隐私性差(你的外链列表上传到了第三方服务器)。适合临时抽查或小规模验证,不太适合作为日常巡检方案。
桌面端批量工具

杨圣亮的"网址链接有效性批量检测工具"是国内SEO圈比较常用的桌面端方案。支持多线程并发、自定义线程数(设高了能一分钟跑上千条)、一键导出检测结果。不需要上传到云端,数据在本地处理。另一个选择是爱站SEO工具包里的"死链检测"模块,和爱站其他功能(关键词监控、收录率查询、排名追踪)打通,适合已经在用爱站生态的用户。
三、自己写脚本跑,灵活度最高但也最容易被反爬坑
如果你需要检测的链接类型比较特殊(比如要模拟特定User-Agent、验证页面内容是否含特定关键词、自定义重试策略),现成工具可能满足不了。这时候自己写Python脚本是最灵活的方案。
以下是一个最小可用的批量链接检测脚本,用了asyncio + aiohttp做并发,1000条链接大概30秒跑完:
import asyncioimport aiohttpimport csvHEADERS = {'User-Agent': 'Mozilla/5.0 (compatible; LinkChecker/1.0)'}async def check_url(session, url, semaphore):async with semaphore:try:async with session.head(url, timeout=aiohttp.ClientTimeout(total=10),allow_redirects=True, headers=HEADERS) as resp:return {'url': url, 'status': resp.status, 'final_url': str(resp.url)}except asyncio.TimeoutError:return {'url': url, 'status': 'TIMEOUT', 'final_url': ''}except Exception as e:return {'url': url, 'status': f'ERROR:{str(e)[:50]}', 'final_url': ''}async def batch_check(urls, concurrency=30):semaphore = asyncio.Semaphore(concurrency)async with aiohttp.ClientSession() as session:tasks = [check_url(session, url, semaphore) for url in urls]return await asyncio.gather(*tasks)# 从CSV读取链接列表with open('links.csv', 'r', encoding='utf-8') as f:urls = [row[0] for row in csv.reader(f) if row]results = asyncio.run(batch_check(urls))# 导出结果with open('link_check_result.csv', 'w', newline='', encoding='utf-8') as f:writer = csv.DictWriter(f, fieldnames=['url', 'status', 'final_url'])writer.writeheader()writer.writerows(results)# 分类统计ok = [r for r in results if r['status'] == 200]dead = [r for r in results if r['status'] in (404, 410)]redirect = [r for r in results if r['status'] in (301, 302, 307, 308)]errors = [r for r in results if isinstance(r['status'], str)]print(f"正常:{len(ok)} | 死链:{len(dead)} | 重定向:{len(redirect)} | 异常:{len(errors)}")自写脚本要注意的三个坑:
· 很多网站会反爬,HEAD请求可能被拦截返回403,这时候要回退用GET但只读前几个字节(stream=True);
· 并发数设太高可能被目标服务器封IP,建议从10开始逐步调高;
· 有些CDN或WAF会对特定User-Agent返回假200,建议准备2-3个不同的UA轮换。
四、四类检测方案怎么选,看数据量和技术能力
| 方案类型 | 适合数据量 | 技术门槛 | 检测深度 | 可自动化 | 成本 |
|---|---|---|---|---|---|
| 在线工具 | 单次50-300条 | 零门槛 | 状态码+重定向 | 无 | 免费 |
| 桌面工具 | 单次1000-5000条 | 低 | 状态码+重定向+锚文本 | 低 | 免费或一次性付费 |
| 专业爬虫 | 全站任意量 | 中 | 完整:状态码+重定向链+来源页面+链接位置 | 中 | 年付1000-2000元 |
| 自写脚本 | 无上限 | 高 | 完全自定义 | 高 | 服务器费用 |
如果你是个人站长管1-2个站,在线工具+桌面工具组合基本够了。如果管理5个以上站、外链超过500条,建议上专业爬虫工具做定期巡检。如果检测需求特别定制化(比如要验证链接页面里是否还保留着你的锚文本和链接),那就得自己写脚本了。
五、链接检测中很容易被忽略的四个坑
只查状态码不追重定向链
一个链接返回200,你以为一切正常。但中间可能经历了:原URL(301)→ 中间页A(302)→ 中间页B(301)→ 最终落地页(200)。搜索引擎爬虫在跟了2-3跳之后就会放弃,这个链接对你的SEO价值基本归零。而且中间跳转经过了什么页面你完全不知道——可能是被黑了挂马、可能是跳到了竞品网站。
正确做法:检测链接时必须开启"追踪重定向"选项,记录完整跳转链。重定向超过2跳的链接标记为"需修复",超过3跳的直接当作死链处理。
不区分内链和外链的检测优先级
内链死链和外链死链的处理优先级完全不同。站内404会直接浪费搜索引擎的抓取预算——爬虫花时间爬了一个不存在的页面,少爬了你真正想让它收录的内容。外链404虽然不影响你自己的抓取预算,但如果你在文章里引用了一个"权威来源"结果点进去404,读者会觉得你内容质量不行。
建议处理优先级:站内死链(立即修)> 友情链接死链(通知对方或移除)> 正文引用外链死链(找替代来源或删除链接)> 评论/留言区外链死链(低优先级)。
检测频率一刀切,不做差异化

不同类型的链接"变质"速度不一样。发在别人网站上的外链、友情链接、第三方资源引用链接,你控制不了,失效速度快。自己站内的内链,只要没有大规模改版或删页面,相对稳定。
内链检测频率
每月一次即可。改版或批量删页面后立即全站扫一遍。日常靠Google Search Console的"抓取异常"报告做补充监控
外链检测频率
建议每两周一次。如果你同时在大量做外链建设(每月新增100+条),最好每周跑一次
友情链接检测频率
建议每周一次。对方可能随时撤掉你的链接、加nofollow、或对方网站出问题。不只要查状态码,还要查对方页面是否真的还挂着你的链接
检测完不跟进,报告扔在文件夹里吃灰
这是最普遍的问题。跑了一下午检测,导出一份漂亮的CSV,看了一眼"哦有40个死链",然后就没有然后了。链接检测的价值不在"发现",而在"修复"。每次检测完至少要做三件事:站内死链设置301重定向或更新链接、外链死链评估是否值得联系对方修复、把检测结果归档对比看趋势(死链比例是在上升还是下降)。
六、除了状态码,链接检测还应该看哪些东西
很多人的链接检测止步于HTTP状态码——200就过、404就标记。但实际上状态码只是链接质量的最外层指标。以下几个维度同样重要:
| 检测维度 | 说明 | 检测方式 | 红线标准 |
|---|---|---|---|
| nofollow属性 | 外链加了nofollow就不传递权重,等于白做 | 抓取页面HTML解析rel属性 | 付费外链必须dofollow |
| 页面标题/内容变化 | 域名过期被抢注、站被黑、内容全换 | 抓取title标签和正文前200字做比对 | 标题和上次记录完全不同的标记可疑 |
| 锚文本是否还存在 | 对方可能删了你的链接但页面还在 | 页面内容中搜索你的域名 | 搜不到自己域名=链接已被移除 |
| 页面是否被墙/被屏蔽 | 国内用户无法访问的链接等于无效 | 从国内服务器发起检测请求 | 国内用户场景必须从国内IP检测 |
其中页面内容变化是最容易被忽视的维度。有些链接状态码200、页面能打开、标题也没变,但正文内容已经被替换成了完全不相干的东西。这在过期域名抢注场景中尤其常见——域名被回收后做了个新站,你原来的外链变成了指向一个毫不相关的页面。
七、多站管理时链接检测怎么系统化
如果你只有1-2个站,手动跑跑工具就够了。但如果你管着5个、10个、20个站,每个站都有几百条内链和外链要定期检测,手工操作完全跟不上。
用UC建站系统的多站看板可以统一监控所有站的链接健康状态。每个站的内链死链数量、外链失效比例、友情链接存活率这些指标都汇总到一个面板上,不用一个一个站去爬、去导出、去对比。检测频率可以按站差异化配置——主站每天扫一次,子站每周扫一次,新站上线前全量扫一次。
链接检测这件事做到系统化之后,重点就从前端的"找工具跑检测"变成了后端的"看数据做决策"。哪个站的外链失效率突然飙升(可能是对方网站批量出问题)、哪个友情链接被对方偷偷加了nofollow、哪批内容的内链结构有问题导致大量404——这些异常在数据面板上比在CSV文件里更容易被发现。
系统化检测的三个关键节点:
· 新站上线前:全站内链+所有引用外链一次性扫完,死链清零再上线
· 内容批量更新后:重点检测更新内容涉及的内链和外链,别让旧链接拖垮新内容
· 月度审计:全站链接健康度报告,对比上月数据看趋势,死链率、重定向链长度、外链存活率三项核心指标
链接批量检测不是一件技术含量多高的事,但它是那种"不做迟早出问题,做了立竿见影"的基础工作。500条外链跑一遍,发现三分之一有问题——修复这三分之一,比你新建100条外链的收益更直接。因为坏链不仅不贡献价值,还在持续拉低你的链接质量分。
从最便宜的Xenu开始扫一遍站内死链,到用在线工具批量验证外链存活,再到用脚本把检测做成定时任务——链接检测这件事的投入产出比,在SEO的日常运维里排得上前三。
