×
¥
查看详情
🔥 会员专享 文生文 SEO

网站断链检测与修复系统构建

👁️ 487 次查看
📅 Dec 11, 2025
💡 核心价值: 本提示词旨在指导用户构建一个自动化、系统化的网站断链检测与修复体系。通过定义核心业务参数,生成包含断链识别、优先级排序、工具部署、维护计划及效果监控的完整方案,帮助用户高效维护网站链接健康,提升用户体验与SEO表现。

🎯 可自定义参数(9个)

网站URL
需要进行链接维护的目标网站地址
网站类型
网站所属的类型
核心业务目标
希望通过链接维护实现的核心业务目标
断链检测范围
需要进行断链检测的页面或链接范围
现有技术栈/平台
网站当前使用的主要技术、框架或内容管理系统
已知高价值页面URL
已知的高流量、高转化或核心业务页面URL
可接受的修复措施
可以接受的断链修复方式
期望的报告频率
期望接收断链检测和修复报告的频率
预算范围
可用于链接维护工具的预算范围

🎨 效果示例

以下方案为“断链检测与修复系统”的端到端设计与实施指南,适配 https://shop.example.cn 的电商场景与现有技术栈,并控制在中等预算(月费100–500元)内。内容包含工具组合、首扫与记录、优先级评分、自动化落地、月度维护计划、SEO影响监控与持续改进。

一、工具组合与部署(预算友好,自动化为先)

  • 主动抓取(全站/深度):Screaming Frog SEO Spider(企业常用,支持JS渲染、Headless、API/CLI)
    • 用途:每周全站扫描、每日增量扫描(基于sitemap与最近更新清单)
    • 成本:约150元/月(按年授权折算)
  • CI/CD 链路门禁(每次发布阻断断链上线):Linkinator(开源,Headless Chrome)
    • 用途:针对变更URL/模板、sitemap与高价值页面做快速断链回归测试;新断链即失败
    • 成本:0元
  • 云端周期巡检与实时告警:Dr. Link Check(云服务)
    • 用途:每日云端巡检、邮件/Slack/飞书告警;补位桌面/自建方案
    • 成本:$19/月≈140元
  • 404实时告警与可视化:Nginx/反代日志 + Prometheus + Alertmanager + Grafana(或Loki/Promtail)
    • 用途:生产日志级实时监控404峰值、路径异常(含高价值页面)
    • 成本:自建0元;VPS/容器资源约50–100元/月
  • 搜索引擎层错误来源:Google Search Console + Ahrefs Webmaster Tools(免费版)
    • 用途:抓取/索引错误、断链回流、外链断开;用于SEO影响评估
    • 成本:0元

合计月度成本(典型):Screaming Frog 150 + Dr. Link Check 140 + 基础云主机 60 ≈ 350元,满足预算。

二、首次全站扫描与结果记录(示例表 + 可执行命令) 说明:我无法直接访问贵站进行抓取。以下给出“可执行命令+落地输出表结构”,并附上“示例数据(占位,供表头与流程验证)”。请按命令运行后,用实测数据替换示例。

A. 可执行命令

  1. Screaming Frog(Headless,周全站/日增量)
  • 全站扫描(以Linux为例): screamingfrogseospider --headless --crawl https://shop.example.cn
    --config /opt/sf/config.seospider
    --save-crawl --export-tabs "Response Codes:Client Error (4xx),Response Codes:Redirection (3xx),Internal:All"
    --output-folder /opt/sf/reports/$(date +%F)
    --timestamped-output --include-sitemap true --max-uri-length 4096 --respect-robots true

  • 按sitemap与最近更新清单(CMS导出urls.txt)增量: screamingfrogseospider --headless --mode list --url-list /opt/sf/urls.txt
    --config /opt/sf/config.seospider
    --save-crawl --export-tabs "Response Codes:Client Error (4xx)"
    --output-folder /opt/sf/reports/incremental/$(date +%F)

  1. CI/CD(Linkinator,部署前门禁)
  • GitHub Actions 示例 .github/workflows/link-check.yml name: Link check on: push: { branches: [main] } schedule: [{ cron: "0 1 * * " }] jobs: linkinator: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - run: npm i -g linkinator@latest - name: Run link check run: | linkinator https://shop.example.cn
    --recurse
    --timeout 10000
    --skip ".
    (logout|cart/add|/admin|/staging|\?page=\d{3,}).*"
    --format JSON
    --concurrency 20
    --sitemap https://shop.example.cn/sitemap.xml > report.json # 仅对站内链接4xx/5xx失败 cat report.json | jq '[.links[] | select((.status >= 400) and (.status < 600) and (.url | test("^https://shop\.example\.cn")))] | length' > count.txt echo "broken_count=$(cat count.txt)" if [ $(cat count.txt) -gt 0 ]; then exit 1; fi - uses: actions/upload-artifact@v4 with: { name: link-report, path: report.json }
  1. 404 实时告警(Nginx日志→Prometheus)
  • 使用 nginxlog-exporter 或 Promtail+Loki;以Prometheus规则示例: groups:
    • name: 404-alerts rules:
      • alert: High404Rate expr: sum(rate(nginx_http_requests_total{status="404"}[5m])) by (host) > 5 for: 5m labels: { severity: page } annotations: description: "过去5分钟404速率过高({{ $value }} /s)"
      • alert: HighValuePage404 expr: sum(rate(nginx_http_requests_total{status="404", path=~"/(cart|checkout|product/sku-ax92|category/sale|help/returns)"}[1m])) > 0 for: 1m labels: { severity: critical } annotations: description: "高价值页面出现404:{{ $labels.path }}"

