网站改版后排查
网站从旧 CMS 迁移到新系统,三千多篇文章的链接结构全变了。技术同事说『应该都做了 301 跳转』,但运营不敢直接上线,怕用户点开旧书签看到 404。把旧链接列表逐条扔进本工具,跑一轮就筛出 47 条没配跳转的漏网之鱼,赶在切流量前补上,上线当天旧链接访问全部正常。
| # | 链接 URL | 状态码 | 耗时 | 错误 |
|---|
网站改版后,面对上百个 URL 链接,一个个点开检查状态码太耗时。这个工具接受 URL 列表,批量发送 HEAD 请求,返回每个链接的 HTTP 状态码(200、301、404 等),并标记重定向终点。URL 列表提交到后端处理,不存留任何记录——适合迁移后批量排查死链、更新站点地图前做一轮筛选。
网站从旧 CMS 迁移到新系统,三千多篇文章的链接结构全变了。技术同事说『应该都做了 301 跳转』,但运营不敢直接上线,怕用户点开旧书签看到 404。把旧链接列表逐条扔进本工具,跑一轮就筛出 47 条没配跳转的漏网之鱼,赶在切流量前补上,上线当天旧链接访问全部正常。
和另一家行业网站谈友链互换,对方发过来 20 个首页链接,说『权重高、流量大』。用本工具批量校验后发现,其中 3 个链接实际返回 302 临时跳转(并非首页),还有 2 个直接 404。拿着检测结果跟对方重新谈条件,避免了用自己首页换无效链接的亏本交易。
SEO 工具报上周有 15 个页面出现 404 错误,但没给具体是哪些页面。手动点开每个怀疑的链接太慢,把近一周收录的 200 个新页面 URL 导出,用本工具批量跑一次,实际只有 3 个真 404(其余是工具误报)。省下的时间用来写修复工单,而不是花在逐个验证上。
信息流广告跑了三天,转化率突然掉了一半。怀疑是落地页链接在投放系统里被截断或拼错。把广告后台导出的 60 条投放链接复制进本工具,发现其中 8 条因为 URL 中多了一个空格,实际跳转到 404 页面。修复后转化率回升到正常水平,避免了继续烧钱打无效链接。
公司年度产品手册里嵌了 80 多个『了解更多』链接,排版公司已经出完印刷稿。印刷前用本工具把 PDF 中所有链接提取出来批量校验,发现其中 3 个跳转到旧版产品页(返回 301 跳转,但最终页内容已不相关)。赶在付印前更新了这 3 个链接,避免客户收到手册后点进过时页面。
| 输入 | 输出 | 说明 |
|---|---|---|
| https://www.example.com https://www.google.com https://www.github.com | https://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/404 | https://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/silian | https://www.quanbao5.com/wangzhan/silian → 200 OK | 边界:工具自身页面作为输入,验证工具能正常访问自身 URL 而不产生循环或阻塞 |
| https://a-very-long-domain-name-that-does-not-exist-1234567890abcdef.com | https://a-very-long-domain-name-that-does-not-exist-1234567890abcdef.com → DNS 解析失败 | 边界:不存在的域名,验证工具对 DNS 解析失败的处理(超时或返回错误) |
| https://httpstat.us/200?sleep=30000 | https://httpstat.us/200?sleep=30000 → 超时(30 秒无响应) | 边界:超长响应时间(30 秒),验证工具的超时机制(默认超时通常 10-15 秒) |
| ftp://files.example.com/readme.txt | ftp://files.example.com/readme.txt → 不支持的协议(仅 HTTP/HTTPS) | 易错:用户可能混入 FTP 或其他协议链接,工具应明确提示而非静默跳过 |
| https://httpstat.us/200 https://httpstat.us/200 https://httpstat.us/200 | https://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/404 | https://httpstat.us/200 → 200 OK (空行被忽略) https://httpstat.us/404 → 404 Not Found | 易错:输入中包含空行,验证工具对空行的处理(应忽略而非报错) |
1.URL 包含协议之外的空白字符
https://example.com/pagehttps://example.com/pageHTTP 协议不允许 URL 中出现换行、回车或首尾空格。工具按行解析时,空白字符会导致 DNS 解析失败,返回 -1 或超时,而非真正的 404。
2.未对 URL 做 URL 编码,特殊字符被截断
https://example.com/search?q=hello worldhttps://example.com/search?q=hello%20world空格、中文、&、# 等字符在 URL 中必须百分号编码。未编码的 URL 发送请求时,浏览器或服务端会从空格处截断,导致只校验了前半段,误判为 200。
3.混入非 URL 文本(如描述文字)
首页:https://example.comhttps://example.com工具按行解析,每行必须是一个完整的 URL。混入冒号、中文描述后,整行被当作无效 URL 处理,工具会跳过或报错,导致漏检。
4.使用相对路径而非绝对 URL
/abouthttps://example.com/about死链检查需要完整的协议 + 域名才能发起 HTTP 请求。相对路径缺少主机信息,工具无法确定目标服务器,默认标记为无效格式。
5.混淆 HTTP 和 HTTPS,误判为 301 跳转
http://example.comhttps://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#sectionhttps://example.com/page锚点是浏览器端行为,不会发送到服务器。工具发起的 HTTP 请求会忽略 # 及其后内容,导致校验结果与用户实际访问的页面不一致。应去掉锚点再提交。
状态码 = HTTP 响应头中的 status-code(RFC 7231)
URL待校验的完整网页地址status-code服务器返回的三位数字状态码输入 URL:https://example.com/broken-link。发送 HEAD 请求后服务器返回 status-code: 404。该 URL 被判定为死链(404 Not Found)。
本工具单次提交最多支持 5000 个 URL。如果列表超过这个数,建议分批处理,每次提交后导出结果再清空输入框。注意不要混合不同来源的 URL(比如把站内链接和外链混在一起),否则报告里的状态码分布会很难分析。如果确实需要批量检查数万条,可以考虑用本工具的 API 接口(联系客服申请),没有上限。
先看网络:检查过程中工具会并发请求,如果某个目标服务器响应极慢(比如超时 30 秒),整个队列会等它。此时可以刷新页面,工具会保留已完成的检查结果,未完成的 URL 会在下次提交时重新检查。如果反复卡在同一个 URL,大概率是那个网站屏蔽了批量请求,建议先手动确认该链接状态,再从列表中移除它。
301 是永久重定向,302 是临时重定向。对 SEO 来说,301 通常意味着网页地址已永久变更,搜索引擎会把权重转移到新 URL;302 则可能只是临时跳转(比如促销页),搜索引擎不一定转移权重。如果你在做网站改版,大量出现 301 是正常的;但如果原本是 200 的页面突然变成 302,且持续超过一周,建议检查是否有错误配置。
有几种可能:一是目标网站有负载均衡或 A/B 测试,不同请求命中不同服务器返回不同状态码;二是你的网络环境变化(比如从公司内网切到手机热点),某些中间代理会返回缓存结果;三是目标网站临时故障(比如 503 服务不可用),但过几分钟又恢复。建议对可疑链接间隔 1 小时检查三次,取多数结果为准。工具本身不会篡改状态码。
状态码为 0 代表网络层错误,通常是 DNS 解析失败、连接被拒绝或请求超时。这不是 HTTP 协议返回的合法状态码,而是工具在无法建立 TCP 连接时给出的标记。常见原因:域名已过期、服务器防火墙屏蔽了你的 IP、URL 拼写错误(比如多打了空格)。建议先手动 ping 或 curl 该域名确认可达性。
可以。检查完成后,结果列表支持按状态码筛选:点击表头的「状态码」列,下拉选择「404」即可只看失效链接。如果只想导出 404,先筛选再点「导出 CSV」,导出的文件只包含当前筛选结果。注意:筛选不会重新检查,只是隐藏其他行,所以导出前确认筛选条件是否正确。
不会。所有 URL 列表仅在内存中处理,检查完成后不会写入数据库或日志文件。如果刷新页面或关闭浏览器,输入框和结果都会丢失。这是为了保护隐私,尤其适合检查包含登录态或内网地址的链接。如果担心数据泄露,也可以使用本工具的离线版(基于 WASM 的浏览器端检查,无需上传)。
可能原因:工具请求时携带的 User-Agent 是标准爬虫头,而手动打开用的是浏览器,某些网站会根据 User-Agent 返回不同内容(比如反爬虫策略)。另外,如果页面有 JavaScript 重定向或动态加载,工具只检查初始 HTTP 状态码,不会执行 JS,所以看到的 200 可能是空壳页面。建议用浏览器的「查看网页源代码」确认服务器实际返回了什么。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。