除了读取 Google 的数据,SaaSMaestro 还可以亲自访问您的网站,发现 Google 不会告诉您的问题。这些检查位于“设置 → 您的工作区 → 数据连接”中的“网站健康度”下。每项都是独立的服务,在所有者或管理员于其对话框中开启之前保持关闭,他们也在其中选择它适用于哪些网站。无需安装任何东西。
检查请求来自我们位于 35.214.110.192 的服务器。如果您的网站位于防火墙、Cloudflare 或安全插件之后,请先将该地址加入白名单。请参阅 将我们的 IP 地址加入白名单。
各项服务
| 服务 | 频率 | 检查内容 |
|---|---|---|
| 在线状态监控 | 每 15 分钟 | 主页是否有响应(判定故障前会由其他区域确认),另有每日的 Google 代码、robots.txt、站点地图和页面检查以及每月报告。 |
| SSL 证书监控 | 每周 | 证书何时到期、由谁签发,以及访客是否真正使用 HTTPS。 |
| 域名监控 | 每周 | 域名注册何时到期、注册商,以及注册局的暂停状态。 |
| DNS 与邮件安全 | 每日 | 域名服务器和邮件服务器的变更,以及 SPF、DMARC 和 DKIM 记录。 |
| 黑名单与恶意软件 | 每日 | Google 的 Web Risk 危险网站列表和 abuse.ch 的 URLhaus 恶意软件列表。 |
| 安全标头 | 每周 | 六个常见的安全标头(评级 A 到 F),以及通过普通 HTTP 加载的文件。 |
| 实验室性能 | 每周 | 对移动版主页进行 PageSpeed Insights 测试,并显示分数随时间的变化。 |
| Core Web Vitals | 每日 | 来自 Chrome UX Report 的真实访客速度,设置 API 密钥后会在在线状态监控的每日检查中读取。 |
| 关键页面检查 | 每 5、15 或 60 分钟 | 您选择的页面(例如定价页或注册页)必须能够加载,并包含您指定的文字。 |
| 心跳监控 | 按您设置的频率 | 您自己的 cron 任务、备份和后台进程会请求一个专属地址;一旦某个任务没有动静,您就会收到提醒。 |
添加新网站时,系统会提供该工作区中已开启的服务供您选择。SSL、域名、DNS、黑名单、安全标头和性能检查的警告会在检查发现后立即以“严重问题提醒”的形式通过邮件发送给所有者和管理员,每条只发送一次,并发送到接收它们的所有聊天频道。
可用性
每个网站的主页每 15 分钟检查一次。只有连续两次检查失败,网站才会被视为宕机,以避免因单次响应缓慢而误报。“未授权”或“请求过多”等响应视为在线,因为服务器仍在应答。
在将第二次失败判定为故障之前,其他区域的服务器也会尝试加载该网站。如果大多数服务器都能加载,说明问题出在我们的主服务器与网站之间(例如网络故障或防火墙规则),因此不会判定为故障。使用的区域列在“在线状态监控”对话框中。
网站宕机时,所有者和管理员会立即收到宕机邮件(每次故障每周最多一次),并在网站恢复前保留一个严重问题。每月 1 日,他们还会收到每月可用性报告,其中包含每个网站上个月的可用性和故障情况;任何人都可以在“通知”中为自己关闭它。
每日检查
这些检查随在线状态监控一起运行,对其覆盖的每个网站每天执行一次。
| 检查 | 检查内容 |
|---|---|
| Google 代码 | 主页是否带有此网站的 GA4 代码、不同的 GA4 ID、Google Tag Manager,或什么都没有。 |
| robots.txt | 是否存在、是否发生变化,以及是否屏蔽了所有搜索引擎。 |
| 站点地图 | 其中列出的 URL 数量,最多读取 10 个子站点地图。 |
| Core Web Vitals | 来自 Chrome UX Report 的真实访客速度:Largest Contentful Paint (LCP)、Interaction to Next Paint (INP) 和 Cumulative Layout Shift (CLS)。需要 Chrome UX Report API 密钥,可在工作区“数据连接”标签页上的“Core Web Vitals”框中设置。 |
| Google 索引状态 | 对于已关联 Search Console 的网站,通过 URL Inspection API 检查每个受监控页面是否在 Google 索引中。 |
| 内部链接(每周) | 会跟踪受监控页面上最多 40 个指向您自己网站的链接,并列出返回 404、410 或服务器错误的链接。 |
通过同意管理工具或 Tag Manager 加载 Google 代码的网站,即使跟踪正常,也可能显示“发现 Google Tag Manager”或“未找到”。请查看 GA4 的实时报告进行确认。
SSL 证书
每周一次,我们的服务器会读取每个网站提供的证书:到期时间和签发者。距到期不足八天或缺少 HTTPS 时,则改为每天检查,这样续期后会在任何人收到警告之前被发现。证书到期前一周、前一天以及到期后,您都会收到警告。从到期前 14 天起,它会作为问题显示在网站页面上。
它们还会检查访客是否使用 HTTPS:当网站仅通过普通 HTTP 响应,或普通 HTTP 直接提供网站内容而没有重定向到 HTTPS 时,您会收到警告。这些警告会每周重复,直到问题修复。
域名注册
每周一次,通过 RDAP 向注册局查询已注册域名(例如 shop.example.com 对应 example.com);如果注册局不支持 RDAP,则使用 WHOIS。距到期不足一个月时改为每天查询。注册到期前一个月、前一周、前一天以及到期后,您都会收到警告。如果注册局将域名暂停(会导致网站和邮件无法工作),或域名已过期即将被删除,您也会立即收到提醒。
DNS 与邮件安全
每天通过 DNS-over-HTTPS 查询域名的 DNS 记录,因此结果与互联网其他部分看到的一致。域名服务器或邮件服务器发生变更会立即触发提醒,并在网站页面上保留一周,因为域名被劫持或迁移出错时就是这种表现。
对于接收邮件的域名,检查还会标出缺少 SPF 记录、存在多条 SPF 记录、允许任何人发信的 SPF 记录(+all)以及缺少 DMARC 记录的情况。DKIM 无法列出,因此每周会用常见邮件服务使用的选择器查找,仅在找到时显示。
黑名单与恶意软件
每天会在 Google 的 Web Risk 列表(Chrome 等浏览器会据此向访客显示红色警告页面而不是网站)以及 abuse.ch 的 URLhaus 恶意软件下载列表中查询每个网站。出现在任一列表中通常意味着网站已被入侵,您会立即收到提醒。
此检查需要在其对话框中保存 Google Web Risk API 密钥、URLhaus 认证密钥或两者。两者都没有时不会运行。Google 免费的 Safe Browsing API 未获准用于商业用途,因此使用的是付费的 Web Risk API。
安全标头与混合内容
每周一次,通过 HTTPS 加载主页,并对六个标头评级:Strict-Transport-Security(HSTS)、Content-Security-Policy、X-Content-Type-Options、X-Frame-Options(或 CSP frame-ancestors)、Referrer-Policy 和 Permissions-Policy。六个齐全为 A,五个为 B,依此类推。缺少 HSTS 或发送的标头不足四个时,您会收到通知。
还会在页面中查找通过普通 HTTP 加载的文件。以这种方式加载的脚本、样式和框架会被浏览器拦截,可能导致页面损坏;图片和媒体则会使锁形图标消失。只检查服务器返回的 HTML,因此脚本之后添加的文件不会被发现。
实验室性能
每周一次,Google 的 PageSpeed Insights 会在模拟手机上测试每个移动版主页,给出满分 100 的评分,以及加载、阻塞和布局偏移的耗时。系统会保留最近 12 周的分数。当分数低于 50,或比上次测试下降 15 分及以上时,您会收到通知,这通常早于真实访客的 Core Web Vitals 出现变化。它使用与 Core Web Vitals 相同的 Google API 密钥,并需要在其项目中启用 PageSpeed Insights API。测试在 Google 的服务器上运行,而不是我们的服务器。
关键页面检查
添加最重要的页面(例如定价、注册或结账),并填写每个页面必须包含的文字,然后选择每 5、15 或 60 分钟检查一次。页面无法加载、返回错误或不再包含该文字时即视为失败,这样即使页面仍返回“200 OK”,也能发现已损坏的页面。文字是在我们的服务器收到页面时、任何脚本运行之前查找的。
连续两次失败后,所有者和管理员会收到宕机邮件,聊天频道会收到通知,并会生成一个严重问题。页面恢复正常时会再次通知。
心跳
每个心跳都有一个专属地址,例如 https://saasmaestro.com/hooks/heartbeat/…。让您的任务每次运行时请求该地址,例如在 cron 行末尾加上 curl -fsS 和该地址。GET、POST 和 HEAD 请求都有效。
选择预期收到 ping 的频率(从每 5 分钟到每周一次),以及为运行时间较长的任务设置的宽限期。如果在间隔加宽限期内没有收到 ping,所有者和管理员会收到宕机邮件,聊天频道会收到通知,并会生成一个严重问题;收到 ping 后会再次通知。心跳在收到第一个 ping 之前不会被监控。
受监控页面和自动备注
SaaSMaestro 会监控主页和访问量最高的五个着陆页。当页面的状态、标题、元描述、robots 指令或 canonical 地址发生变化,或 robots.txt 发生变化时,会自动添加一条时间线备注,并标记为“自动检测”。页面从 Google 索引中消失时也是如此。这样,意外的流量变化往往在图表上已经附带了解释。
查看位置
“数据连接”中每个服务的卡片会显示其上次运行时间以及有多少网站需要关注,点击时钟图标可查看最近的结果。每个网站的页面都有一个“网站健康度”部分,显示最新结果。问题也会以问题条目的形式出现;请参阅 问题检查及严重程度。