B. 断链记录表(示例,运行后以实测数据替换) 列:断链URL | 指向页面URL | HTTP状态码 | 修复建议 | 优先级(1=最高)

备注:上述为示例位,真实结果以工具扫描输出为准。

三、优先级评分规则(透明可复用)

  • 评分维度与权重
    • 页面位置显要性(50%):导航/页头/结算链路/首页=高;正文=中;页脚/次级页=低
    • 引流流量(30%):高流量或转化关键页(cart/checkout/product)=高
    • SEO影响(20%):影响抓取路径、sitemap、内链权重传递、重要模板级错误=高
  • 评分映射
    • 1:影响结算/首页/主分类/高价值SKU,或出现于模板/导航/页头
    • 2:出现于产品页正文/帮助中心关键文档或类别页关键模块
    • 3:分页/筛选/次要内容模块
    • 4:外链/低流量区域
    • 5:边缘环境(预发/历史内容)

四、自动化与落地配置细节

  • 抓取策略(覆盖“全站/指定类型/动态/ sitemap/近期更新”)
    • 全站:Screaming Frog 每周全量(含图片/JS/CSS/链接)
    • 指定类型:按路径前缀过滤(/product, /category, /help),分别单独报告
    • 动态链接:启用参数抓取白名单(如 ?page=, ?sort=),黑名单噪声参数(?utm_*, ?fbclid)
    • sitemap:每日读取 /sitemap.xml 及子sitemap;对lastmod更新的URL触发增量爬
    • 近期更新:CMS在发布后推送URL清单(Kafka/Redis队列或Webhook)→ 写入 urls.txt → Linkinator 即刻校验
  • CI/CD 防回归
    • 在构建产物上传CDN前,运行 Linkinator 校验关键模板页面与sitemap;若内部4xx/5xx>0则中止发布
    • 在PR层做正则守卫:禁止出现“staging/内网域名/历史静态资源指纹”
  • 生产404实时监控
    • 以Prometheus或Loki聚合404;按路径分组输出TOP路径;高价值页设为Critical告警
    • 告警通道:飞书/钉钉/Slack Webhook;阈值示例:5分钟内同一路径404≥10次立即告警
  • CDN/反向代理
    • 统一301/410由Nginx/Envoy处理;针对大量SKU变更,用map或Redis字典以O(1)查找跳转
    • 缓存刷新:修复后触发CDN purge(路径精确+关键目录)
  • 重定向治理
    • 在自研CMS建“重定向规则表”(MySQL):source_path(varchar索引)、target_url、status_code(301/410)、enabled、expires_at、comment
    • 发布Hook:每次新增/变更规则后触发回归扫描(urls.txt)验证无重定向链/循环
  • 开发前置验证(预防型)
    • CMS发布前调用“link-check微服务”(基于 Linkinator/Playwright)对提交内容中的新增链接做秒级校验
    • 前端构建接入 Sentry(资源加载404可作为前端错误事件上报)

五、月度维护计划(含实时警报) 第1周

  • 任务1:全站基线扫描(Screaming Frog)→ 输出断链清单与优先级,建立基线报告
  • 任务2:CI/CD接入Linkinator门禁,阻断新断链上线;配置staging链接正则检查 第2周
  • 任务3:部署404实时监控(Prometheus/Loki + Grafana + Alertmanager),设置高价值页关键告警
  • 任务4:搭建CMS重定向管理(MySQL表+后台UI),将历史断链批量301/410,清理重定向链 第3周
  • 任务5:专项扫描:产品页与类别页(/product, /category),分页/筛选规则梳理,限制溢出页
  • 任务6:sitemap治理:移除404/410;保证lastmod准确;新增页面当日纳入增量扫描 第4周
  • 任务7:帮助中心/结算链路专项;修复结算相关文档/政策链接;再次回归测试
  • 任务8:月度复盘与优化:对高频404的入口反查内链,完善内部链接结构;评估工具表现与成本

断链检测范围与频率落实

  • 全站所有页面:每周全量(Screaming Frog)
  • 指定页面类型(产品/文章/帮助):每周各1次专项
  • 动态生成链接(分页/筛选):规则白名单+专项周检
  • sitemap列出的链接:每日增量
  • 近期更新页面:实时(发布Hook→CI/Linkinator)
  • 实时警报:404峰值/关键路径触发即时告警(1–5分钟粒度)

六、SEO影响监控与月报指标(按业务目标定制) A. 总体指标(月度环比/同比)

  • 断链相关
    • 站内4xx比例(PV维度)与Top 404路径
    • 新增断链数、修复闭环时长(从发现到上线)
    • 重定向链条(>1跳)比例、平均跳转数
  • 抓取与索引
    • GSC Coverage:404/软404/重定向页数,Indexable页面数量
    • 抓取预算:平均响应码分布、抓取页数、抓取频次
  • 内部链接结构
    • Orphan pages数量、平均入链数、关键模板入链覆盖率
    • 平均点击深度(尤其产品页)
  • 流量与转化(与Analytics打通)
    • 高价值页面(如下)的展示/点击/CTR/跳出率/退出率
    • 由于断链修复带来的入口页流量恢复与转化提升

