One webhook.php on your host — signed articles land there.
No framework required. The recipe is a single webhook.php you drop in your public root — it reads the raw body with file_get_contents("php://input"), verifies the signature with the built-in hash_hmac and hash_equals, and hands you the article to store. Works on shared hosting, cPanel or any PHP host.
| Connection | A webhook.php script — uploaded to public_html, recipe provided |
|---|---|
| Security | HMAC-signed + timestamped — hash_equals over ${timestamp}.${rawBody}, replay-window protected |
| Payload | Full article JSON — title, HTML, images, meta, slug, language |
| Images | DraftSEO CDN URLs — URLs ride in the payload; rehost to your own storage if you prefer |
| Framework fit | No framework needed — hash_hmac and hash_equals are built into PHP |
Who does what
Upload one webhook.php, paste your secret, verify the HMAC over php://input, then INSERT the post into your database. After the green test, zero minutes per article.
Your PDO and your templates, exactly as they are.
Setup
Connect a site → PHP. You get a signing secret and the webhook.php recipe.
~1 minute
Paste the secret, drop the file in public_html, verify the signature and store the post — no dependencies to install.
~10 minutes
DraftSEO sends a signed test event; a green check confirms the connection.
~1 minute
Every generated article is delivered to webhook.php on cadence.
Ongoing · zero clicks
FAQ
A JSON body { event, deliveryId, data } — data holds the title, HTML article, slug, language, meta fields and image URLs, so one json_decode gives you a complete post to insert.
Each request is HMAC-signed over ${timestamp}.${rawBody} with a timestamp header; you recompute it with hash_hmac and compare using hash_equals, rejecting anything past the 5-minute replay window.
No — the recipe is plain PHP: file_get_contents("php://input") for the raw body and the built-in hash_hmac / hash_equals for verification. Drop it on shared hosting or cPanel; no Composer, no framework.
No card required. Signed test delivery in under a minute.