Publish via webhook
Prefer to publish somewhere other than WordPress - a headless CMS, a static-site build, Zapier, or your own service? Point SEOGraphy at a webhook. When you publish an article, we send a signed HTTP POST to your URL with the full article, and your system does the rest.
Step 1 - Add the webhook
- Open Sites, click your website, and scroll to the Publishing section.
- Click Add webhook and enter the URL that will receive the POST request.
- Save. SEOGraphy shows you a signing secret once (it starts with
whsec_). Copy and store it now - you cannot see it again. To rotate it, remove the webhook and add it back.
Use the Test button any time to send a signed test ping. A test uses the event name webhook.test.
The request we send
On each publish we send an HTTP POST with Content-Type: application/json and these headers:
| Header | Value |
|---|---|
X-SEOGraphy-Event | article.published |
X-SEOGraphy-Timestamp | Unix time in seconds when we signed the request |
X-SEOGraphy-Signature | Hex-encoded HMAC-SHA256 signature (see below) |
The body looks like this:
{
"event": "article.published",
"occurred_at": "2026-07-07T12:00:00.000Z",
"article": {
"id": "0f8c...",
"title": "How to brew better cold brew",
"slug": "better-cold-brew",
"url": "https://your-site.com/better-cold-brew",
"meta_description": "A short, practical guide to smoother cold brew at home.",
"focus_keyword": "cold brew",
"word_count": 1480,
"body_markdown": "# How to brew better cold brew\n\n...",
"body_html": "<h1>How to brew better cold brew</h1> ...",
"faqs": [{ "question": "...", "answer": "..." }],
"article_schema": { "@context": "https://schema.org", "@type": "Article" },
"faq_schema": { "@context": "https://schema.org", "@type": "FAQPage" }
}
}