B. 高价值页面专属监控(逐页建看板与告警)

建议阈值示例

  • 任何高价值页面出现站内4xx≥1次/1分钟内:Critical告警
  • 全站4xx比例 > 0.5%(5分钟窗口):Page告警
  • 新增重定向链(>1跳)≥10条/天:注意
  • Orphan pages > 0:每周清零

七、修复策略与落地清单(与可接受措施对齐)

  • 301重定向至新URL
    • SKU替换:/product/(sku-[a-z0-9]+) → 新SKU;用MySQL规则表+Nginx map一次跳转
    • 规范化结尾斜杠、小写、去掉多余参数(?utm_*)
  • 更新为正确链接
    • 导航/页头/页脚/模板级链接优先;CI加“模板链接快照对比”,任一更改须过Linkinator校验
  • 移除无效链接
    • 分页溢出、预发/staging域、下线活动页
  • 替换为相关内部链接
    • 外链失效优先改为站内同类主题或上级类别页;nofollow保留必要外链
  • 暂时保留并监控
    • 业务未定版块先打tag,纳入每日增量扫描与404阈值告警

变更后回归

  • 立即触发:增量扫描(urls.txt)、CI Linkinator快跑、CDN purge
  • 24小时内:GSC检查抓取/索引变化,日志侧确认404降为0
  • 一周内:观察相关页面流量/CTR与转化是否回升

八、持续研究与优化(季度评审机制)

  • 工具评审(每季度)
    • 保留:Screaming Frog + Linkinator + Dr. Link Check + GSC/AWT
    • 备选升级(预算允许时):Sitebulb、JetOctopus(云端蜘蛛+日志分析)、Ryte/Lumar(企业级)、ContentKing(实时SEO监控)
  • 最佳实践追踪
    • 自动生成“错误到修复”的变更日志(Changelog),量化“修复用时中位数、回归失败率”
    • 建立“链接规范手册”:参数白/黑名单、环境域名隔离、SKU下线流程(先301/410→移出sitemap→清理内链)
    • 结合Java微服务添加自定义指标(Micrometer):/status_404_total、/redirect_chain_total,直接入Prometheus
  • 风险预案
    • 大促/发版冻结期,CI 限制新增链接类型;结算链路相关链接变更需双人审批+专项回归

