网站 / SEO · SEO 工具

死链检查

URL 列表→批量校验 200/301/404

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 54 次使用
输入网址 · 抓取页面提取链接 · 并发检测可达性
示例
正在抓取页面并检测链接…
远程抓取 + 并发检测,最多检查 50 个链接,可能需 20-30 秒
!
检查失败
检测总数 total
0
存活 alive
0
死链 dead
0
存活 0% 死链 0%
#链接 URL状态码耗时错误
输入网址后点击「检查」检测页面所有链接的可达性
就绪 · 同源 API 远程抓取页面并并发检测链接(最多 50 个)
第一节

关于本工具

About

网站改版后,面对上百个 URL 链接,一个个点开检查状态码太耗时。这个工具接受 URL 列表,批量发送 HEAD 请求,返回每个链接的 HTTP 状态码(200、301、404 等),并标记重定向终点。URL 列表提交到后端处理,不存留任何记录——适合迁移后批量排查死链、更新站点地图前做一轮筛选。

使用场景

网站改版后排查

网站从旧 CMS 迁移到新系统,三千多篇文章的链接结构全变了。技术同事说『应该都做了 301 跳转』,但运营不敢直接上线,怕用户点开旧书签看到 404。把旧链接列表逐条扔进本工具,跑一轮就筛出 47 条没配跳转的漏网之鱼,赶在切流量前补上,上线当天旧链接访问全部正常。

外链交换前验真

和另一家行业网站谈友链互换,对方发过来 20 个首页链接,说『权重高、流量大』。用本工具批量校验后发现,其中 3 个链接实际返回 302 临时跳转(并非首页),还有 2 个直接 404。拿着检测结果跟对方重新谈条件,避免了用自己首页换无效链接的亏本交易。

SEO 周报数据核实

SEO 工具报上周有 15 个页面出现 404 错误,但没给具体是哪些页面。手动点开每个怀疑的链接太慢,把近一周收录的 200 个新页面 URL 导出,用本工具批量跑一次,实际只有 3 个真 404(其余是工具误报)。省下的时间用来写修复工单,而不是花在逐个验证上。

广告投放链接巡检

信息流广告跑了三天,转化率突然掉了一半。怀疑是落地页链接在投放系统里被截断或拼错。把广告后台导出的 60 条投放链接复制进本工具,发现其中 8 条因为 URL 中多了一个空格,实际跳转到 404 页面。修复后转化率回升到正常水平,避免了继续烧钱打无效链接。

PDF 手册链接验证

公司年度产品手册里嵌了 80 多个『了解更多』链接,排版公司已经出完印刷稿。印刷前用本工具把 PDF 中所有链接提取出来批量校验,发现其中 3 个跳转到旧版产品页(返回 301 跳转,但最终页内容已不相关)。赶在付印前更新了这 3 个链接,避免客户收到手册后点进过时页面。

第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴或键入待检测 URL 列表(每行一个),支持 http/https 协议
  2. 2点击「开始检查」按钮,后端逐条发送 HEAD/GET 请求并记录状态码
  3. 3结果区实时更新每行 URL 的最终状态码(200/301/404 等)与响应耗时
  4. 4点击状态码旁的「详情」展开重定向链路或错误原因(如 DNS 解析失败)
  5. 5勾选特定状态码行后点「导出」按钮,下载 CSV 格式的检查报告

输入输出示例

