站点运营

站点运营:站内死链盘点,别让失效链接和图片拖慢站点

栏目调整、文章合并、外部资源下线之后,站内很容易留下死链。本文整理一套可执行的自查方法:用工具扫描、看日志与后台报错、抽查关键入口,并区分该 301、该 410 还是该直接改链接,把死链维护变成例行工作。

站点运营

站点运营:站内死链盘点,别让失效链接和图片拖慢站点

网站改过栏目、删过文章、换过图片或下载文件之后,站内往往会留下一些失效链接。访客点到会看到错误页,蜘蛛爬到会撞上 404。偶尔出现几条很正常,但如果长期不盘点,死链会分散在导航、正文、侧栏和资源引用里,既影响体验,也让抓取预算花在无效地址上。

死链通常从哪些地方冒出来

  • 内容调整:文章删除、合并或改 slug 后,旧地址没有处理,内链还指向老 URL。
  • 图片与附件:图片被替换、裁剪或改名,正文里的 img src 和下载链接仍然指向旧文件。
  • 栏目与导航:栏目合并后,导航、面包屑、侧栏推荐还保留已下线的分类地址。
  • 第三方资源:外链引用的站点改版、关闭,或者对方删除了原页面。
  • 静态资源:主题或插件更新后,旧的 CSS、JS、字体文件路径被移除,页面仍尝试加载。

自查可以分三步走

先用爬虫工具跑一遍站内

找一款能按站内范围抓取的爬虫工具,从首页出发,跟随内链和资源链接,导出状态码不是 200 的地址。重点看 404、410、5xx 和超时。跑的时候把“检查外部链接”也打开,但外链数量多时容易跑很久,可以分批处理。导出后按来源页面分组,方便判断是单篇正文的问题,还是全站导航或页脚的问题。

再看日志和后台报错

服务器访问日志里,404 记录能反映蜘蛛和访客实际撞到的地址。如果某个旧 URL 每天都有访问,说明还有外部链接或用户收藏指向它,处理优先级应该更高。内容管理系统如果有内部链接检查插件,也可以定期生成报告,但不要只依赖插件,插件可能漏掉动态生成的链接、表单提交后的跳转和 JavaScript 渲染出来的地址。

关键入口手动抽查

工具跑完之后,手动点一遍首页导航、栏目页、文章页的面包屑、侧栏热门推荐、页脚链接和下载按钮。有些死链藏在弹窗、标签页或分页组件里,爬虫不一定能触发。移动端菜单也值得单独看,折叠菜单里的链接有时和桌面端不是同一套。

处理方式:不是所有 404 都适合 301

  1. 有明确替代页:用 301 跳到最相关的新地址,不要统一跳到首页。整站 404 都跳首页,既不能让访客找到需要的内容,也容易让蜘蛛困惑。
  2. 内容确实删除:如果页面不会再提供,返回 410 或保留 404 都可以,但要让错误页给用户提供搜索框、热门栏目或返回上一级的入口。
  3. 只是链接写错:直接改掉正文或模板里的链接,比加一条重定向更干净。
  4. 图片和附件失效:能找回原文件就补回原路径;确认不用了,就从正文中移除引用,或者替换成仍然有效的图片。
  5. 外链失效:如果引用来源已经不存在,可以换成同主题的可用链接,或者删掉这条外链,避免读者点过去扑空。
处理死链时顺手确认一下:返回的是真 404 还是软 404。有些页面内容为空或提示“不存在”,但 HTTP 状态码仍是 200,这类地址不会出现在常规 404 报告里,需要单独检查。

把死链检查排进日常

不必每天全站扫描。内容更新频繁的站点可以每月跑一次站内爬虫,每次改版、批量删文或替换图床后额外做一次专项检查。把常见来源加入发布前检查清单:删文章时确认旧 URL 如何处理,换图片时确认正文引用是否更新,栏目合并时确认导航和面包屑已经同步。死链不会因为一次清理就永远消失,但有了固定节奏,至少不会等到访客反馈才发现。