附:常用片段(可直接复用)

  • Nginx 重定向规则(示例) map $request_uri $redirect_target { /category/sales https://shop.example.cn/category/sale; /help/return-policy https://shop.example.cn/help/returns; } server { if ($redirect_target) { return 301 $redirect_target; } }

  • 重定向表(MySQL) create table redirects ( source_path varchar(255) not null, target_url varchar(512) not null, status_code int not null default 301, enabled tinyint not null default 1, created_at timestamp default current_timestamp, expires_at timestamp null, comment varchar(255) null, primary key (source_path) );

  • CMS发布前校验(伪代码) onBeforePublish(content): urls = extractUrls(content.html) bad = linkinator.check(urls).filter(isInternal && is4xx5xx) if bad.length > 0: blockPublish(bad)

交付清单与下一步

  • 1天内:接入CI Linkinator门禁 + 飞书/Slack告警;跑首次Screaming Frog全站;落地上述“断链记录表”(示例表头已给出)
  • 1周内:打通Nginx日志→Prometheus/Grafana告警;搭建CMS重定向管理;完成高价值页面专项修复
  • 1月内:形成稳定“每周全量+每日增量+实时告警”闭环;月报输出上述指标并评审优化

如需,我可基于你们的实际扫描结果(Screaming Frog/Linkinator/Dr. Link Check导出)直接生成“优先级排序修复清单”,并附带批量301规则与验证脚本。

以下方案面向“内容资讯站 + 静态化发布 + 轻量CMS + 反向代理 + 定时任务”的低成本(月费<100元)环境,搭建可持续、可量化、可自动化的断链检测-修复-监控体系,兼顾“提升搜索引擎排名”“提升网站权威性”“改善用户体验”。

一、工具选型与总体方案(低成本、自动化优先)

  • 断链扫描与持续监控(核心)
    • Lychee CLI(开源,0成本):本地/远程链接批量校验,支持站点、Sitemap、HTML、Markdown,输出JSON/CSV,易集成CI/定时任务。
    • Linkinator(可选,Node,0成本):跨站点递归、并发、JSON输出,适合替代或交叉验证。
    • Screaming Frog SEO Spider(辅助,免费版≤500 URL):手动抽检和验证细节。
  • 搜索引擎与链接数据
    • Google Search Console(GSC,0成本):覆盖/404错误、索引、抓取异常、搜索展现(点击/展示/排名)。
    • Ahrefs Webmaster Tools(AWT,0成本):Broken backlinks、referring domains(用于“权威性”指标与机会发现)。
    • Bing Webmaster Tools(0成本):补充抓取与覆盖数据。
  • 日志与可视化
    • GoAccess(0成本):解析Nginx/反向代理日志,导出404 URL+来源页热力榜。
    • Matomo On-Prem 或 GA4(0成本):用以衡量用户体验(会话、跳出/参与度)和问题页影响。
  • 自动化与基础设施
    • 定时任务(crontab/systemd timer):每日增量、每周全量扫描与报告。
    • GitHub Actions/GitLab CI(0成本):在发布/PR时运行链接检查,阻断新增断链。
    • Nginx 301映射(map文件 + 生成脚本):集中管理重定向,自动同步生效。
    • Wayback Machine API(0成本):外链404 fallback建议(归档链接)。
    • SQLite/CSV(0成本):历史扫描结果与修复状态留存,用于对比与SLA统计。

二、首次断链扫描与结果(示例表) 说明:我无法直接联网爬取。以下为示例表结构与样例数据,用于说明输出形态与修复建议。落地执行后,使用第“三”部分脚本即可生成完整CSV/JSON报告并替换本示例。

字段:断链URL | 指向页面URL | HTTP状态码 | 修复建议 | 优先级(1高-5低)

优先级判定规则(用于自动评分):

  • 页面位置显要性:首页/主导航/高价值页面(分值高,优先级更高)
  • 引流流量:Matomo/GA4/GSC点击高的页面或入口
  • SEO影响:内部链接到核心页面的404、重要栏目断链、Sitemap/robots中的错误

示例打分逻辑(越小越紧急):

  • 主页或高价值页内链404:1-2
  • 栏目页内链404或外链404:2-3
  • 历史文章/低流量UGC外链404:3-5 输出中将以公式计算优先级:priority = max(1, min(5, baseScore - prominenceBoost - trafficBoost - seoBoost))

三、自动化部署与配置(面向现有技术栈)

  1. 核心扫描器:Lychee CLI(推荐)
  • 安装(服务器)
  • 配置 lychee.toml(示例)
  • 运行命令(每周全量 + 每日增量)
    • 全量(站点+Sitemap)
      • lychee --config lychee.toml --format json --output reports/lychee-$(date +%F).json
    • 增量(近7天更新的HTML/文章源文件)
      • find public -type f -mtime -7 -name "*.html" > changed.txt
      • lychee --config lychee.toml --format json --input changed.txt --output reports/lychee-diff-$(date +%F).json
  • 产物:JSON/CSV,包含每条URL状态。后续用Python脚本聚合成表格与优先级。
  1. 备选/交叉验证:Linkinator(Node)
  • npx linkinator https://news.example.net --recurse --timeout 20000 --skip '.(/search|/tag|\?share=).' --format JSON > reports/linkinator-$(date +%F).json
  1. 持续集成(CI)与发布时校验
  • GitHub Actions(示例)

    • name: Link Check
    • on:
      • push: branches: [main]
      • pull_request:
      • schedule: [cron: "0 2 * * 1"] # 每周一全量
    • jobs:
      • check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: sudo snap install lychee - run: lychee --config lychee.toml --format json --output reports/ci-$(date +%F).json - run: python3 scripts/aggregate_and_score.py reports/ci-*.json > reports/weekly.csv - uses: actions/upload-artifact@v4 with: name: link-report path: reports/
  • 规则:若检测到“内部链接404且引用自高价值页面”,CI可直接标红、阻断合并。

  1. 反向代理层301集中管理
  • 维护 redirects.csv(from,to,reason,created)
  • 生成Nginx映射(脚本make_redirects.sh)
    • 生成 /etc/nginx/conf.d/redirects.map:
      • map $request_uri $redirect_target { default ""; /article/2020/old-url /article/2020/new-url; /about/advertises /about/advertise; }
    • 在server中:
  • 优点:一次配置,站全生效,便于审计与回滚;配合脚本校验新映射无环路、无链式跳转。
  1. 日志级404监控与告警
  • Nginx日志:记录$http_referer,便于定位“指向页面URL”
  • GoAccess每周输出HTML报告,并邮件/Slack推送Top 404及来源页
    • goaccess access.log --log-format=COMBINED -o /var/www/report/404.html --ignore-panel=OS --ignore-panel=BROWSERS
  1. 外链治理与归档回退
  • Wayback API脚本(wayback_fallback.py)
    • 对连续两次(>=7天)404/410的外链,尝试获取可用归档URL,自动写入“修复建议”字段
  • 替换策略:
    • 高价值内容:优先“更新为正确链接/替换为权威来源”
    • 无有效替代:使用归档链接,且 rel="nofollow noopener" 并在旁注标明“归档”
    • UGC:加 rel="ugc nofollow",可设置外链跳转中间页/out?u= 以便统计与风控
  1. 数据存储与报表
  • reports/*.json -> scripts/aggregate_and_score.py -> weekly.csv(含优先级)
  • SQLite存储表(links, scans, fixes):用于查询“平均修复时长、重复断链率、链式跳转次数”
  • 每周自动邮件/Slack发送:Top问题、修复进度、SLA达成率

四、修复流程与SLA(可落地执行)

  • 分级SLA
    • 优先级1(主页/高价值页内部404):当日修复(24h内)
    • 优先级2(栏目页内部404/高权外链404):2个工作日内
    • 优先级3(外链404/历史文章内部404):5个工作日内
    • 优先级4-5(UGC/标签页/低流量):月度清理
  • 标准修复动作(按可接受措施)
    • 更新为正确链接:通过全站替换脚本批量修复,并提交PR/发布
    • 使用归档链接:Wayback可用则替换,附“归档”标注
    • 替换为相关外部/内部链接:优先权威来源或站内专题页
    • 301重定向至新URL:写入redirects.csv,自动生成Nginx映射
  • 验证闭环
    • 发布后触发“增量扫描”验证修复成功
    • 若仍失败,转为“需编辑介入”的工单,标记原因(死链、付费墙、机器人拦截)

五、月度维护计划(每周两项任务,周报频率:每周) 第1周

  • 任务1:全量扫描(站点+Sitemap+指定目录/栏目),生成weekly.csv,出具优先级清单
  • 任务2:高价值页面专项核查(见第六部分指标),修复优先级1-2问题并发布

第2周

  • 任务3:外部导入链接与UGC链接专项清理(含Wayback替代与nofollow策略)
  • 任务4:反向代理301集中治理(合并重定向、消除链式跳转、更新redirects.map)

第3周

  • 任务5:近期更新页面增量扫描与修复(过去14天发布/改版的文章)
  • 任务6:Sitemap与robots健康检查(移除失效sitemap,更新lastmod;校验状态码与可抓取性)

第4周

  • 任务7:日志驱动的404回溯(GoAccess Top 404 + 来源页),定位热门入口的断链并修复
  • 任务8:月度复盘与优化(SLA达成、重复问题分析、规则优化、黑白名单/速率/UA策略调整)

覆盖范围对应关系:

  • 指定目录/栏目:第1周与第3周重点
  • 外部导入链接:第2周
  • 用户生成内容链接:第2周
  • sitemap中列出的链接:第1与第3、4周
  • 近期更新过的页面:第3周持续增量

六、SEO影响监控与月报指标(对齐三大业务目标) A. 总体链路健康与技术指标

  • 内部断链数/率(按周、按栏目)和同比变化
  • 外部断链数/率(按来源域名top10)
  • 301/302链式跳转比(>1跳的比例)
  • 平均修复时长(MTTR)、逾期工单数
  • 404页面被访问次数、404比例(PV/会话),Top入口来源页
  • Sitemap覆盖率(Sitemap URL数 vs 实际可访问数 vs GSC已索引数)
  • 被阻断的新增断链数(CI拦截次数)

B. 高价值页面专项(逐页追踪) 页面清单:

每页跟踪指标:

  • 搜索流量:GSC 点击、展示、CTR、平均排名(对“提升搜索引擎排名”)
  • 内部链接支持:站内指向该页的内部链接数(GSC Links + 站内统计)(对“提升网站权威性”)
  • 外部链接质量:AWT的referring domains数量与新增/丢失(对“权威性”)
  • 断链与跳转:该页上的内部/外部断链数、跳转链>1条的链接数(对“用户体验+爬虫效率”)
  • 用户体验:GA4/Matomo的参与度(平均参与时长、参与率)、从该页产生的404率
  • 技术可抓取性:HTTP状态、canonical正确性、noindex误配排查(每月抽查)

C. 报表与阈值告警

  • 阈值示例:
    • 高价值页出现≥1条内部404:立即告警(Slack/邮件)
    • 断链总数周度环比上升>20%:触发专项排查
    • 跳转链>1的链接比例>5%:触发301整治
  • 月报输出:
    • 概览:关键KPI趋势与完成修复量
    • 高价值页:逐页卡片(SEO+链路+体验)
    • Top问题:来源域/模板/栏目维度分析
    • 下月计划与优化项

七、持续研究与优化路线(滚动执行)

  • 工具与实践跟进
    • Lychee/Linkinator版本更新与规则优化(速率、重试、白名单)
    • Screaming Frog(每季度一次)全站深度审计(含重复内容、Hreflang、规范化)
    • Ahrefs Webmaster Tools/必应站长:Broken backlinks → 主动联系对方纠正或设置合理映射提升权威性
    • IndexNow(Bing/Cloudflare)接入,提升更新与修复后的抓取响应速度
    • 模板优化:在404页内提供站内搜索与热门栏目,降低挫败感,改善用户体验
    • UGC治理:对评论区外链启用域名信誉评分与自动屏蔽策略(黑名单/频控)
  • 评审节奏
    • 每月:回顾SLA、问题重复率、白名单/排除规则
    • 每季度:综合SEO审计(抓取预算、内部链接结构、站内专题页建设)
    • 每半年:重构301映射(清理历史规则、消除链式跳转)

附:落地脚本与模板要点

  • Python聚合与优先级评分(aggregate_and_score.py)
    • 输入:reports/*.json(Lychee/Linkinator)
    • 输出:weekly.csv,字段含:broken_url, referrer, status, first_seen, last_seen, frequency, priority, suggestion
    • 评分:基于“是否出现在高价值页/主导航 + 流量(Matomo/日志)+ SEO权重(栏目/模板)”
  • 批量替换与PR生成
    • ripgrep + sed/gsed 对静态HTML/Markdown进行精准替换,提交PR并附带扫描结果
  • 301生成校验
    • 校验新映射无环路、无自指向;自动验证目标URL 200/3xx有效
  • 报警集成
    • Slack Incoming Webhook 或邮件任务:一旦CI发现优先级1-2断链,秒级通知

执行清单(第一周建议)

  • 部署Lychee + GoAccess + GSC/BWT/AWT验证
  • 首次全量扫描并产出weekly.csv(真实数据)
  • 修复优先级1-2问题(主导航/高价值页)并发布
  • 建立301映射与增量扫描的CI/cron
  • 发出第1周周报(断链基线+修复进度+下周计划)

说明

  • 上述“断链结果表”为演示结构,实际完整清单需按第三部分脚本运行生成。生成后我可基于真实数据给出逐条修复单与合并请求建议。

SaaS 断链检测/修复与 SEO 监控实施方案(app.svcdemo.io)

下面方案面向“SPA+SSR 混合 + Go 微服务 + 反向代理 + PG/对象存储 + 统一日志与告警 + 灰度发布”的技术栈,目标覆盖全站、指定页面类型、动态生成链接、近期更新页面和外部导入链接,并提供持续的实时警报与月度治理节奏。

重要说明:我无法直接爬取互联网,因此无法当天为您输出真实的断链清单。以下提供即刻可用的工具组合、运行步骤、导出模板与自动化脚本。运行后请将结果 CSV/JSON 回传,我将基于真实数据补全优先级与修复单,并在 24 小时内提交处置清单与重定向配置。


1) 全面检查与断链识别(含工具、配置与输出模板)

  • 爬取工具(一次性基线 + 可重复)

    • Screaming Frog SEO Spider(付费/年,支持 JS 渲染,CLI 可自动化)
    • Sitebulb(支持 JS 渲染、可计划任务与审计报告)
    • Playwright 爬虫(自研,专治 SPA 动态路由/延迟加载)
    • Linkinator(Google 开源,快速链接验证)
    • Lychee(文档/Markdown 外链校验,适合 docs 与博客)
    • Google Search Console(抓取错误、覆盖/索引问题)
    • Ahrefs(反链与丢失反链 → 404 监控)
    • 统一日志平台(Nginx/Envoy 4xx/5xx 实时告警)
  • 扫描范围与配置要点

  • 快速命令(示例)

    • Screaming Frog(JS 渲染 + 导出)
      ScreamingFrogSEOSpiderCli \
        --crawl https://app.svcdemo.io \
        --headless \
        --render-javascript true \
        --max-uri-requests 200000 \
        --save-crawl --output-folder ./out \
        --export-format csv \
        --export-tabs "Response Codes" \
        --include-redirect-chains true \
        --respect-robots true
      
    • Linkinator(适合 CI 快速检查,忽略外链可选)
      npx linkinator https://app.svcdemo.io --recurse --timeout 20000 --retry 2 --format csv > out/linkinator.csv
      
    • Playwright(触发 SPA 动态路由)
      • 见文末“附录-Playwright 爬虫脚本样例”
  • 断链清单输出模板(示例行,仅演示字段格式,非真实数据) | 断链URL | 指向页面URL | HTTP状态码 | 修复建议 | 优先级(1-5) | |---|---|---:|---|---:| | https://app.svcdemo.io/docs/api-v2 | https://app.svcdemo.io/docs/quickstart | 404 | 301重定向至 /docs/api 或更新为正确链接 | 1 | | https://cdn.svcdemo.io/img/hero@2x.png | https://app.svcdemo.io/pricing | 403/404 | 替换为有效资源或移除无效引用 | 2 | | https://thirdparty.example.com/sdk.js | https://app.svcdemo.io/ | 410 | 移除无效外链或临时“nofollow”并寻找替代 | 3 | | https://app.svcdemo.io/old-plan | https://app.svcdemo.io/pricing | 302链过长 | 直接更新为最终URL或配置单跳301 | 2 | | https://app.svcdemo.io/blog/post/123 | https://app.svcdemo.io/dashboard | 404 | 替换为相关内部链接或移除 | 4 |

说明:真实数据将由工具导出 CSV/Excel 后自动打分(见下节评分模型)。


2) 断链优先级评分模型(1=最高)

  • 评分维度
    • 页面位置显要性(H):导航/页头/页脚/按钮/流程关键位=1;正文中部=3;低权重区域=5
    • 引流流量(T):高流量或高价值转化路径=1;中=3;低=5(以分析/日志/GSC 数据评估)
    • SEO 影响(S):高内链权重页面/收录关键页/反链指向页=1;中=3;低=5
  • 综合优先级 = round(mean(H, T, S)),出现 404 于高价值 URL 的外链/内链一律强制为 1
  • 处置SLA参考
    • P1:<24小时
    • P2:<3天
    • P3:<7天
    • P4-5:合并批量处理/改版期处理

3) 工具组合与部署(面向预算500-2000元/月)

优先选择“可自动化 + 适配 SPA + 可接入现有日志与灰度”的组合,兼顾成本:

  • 基线与周期性深度审计(JS 渲染)
    • Screaming Frog(约¥1500/年,折合¥125/月)
    • Sitebulb Pro(月付约¥200-250)
  • 持续监控与实时警报(0新增或低成本)
    • 自研链路:Playwright + Linkinator + GitHub Actions/GitLab CI(0元)
    • 统一日志与告警(已在栈内):按 Nginx/Envoy 4xx/5xx 建告警,推送到 Slack/飞书/邮件
  • 反链与外部链接监控
    • Ahrefs Lite(约$99/月≈¥700),启用“Lost Backlinks → 404”告警
    • Google Search Console(免费):覆盖/抓取异常
  • 可选云端爬取(若需要云端常驻监控)
    • JetOctopus(爬虫 + 日志分析,约$60-90/月)或 Sitebulb Server(自建)
    • 如预算紧,跳过 Conductor ContentKing(企业定价通常超出预算)

推荐配置示例(总月费约¥1000-1200):

  • Screaming Frog + Sitebulb Pro + Ahrefs Lite + CI 自研爬虫 + 现有日志告警

部署步骤(关键点):

  1. 在 CI(GitHub/GitLab)中部署 Playwright + Linkinator,每次合并/灰度发布后自动跑,按模块拆分(产品、定价、文档、Dashboard)。
  2. Screaming Frog 周跑(JS 渲染),导出 CSV 推送到对象存储,并通过 Webhook 发送摘要到 Slack。
  3. Nginx/Envoy 4xx 实时告警:对内部 referer 的 404/410、重定向环路、>2 跳链路建立独立监控。
  4. Ahrefs 设置“目标域=app.svcdemo.io”的失链告警,自动创建修复工单(见修复流程)。
  5. 将 301/410 映射表纳入 Git 管理(YAML/CSV),CI 自动渲染 Nginx/Envoy 配置并灰度发布。

4) 修复策略与技术落地

  • 内链修复优先级:导航与转化路径 > 文档 > 博客/低权重页
  • 可接受修复措施的运用
    • 更新为正确链接:前端/文档源更新,CI 校验通过再发版
    • 301 重定向至新 URL:用于永久迁移或聚合权重(最多 1 跳)
    • 标记为 nofollow:外链质量差或临时不可用
    • 暂时保留并监控:短期外部服务波动
    • 移除无效链接:无替代且无价值
    • 替换为相关内部链接:保持用户路径与权重闭环
  • 301/410 配置(反向代理示例)
    • 见附录“Nginx/Envoy 重定向映射”,通过 Git 管理 + 灰度发布
  • 验收与回归
    • 自动化验证:发布后 CI 重新跑 Linkinator + Playwright
    • 人工抽检:高价值路径端到端点击
    • SEO 验收:GSC 抓取错误下降、Ahrefs 失链回收、收录稳定/上升

5) 月度维护计划(按周)

实时警报:所有工具在任意时间触发阈值即刻报警;周任务用于结构化治理与复盘。

  • 第1周
    • 任务1:Screaming Frog 深度全站扫描(JS 渲染),导出断链清单并打分
    • 任务2:高价值页面专项巡检(/、/signup、/pricing、/docs/quickstart、/help/status、/dashboard),修复 P1-P2
  • 第2周
    • 任务3:外链/反链治理(Ahrefs Lost Backlinks → 对应 301 回收;外部无效资源替代)
    • 任务4:动态生成链接专项(Playwright 场景爬取:登录/注册/结算/文档目录),修复发现问题并补充单测
  • 第3周
    • 任务5:近期更新页面与对象存储资源巡检(变更集内链校验、资源有效期/权限检查)
    • 任务6:重定向链路优化(消除 >1 跳;检查 canonical 与 hreflang 链接指向有效)
  • 第4周
    • 任务7:外部导入链接(BD、市场活动、UTM/短链)与历史 404 汇总,批量 301 策略发布
    • 任务8:月报输出与下月改进计划(指标复盘、工单关闭率、SLA 达成率、技术债排期)

断链检测范围覆盖:“全站所有页面 + 指定页面类型 + 动态生成链接 + 近期更新页面 + 外部导入链接”。高风险问题随时触发实时警报(Slack/飞书/邮件/工单)。


6) SEO 影响监控与月报指标(结合业务目标与高价值页)

全站核心 KPI(按月跟踪):

  • 断链相关
    • 总断链数、按优先级分布、修复率、平均修复时长(MTTR)
    • 4xx/5xx 比例、4xx 来源(内链/外链)、>1 跳 3xx 比例
    • 触发 404 的反链数量与回收率(已 301 的占比)
  • 流量与转化
    • 高价值页的自然展现/点击/CTR(GSC)
    • 高价值漏斗(首页→signup→dashboard)中断链事件次数/占比
  • 性能与体验(与“提高页面加载速度、改善用户体验”紧密相关)
    • Core Web Vitals(LCP、INP、CLS)分布(整体与高价值页)
    • 由于失联资源导致的阻塞/回退加载次数(RUM)
  • 索引与合规
    • GSC 抓取错误、可索引页趋势、错误页面是否 noindex
    • 错误页返回码合规(404/410),无软 404,无 200 on error

高价值页面专项 KPI(逐页):

警报阈值(示例):

  • 高价值页任意 404 出现次数 ≥ 3 次/10 分钟 → P1
  • 全站 404 比例 > 0.5% 且持续 5 分钟 → P1
  • 任意页面 3xx 跳数 ≥ 2(链路环/循环) → P2
  • 关键资源(CSS/JS/字体)4xx > 0 → P1
  • Ahrefs 检测到新“Lost Backlink → 404 Target” ≥ 1 → 自动建 P2 工单

7) 持续研究与改进(季度节奏)

  • 技术实践
    • 将“断链校验”纳入 PR 必过检查(CI);灰度发布阶段对新版本二次扫描
    • 301/410 映射表 + 规范化 URL 策略(大小写/斜杠/utm 去噪)模板化管理
    • 面向对象存储的资源有效期/权限扫描器(定时 HEAD 检查)
    • 在前端对 fetch/XHR 404 进行埋点上报(RUM)
  • 工具评估清单(择优试点,不超预算)
    • JetOctopus(云端持续爬取 + 日志分析)
    • Ryte、Sistrix、SE Ranking(替代或补充 Semrush/Ahrefs)
    • DebugBear(CWV 持续监控,验证失联资源对性能影响)
    • Unlighthouse/Lighthouse CI(性能与可达性基线)

8) 附录:脚本与配置样例

A) GitHub Actions(Linkinator:全站快速校验)

name: link-check
on: [push, workflow_dispatch]
jobs:
  linkinator:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm i -g linkinator
      - run: linkinator https://app.svcdemo.io --recurse --timeout 20000 --retry 2 --format json > out/linkinator.json
      - name: Fail on broken links
        run: |
          BROKEN=$(jq '[.links[] | select(.state!="OK")] | length' out/linkinator.json)
          if [ "$BROKEN" -gt 0 ]; then
            echo "Broken links: $BROKEN"; exit 1; fi

B) GitHub Actions(Lychee:Markdown/Docs 外链)

name: lychee-docs
on: [push, schedule]
jobs:
  lychee:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: lycheeverse/lychee-action@v1
        with:
          args: --timeout 20 --max-concurrency 8 --verbose ./docs/**/*.md

C) Playwright(SPA 路由与动态链接采集)

