Overview
SEO alerts tell you when something changes for a site: a tracked keyword drops, a strong domain stops linking to you, a site audit finds new errors, Google’s AI answers stop citing you, or traffic moves far outside its normal range. Every alert lands in the SEO Suite → Alerts feed. Rules decide which alerts are also sent out, where, and how often. Rules are set per site under Settings → Site → SEO Alerts. The Rules button on the Alerts page opens the same screen.How rules work
Every rule starts off. Turn a rule on, then choose where its alerts go.
Changes save as you make them.
Alerts are part of the SEO module, so they need a plan that includes it. Rank, backlink and audit alerts also need those checks running for the site.
Alert kinds
Thekind column is the value a webhook receives.
Webhooks
A webhook turns an alert into an HTTP request to a URL you control, so you can route it into your own tooling: a ticket, a chat message, a dashboard, a spreadsheet, an automation.Setting it up
1
Turn the rule on
A webhook only fires for a rule that is on. Email and Slack can stay off.
2
Enter the URL
Paste an
https:// URL on a public host into the rule’s Webhook URL field. Plain http:// is not accepted, and private or local addresses (localhost, 10.x, 192.168.x, and so on) are rejected. The field saves when you leave it.3
Send a test
Click Send test on the row. Your endpoint receives the payload below with
"test": true, and the app shows the HTTP status your endpoint answered with.kind field to tell them apart.
When it fires
As soon as the alert is detected, one request per alert, even when the rule’s email and Slack delivery is a daily or weekly digest. Webhooks are never batched.The request
Titles and messages are written for people and may change wording; branch on
kind and severity, not on text.
Responding, retries and timeouts
- Answer with any 2xx status within 10 seconds. The body is ignored.
- Redirects are not followed; point the URL at the final endpoint.
- A non-2xx answer or a timeout is retried three more times with increasing delays. After that the alert is still in the feed, but the webhook is not attempted again.
- A URL that stops passing the checks above (no longer
https, or resolving to a private host) is not retried.
Security and idempotency
Requests are not signed. Treat the URL as a secret: use a long random path or a token in the query string, and reject requests whoseX-Sight-Event header is not seo.alert.
There is no delivery id in the payload. If a retry reaches you after a slow but successful first attempt, you may see the same alert twice; dedupe on site.id, kind, title and occurredAt.