Publish to any CMS with a webhook
When an article is ready, we POST it to a URL you control as clean JSON: Markdown, HTML, meta, featured image, FAQ and JSON-LD. Wire it into Strapi, a headless CMS, or your own stack.
Three steps to anywhere
- 1
Add your endpoint
Paste the URL that should receive articles and pick POST or PUT. We generate a secret token for you.
- 2
We POST each article
Every finished article is delivered to your endpoint as JSON, with an X-Webhook-Secret header to verify it.
- 3
You handle the rest
Your endpoint maps the payload into your CMS however you like. Full control, any platform, any format.
Everything you need, already structured
The full article in both Markdown and HTML, SEO meta, the featured image, structured FAQ items and JSON-LD schema, so you can render it however your CMS expects.
Every request carries an X-Webhook-Secret header. Verify it with a constant-time match before you trust the body.
{
"id": "a1b2c3d4-…",
"title": "How to Build a SaaS",
"meta_title": "How to Build a SaaS",
"slug": "how-to-build-a-saas",
"meta_description": "A step-by-step guide…",
"content_markdown": "# How to Build…",
"content_html": "<h1>How to Build…</h1>…",
"keyword": "how to build a saas",
"article_type": "Guide: How-to",
"word_count": 1847,
"reading_time": 9,
"featured_image": { "url": "https://…", "alt": "…" },
"faq": [{ "question": "…", "answer": "…" }],
"json_ld": { "@type": "Article", … },
"created_at": "2026-05-09T12:00:00Z",
"generated_at": "2026-05-09T14:30:00Z"
}One webhook, every stack
Built to reach anywhere, with the reliability details handled for you.
Any platform
Strapi, headless CMSes, static/MDX sites, or your own backend.
Verified by a secret
A per-endpoint secret token in the X-Webhook-Secret header confirms every request is really from you.
Markdown + HTML
Get the content in whichever format your CMS prefers, no conversion on your end.
FAQ + JSON-LD
Structured FAQ items and ready-made schema ride along for rich results.
Retried on failure
If your endpoint hiccups, delivery is retried and the article is never lost. Re-publish any time.
Predictable shape
A stable, documented JSON payload with Node and Python receiver examples in the docs.
How to connect Webhook to SEOLadders, step by step
About 10 minutes, no code. Follow along in a second tab.
Before you start
- A website or app that can receive an article at a web address (an endpoint), such as a custom site, a headless CMS or a no-code backend.
- Someone, or an AI coding tool, who can add that endpoint. SEOLadders writes the instructions for it.
- 1
Pick Webhook in SEOLadders
- 1.In SEOLadders, open Content → CMS Integration and click the Custom Webhook card.
- 2.A secret token is created for you. Your endpoint uses it to check that each article really came from SEOLadders.
- 2
Build the endpoint with one prompt
No need to read the technical details yourself.
- 1.On the webhook form, choose your stack (or Any stack) and click Copy prompt.
- 2.Paste it into Claude Code, Cursor, Lovable or the AI tool your site is built with. It contains everything needed to build the endpoint: the article's format, the secret check and what to reply.
- 3.Save the secret token where your site keeps its settings, as the prompt explains.
- 4.Copy the address of the new endpoint (it must start with
https://).
- 3
Connect the endpoint
- 1.Paste the address into Endpoint URL. Leave HTTP Method on POST.
- 2.Click Test connection. SEOLadders sends a full sample article, and should say your endpoint accepted it.
- 3.Click Save configuration.
Articles go live on their own
Once you connect, every finished article from your content calendar is published automatically. To check each one first, turn on review mode in Content → Auto Blog.
- 4
Publish your first article
- 1.In SEOLadders, open Content → Content History and click any finished article.
- 2.Click Publish at the top right.
- 3.Your endpoint receives the article with its title, slug, meta description, cover image, full text (Markdown and HTML) and structured data, and your site shows it. When your endpoint replies with the post's address and "published", SEOLadders marks the article Published with a link to it.
- 4.Publishing the same article again updates the same post, so you never get a duplicate.
If something goes wrong
- Test connection fails
- Check the address is public and starts with
https://. Some hosts protect routes by default: make sure this one is reachable. - Your endpoint rejects the article as unauthorised
- The secret your site checks must match the token in SEOLadders exactly, with no extra spaces.
- Articles stay at Ready instead of Published
- Your endpoint didn't reply with a status. Have it reply with the post's
urlandstatus: "published".
Still stuck? We set it up with you: contact us from your avatar menu, then Support. Developers can find every field and payload in the Webhook docs.
Webhook publishing, answered
Setup, what gets published and what happens when you update.
See the full platform →It's the escape hatch that reaches any CMS. When an article finishes, SEOLadders sends an HTTP POST with the full article as JSON to a URL you control. Your endpoint decides what to do with it: create a CMS entry, a Markdown file, a row in your own database, anything.
Every request includes an X-Webhook-Secret header set to a secret token you generate in your dashboard. Your endpoint compares it to your stored secret with a constant-time string match before trusting the payload.
The article id, title, meta title, slug, meta description, the content as both Markdown and HTML, the featured image (URL or base64), the target keyword, article type, word count, reading time, structured FAQ items, and JSON-LD schema.
Anything that can receive an HTTP request: Strapi, headless CMSes, MDX-driven static sites, or a custom backend. On Ghost, Notion, Webflow, Framer, Shopify or Wix? Connect them directly instead, no endpoint needed.
The article is still fully generated and saved, because publishing and generation are separate. Failed deliveries are retried, and you can re-publish from the dashboard once your endpoint is healthy.
Your endpoint should respond within 30 seconds. If you have long-running publish logic, acknowledge with a 2xx immediately and process the payload asynchronously.
Rank on Google and get cited
by AI on autopilot
Connect your site once and the work runs in the background, it finds the topics, builds the content and authority behind them, then tracks where you land on Google and how often AI platforms recommend you.