网站死链检测工具
Node.js编写的网站死链检测工具,爬取指定网站的所有链接,检测HTTP状态码,找出404/500等错误链接,支持排除外部链接,生成CSV死链报告,是网站维护和SEO优化的必备工具。
详细内容
const axios = require('axios'); const cheerio = require('cheerio');
const baseUrl = 'https://example.com';
const visited = new Set(); const deadLinks = [];
async function crawl(url) {
if(visited.has(url)) return; visited.add(url);
try {
const res = await axios.get(url, {timeout: 10000});
const $ = cheerio.load(res.data);
$('a').each((i, el) => {
const href = $(el).attr('href');
if(href && href.startsWith(baseUrl)) crawl(href);
});
} catch(e) { deadLinks.push({url, status: e.response?.status || 'ERROR'}); }
}
crawl(baseUrl).then(() => {
console.log('死链列表:', deadLinks);
console.log(`共检测 ${visited.size} 个链接,发现 ${deadLinks.length} 个死链`);
});
适配环境
依赖环境:Node.js 14+,需安装axios和cheerio
使用说明
1.安装Node.js
2.npm install axios cheerio
3.保存为deadlink.js
4.修改脚本中的目标网址
5.node deadlink.js 运行
修改baseUrl为你的网站地址
大网站建议设置爬取深度
可以排除外部链接只检查站内
结果导出为CSV方便查看
可以设置请求延迟避免被封
2.npm install axios cheerio
3.保存为deadlink.js
4.修改脚本中的目标网址
5.node deadlink.js 运行
修改baseUrl为你的网站地址
大网站建议设置爬取深度
可以排除外部链接只检查站内
结果导出为CSV方便查看
可以设置请求延迟避免被封
常见问题
问:会被网站封IP吗?
答:建议设置请求延迟(如500ms),不要爬太快
问:支持需要登录的页面吗?
答:不支持,只能检测公开可访问的页面