// crawl.ts
import { chromium } from 'playwright';
const seeds = [
  'https://app.svcdemo.io/',
  'https://app.svcdemo.io/signup',
  'https://app.svcdemo.io/pricing',
  'https://app.svcdemo.io/docs/quickstart',
  'https://app.svcdemo.io/help/status',
  'https://app.svcdemo.io/dashboard'
];
(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  const visited = new Set<string>();
  const toVisit = [...seeds];
  while (toVisit.length) {
    const url = toVisit.shift()!;
    if (visited.has(url)) continue;
    await page.goto(url, { waitUntil: 'networkidle' });
    visited.add(url);
    const links = await page.$$eval('a[href]', as => as.map(a => (a as HTMLAnchorElement).href));
    for (const l of links) {
      if (l.startsWith('https://app.svcdemo.io') && !visited.has(l)) toVisit.push(l);
    }
  }
  // 将 visited 写出供 linkinator 再校验
  console.log([...visited].join('\n'));
  await browser.close();
})();

D) Nginx 重定向映射(Git 管理)

map $request_uri $redirect_target {
  /docs/api-v2   /docs/api;
  /old-plan      /pricing;
}
server {
  listen 443 ssl;
  server_name app.svcdemo.io;
  location ~ ^/(docs/api-v2|old-plan)$ {
    return 301 https://app.svcdemo.io$redirect_target;
  }
}