输入输出说明
https://www.example.com https://www.google.com https://www.github.comhttps://www.example.com → 200 OK https://www.google.com → 200 OK https://www.github.com → 200 OK常规:三个常见正常站点,验证基本 HTTP 200 检测能力
https://httpstat.us/301 https://httpstat.us/302 https://httpstat.us/404https://httpstat.us/301 → 301 Moved Permanently https://httpstat.us/302 → 302 Found https://httpstat.us/404 → 404 Not Found常规:使用标准 HTTP 状态码测试服务,验证工具对 301/302/404 的准确识别
https://www.quanbao5.com/wangzhan/silianhttps://www.quanbao5.com/wangzhan/silian → 200 OK边界:工具自身页面作为输入,验证工具能正常访问自身 URL 而不产生循环或阻塞
https://a-very-long-domain-name-that-does-not-exist-1234567890abcdef.comhttps://a-very-long-domain-name-that-does-not-exist-1234567890abcdef.com → DNS 解析失败边界:不存在的域名,验证工具对 DNS 解析失败的处理(超时或返回错误)
https://httpstat.us/200?sleep=30000https://httpstat.us/200?sleep=30000 → 超时(30 秒无响应)边界:超长响应时间(30 秒),验证工具的超时机制(默认超时通常 10-15 秒)
ftp://files.example.com/readme.txtftp://files.example.com/readme.txt → 不支持的协议(仅 HTTP/HTTPS)易错:用户可能混入 FTP 或其他协议链接,工具应明确提示而非静默跳过
https://httpstat.us/200 https://httpstat.us/200 https://httpstat.us/200https://httpstat.us/200 → 200 OK https://httpstat.us/200 → 200 OK https://httpstat.us/200 → 200 OK易错:重复 URL 的输入,验证工具是否去重或逐条处理(本工具逐条处理,不自动去重)
https://httpstat.us/200 https://httpstat.us/404https://httpstat.us/200 → 200 OK (空行被忽略) https://httpstat.us/404 → 404 Not Found易错:输入中包含空行,验证工具对空行的处理(应忽略而非报错)

常见错误对照

1.URL 包含协议之外的空白字符

✗ 错误https://example.com/page
✓ 修复https://example.com/page

HTTP 协议不允许 URL 中出现换行、回车或首尾空格。工具按行解析时,空白字符会导致 DNS 解析失败,返回 -1 或超时,而非真正的 404。

2.未对 URL 做 URL 编码,特殊字符被截断

✗ 错误https://example.com/search?q=hello world
✓ 修复https://example.com/search?q=hello%20world

空格、中文、&、# 等字符在 URL 中必须百分号编码。未编码的 URL 发送请求时,浏览器或服务端会从空格处截断,导致只校验了前半段,误判为 200。

3.混入非 URL 文本(如描述文字)

✗ 错误首页:https://example.com
✓ 修复https://example.com

工具按行解析,每行必须是一个完整的 URL。混入冒号、中文描述后,整行被当作无效 URL 处理,工具会跳过或报错,导致漏检。

4.使用相对路径而非绝对 URL

✗ 错误/about
✓ 修复https://example.com/about

死链检查需要完整的协议 + 域名才能发起 HTTP 请求。相对路径缺少主机信息,工具无法确定目标服务器,默认标记为无效格式。

5.混淆 HTTP 和 HTTPS,误判为 301 跳转

✗ 错误http://example.com
✓ 修复https://example.com

如果站点强制 HTTPS,http:// 会返回 301 重定向到 https://。工具如实记录 301,但用户可能误以为链接有问题。实际应使用目标站点的最终协议版本。

6.URL 末尾多余斜杠导致 301 重定向

✗ 错误https://example.com/page/
✓ 修复https://example.com/page

部分 Web 服务器对带/和不带/的 URL 返回不同状态码:无斜杠返回 200,有斜杠返回 301。检查前应确认目标页面的规范 URL 是否包含末尾斜杠。

7.批量列表中混入空行或注释行

✗ 错误 https://example.com # 这是注释
✓ 修复https://example.com

工具按行逐条校验,空行会被当作空 URL 请求(无效),注释行会被当作实际 URL 请求(404)。建议提交前用文本编辑器清理非 URL 行。

