Loomaly文档

每周自动复查与部署 Webhook

让 Loomaly 每周自动扫描整站,并发邮件告诉你新增了什么、修好了什么;或者在每次部署后自动扫描。两者都需要先验证站点。

不用每次都让助手跑整站 check,Loomaly 可以自己重新扫描你的网站。有三种情况会自动开始扫描,都需要先验证站点:

什么时候触发扫描什么
每周自动复查开关打开后,每周一次整站
sitemap 检查你的 sitemap 有变化(仅限开启了每周自动复查的站点)整站
部署 Webhook你的 CI/CD 在部署后调用一个 URL整站

每周自动复查

每周自动复查在站点的 /account 里管理。开关是每周自动复查并发送周报。通常不需要你自己去开:站点一通过验证,它就会自动打开。status 和 report 会显示下次扫描时间。

它会做什么

  • 每周一次整站扫描:每次复查和 check(target: site)是同一种扫描。Loomaly 会读取 sitemap、爬取新页面,对每个页面做规则检查和 AI 判断,实测代表页的速度,然后运行页面判断并寻找内部链接。已经消失的问题会被关闭为已修复,新出现的问题会被加进来。详见扫描是怎么工作的。
  • 什么时候运行:Loomaly 在 UTC 时间 03:00 启动每周复查。站点在打开开关一周后到期,之后每七天到期一次。当天这次运行会启动所有在下一次 03:00 之前到期的复查,所以到期时间比 03:00 晚几分钟也不会再等一天。如果到点时这个站点正有扫描在跑,这一周的复查就跳过。每周复查属于付费套餐。
  • 每周一一封周报:项目所有者会收到一封邮件,汇总和上周相比新增了什么、修好了什么、健康分,以及该先修什么。详见周报邮件。扫描发现网站新出了大问题(比如大量页面变成 noindex 或打不开)时,会立即发紧急提醒,不等周一。也可以用 report 拉同一份摘要。

关闭

  • 在 /account 关掉开关,每周复查和周报会一起停止。
  • 邮件里的不再接收这个网站的邮件只会停掉邮件(周报和紧急提醒),每周复查照常运行。想重新收到邮件,把每周自动复查的开关关掉再打开即可。

占用页面数

每周复查占用的页面数和整站 check 一样:发现页面和对每个页面的检查都不计数,每实测一个代表页,占用一个套餐月度页面数。当月页面数用完后,复查仍会检查每一个页面,只是不做深度检测。详见套餐与页面数。

验证站点

扫描一个网站不需要验证。验证是为了证明这个网站归你管,验证之后才能使用那些不用你动手就会自动运行的功能:

功能是否需要验证
扫描、问题、助手修复(todo / problem / triage / check)、PDF 报告不需要
每周自动复查和周报邮件需要
sitemap 变化时自动扫描需要
部署 Webhook需要

站点验证之前,/account 会提示你先证明拥有该域名,每周复查才会自动开启。有三种方式。

连接 Google Search Console

让助手调用 google(action: connect),或在 /account 打开 Google 设置。用已经是该域名 Search Console 资源(域名资源,或站点根路径的 URL 前缀资源)的所有者或完整用户的 Google 账号登录。连接即完成验证,同时也会把搜索数据带进 Loomaly。详见 Google Search Console。

DNS 记录或 meta 标签

在 /account 打开其他验证方式,选 DNS 或 meta 标签,再生成令牌。

在你加入 Loomaly 的域名上添加 TXT 记录,值为:

rp-verify=YOUR_TOKEN

记录加在项目所用的确切域名上。项目是 example.com,就加在 example.com;是 www.example.com,就加在那里。大多数 DNS 提供商几分钟内生效,有的要几小时。然后让 Loomaly 检查验证(或在 /account 检查验证)。

复制 /account 里显示的完整值,里面包含你的令牌。切换验证方式时令牌不变。

如果检查失败,等一会儿再试。Loomaly 也会每小时复查一次待验证的站点,所以你可以加好记录就离开。站点一旦验证通过,Loomaly 不会再反复检查。

站点验证之后

每周复查和周报会自动打开,第一次复查在一周后运行。/account 里会出现开关,以及部署 Webhook 区块。如果不想每周复查,关掉开关即可。

部署 Webhook

部署 Webhook 让你的 CI/CD 告诉 Loomaly「我们刚部署完」。每次调用都会启动一次整站扫描,和 check(target: site)一样。

获取 URL

在 /account 找到部署 Webhook(站点验证后才会出现),生成 Webhook URL。长这样:

https://loomaly.com/api/hooks/deploy/YOUR_TOKEN

URL 里的令牌是唯一凭证,不需要额外的请求头或签名。把它当成密码:放在 CI 的 secrets 里,不要写进仓库。如果泄露了,在 /account 轮换令牌,旧 URL 会立刻失效。

怎么调用

  • 方法: POST 或 GET,效果相同。
  • 请求头: 不需要。
  • 请求体: 不需要。发什么都会被忽略。

请在部署已经上线之后再调用。扫描抓的是公开站点,旧版本还在对外服务时调用,扫到的就是旧版本。

调用有防抖:扫描正在跑,或距上次开始不足 10 分钟时,调用会被接受但不会新开扫描(正在跑的那次本来就会看到最新部署)。只在生产部署调用,不要在预览或分支部署调用。

curl -fsS -X POST "https://loomaly.com/api/hooks/deploy/YOUR_TOKEN"

-f 让 curl 在 4xx 或 5xx 时以错误退出,这样错误令牌会让步骤失败,而不是静默通过。

响应

成功调用返回 200:

{ "ok": true, "enqueued": 1, "siteId": "..." }

若被防抖,仍返回 200,但 "enqueued": 0,并带 "skipped": "scan in progress" 或 "skipped": "scanned recently"。

状态Body error含义
401invalid token 或 unknown token令牌不对,或已被轮换。从 /account 复制当前 URL。
404site not verified站点尚未验证。
500、503enqueue failed 或其他扫描没能启动。稍后再试。

占用页面数

Webhook 扫描是整站扫描,占用和整站 check 一样:只有实测的代表页占用套餐页面数。详见扫描是怎么工作的和套餐与页面数。

拉取请求检查

Pro 和 Agency 套餐可在 /account 配置 GitHub 集成。安装 Loomaly GitHub App 并选择仓库后,拉取请求评论会列出改动页面相对线上同路径会新增和会修好的问题。Loomaly 会等预览部署好,再去读那些页面;你再次推送时会更新同一条评论。

评论以 loomaly[bot] 发布。它不改仓库,也不阻止合并。每个页面占用一次修复检查额度(与复查相同),不占用月度页面数。拉取请求合并且生产部署成功后,Loomaly 会复查那些线上页面。

同一比较也可通过助手用带预览 URL 的 check 完成。预览页上的 noindex 很正常。受密码保护的预览(HTTP 401)会如实报告。

sitemap 检查

每小时一次,Loomaly 会查看每个已开启每周复查的已验证站点上的 sitemap.xml(或 sitemap_index.xml)。如果 sitemap 的 Last-Modified 响应头(没有的话,就看文件里第一个 lastmod)自上次检查后变了,Loomaly 会启动一次整站扫描,和部署 Webhook 一样。

Loomaly 第一次看到某个 sitemap 时只记录日期。从下一次变化起才开始扫描。没有单独的开关:关掉每周复查也会停掉这项检查。占用与其他整站扫描相同。