E) 日志平台查询与告警(示例:Loki/Prometheus 表达式)

  • 全站 404 率(近5分钟)
sum(rate(nginx_http_requests_total{status=~"4..",host="app.svcdemo.io"}[5m]))
/
sum(rate(nginx_http_requests_total{host="app.svcdemo.io"}[5m]))
  • 高价值页 404 次数
sum(rate(nginx_http_requests_total{status="404",host="app.svcdemo.io",request_uri=~"/(|signup|pricing|docs/quickstart|help/status|dashboard)"}[5m]))

F) GSC 导出(覆盖/抓取异常)

  • 每周导出“抓取错误”“页面索引”报告,对比断链治理后趋势变化

下一步行动清单(即可执行)

  1. 选择工具组合:Screaming Frog + Sitebulb Pro + Ahrefs Lite + 自研 CI 爬虫(总月费≈¥1000-1200)。
  2. 在 CI 中接入 Linkinator 与 Playwright(附脚本),合并与灰度发布后自动扫描。
  3. 在日志平台建立 404/重定向跳数/资源 4xx 的 P1/P2 告警,推送到 Slack/飞书。
  4. 本周内跑一次 Screaming Frog(JS 渲染),导出 CSV 并回传;我将基于真实结果出具“断链处置单 + 301/410 配置 + 优先级评分”。
  5. 启用 Ahrefs “Lost Backlinks→404”告警,并导入到工单系统,按周对齐修复。
  6. 将 301/410 映射表纳入 Git,接入灰度发布流水线,后续改版期可批量迁移。