8.忽略 URL 中的锚点(#)

✗ 错误https://example.com/page#section
✓ 修复https://example.com/page

锚点是浏览器端行为,不会发送到服务器。工具发起的 HTTP 请求会忽略 # 及其后内容,导致校验结果与用户实际访问的页面不一致。应去掉锚点再提交。

第三节

工作原理

How It Works

核心公式

状态码 = HTTP 响应头中的 status-code(RFC 7231)

变量说明

  • URL待校验的完整网页地址
  • status-code服务器返回的三位数字状态码

示例

输入 URL:https://example.com/broken-link。发送 HEAD 请求后服务器返回 status-code: 404。该 URL 被判定为死链(404 Not Found)。

粘贴 URL 列表(每行一个)逐条发送 HTTP 请求(HEAD 方法,不下载内容)解析状态码(200/301/404/其他)统计与归类(按状态码分组)输出结果表格(URL + 状态码 + 重定向目标)导出 CSV(本地保存)
用户输入 / 导出 后端处理 解析 / 输出结果
第五节

常见问题

Q & A
一次能检查多少个链接?有数量限制吗?

本工具单次提交最多支持 5000 个 URL。如果列表超过这个数,建议分批处理,每次提交后导出结果再清空输入框。注意不要混合不同来源的 URL(比如把站内链接和外链混在一起),否则报告里的状态码分布会很难分析。如果确实需要批量检查数万条,可以考虑用本工具的 API 接口(联系客服申请),没有上限。

检查到一半卡住了不动怎么办?

先看网络:检查过程中工具会并发请求,如果某个目标服务器响应极慢(比如超时 30 秒),整个队列会等它。此时可以刷新页面,工具会保留已完成的检查结果,未完成的 URL 会在下次提交时重新检查。如果反复卡在同一个 URL,大概率是那个网站屏蔽了批量请求,建议先手动确认该链接状态,再从列表中移除它。

报告里的 302 和 301 有什么区别,我该关注哪个?

301 是永久重定向,302 是临时重定向。对 SEO 来说,301 通常意味着网页地址已永久变更,搜索引擎会把权重转移到新 URL;302 则可能只是临时跳转(比如促销页),搜索引擎不一定转移权重。如果你在做网站改版,大量出现 301 是正常的;但如果原本是 200 的页面突然变成 302,且持续超过一周,建议检查是否有错误配置。

为什么同一个链接每次检查结果不一样?

有几种可能:一是目标网站有负载均衡或 A/B 测试,不同请求命中不同服务器返回不同状态码;二是你的网络环境变化(比如从公司内网切到手机热点),某些中间代理会返回缓存结果;三是目标网站临时故障(比如 503 服务不可用),但过几分钟又恢复。建议对可疑链接间隔 1 小时检查三次,取多数结果为准。工具本身不会篡改状态码。

检查结果里的 0 是什么意思?

状态码为 0 代表网络层错误,通常是 DNS 解析失败、连接被拒绝或请求超时。这不是 HTTP 协议返回的合法状态码,而是工具在无法建立 TCP 连接时给出的标记。常见原因:域名已过期、服务器防火墙屏蔽了你的 IP、URL 拼写错误(比如多打了空格)。建议先手动 ping 或 curl 该域名确认可达性。

能不能只检查 404,不导出其他状态?

可以。检查完成后,结果列表支持按状态码筛选:点击表头的「状态码」列,下拉选择「404」即可只看失效链接。如果只想导出 404,先筛选再点「导出 CSV」,导出的文件只包含当前筛选结果。注意:筛选不会重新检查,只是隐藏其他行,所以导出前确认筛选条件是否正确。

这个工具会把我提交的 URL 存下来吗?

不会。所有 URL 列表仅在内存中处理,检查完成后不会写入数据库或日志文件。如果刷新页面或关闭浏览器,输入框和结果都会丢失。这是为了保护隐私,尤其适合检查包含登录态或内网地址的链接。如果担心数据泄露,也可以使用本工具的离线版(基于 WASM 的浏览器端检查,无需上传)。

检查出来的 200 状态码页面,为什么我手动打开是 404?

可能原因:工具请求时携带的 User-Agent 是标准爬虫头,而手动打开用的是浏览器,某些网站会根据 User-Agent 返回不同内容(比如反爬虫策略)。另外,如果页面有 JavaScript 重定向或动态加载,工具只检查初始 HTTP 状态码,不会执行 JS,所以看到的 200 可能是空壳页面。建议用浏览器的「查看网页源代码」确认服务器实际返回了什么。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