此方案以自动化与实时告警为核心,覆盖“满足合规要求、防止流量损失、改善用户体验、提高页面加载速度、为网站改版做准备”的目标;在您提供首次扫描 CSV 后,我将补充完整的真实断链表与修复优先级,并提交可直接上线的配置与工单。

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

自动检测断链并生成修复建议,确保所有链接都保持正常状态,有效提升用户体验。
根据网站页面的重要性、流量及SEO影响,对断链优先级进行智能排序,帮助用户抓住核心问题。
集成多种实用工具和插件,实现网站链接的全自动化监控和修复,减少人工操作时间。
提供结构化的月度维护计划,细化每周任务分配,保障优化工作高效有序进行。
通过关键SEO指标监控网站健康状况,自动生成可视化报告,帮助用户评估优化效果。
灵活支持用户自定义监控和修复工具,根据个人偏好与业务需求进行系统配置。
持续研究并应用最新的链接管理与优化技术,保持网站性能和排名的业内领先表现。
一键实施断链修复,自动优化网站链接结构,提升搜索引擎爬取效率和页面抓取率。

🎯 解决的问题

打造一套专业级网站链接维护优化解决方案,帮助用户实现自动化的断链检测与修复,通过优化SEO表现提升网站排名和用户体验,为用户提供高效、智能的链接管理服务。

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...