A controller plus a route — articles arrive as signed JSON.
Laravel owns the rendering; DraftSEO owns the pipeline. The recipe is a controller with a route in web.php — $request->getContent() gives you the raw body for the HMAC check, and you exempt the route from CSRF since an external POST carries no token. From there, save an Eloquent model and render it in Blade.
| Connection | A controller + route — routes/web.php, CSRF-exempt, 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 | Queue the work if you like — dispatch a job after a fast 200; render posts in Blade |
Who does what
Add the controller and route, exempt it from CSRF, verify the HMAC over $request->getContent(), then Post::create the model. After the green test, nothing per article.
Your migrations, Eloquent and Blade views stay yours.
Setup
Connect a site → Laravel. You get a signing secret and the controller recipe.
~1 minute
Register the POST route in web.php, exempt it from CSRF, verify the signature, save the model — the recipe covers every step.
~10 minutes
DraftSEO sends a signed test event; a green check confirms the handshake.
~1 minute
Every generated article is delivered to your controller on cadence.
Ongoing · zero clicks
FAQ
A JSON body { event, deliveryId, data } — data holds the title, HTML content, slug, language, meta fields and image URLs, ready to map straight onto an Eloquent model.
Each request is HMAC-signed over ${timestamp}.${rawBody} with a timestamp header; you recompute it with hash_hmac, compare with hash_equals, and reject anything past the 5-minute replay window. Remember to CSRF-exempt the route.
Yes — verify the signature, return 200 quickly, and dispatch a queued job to do the heavy lifting (image rehosting, indexing). The controller stays a thin, fast receiver.
No card required. Signed test delivery in under a minute.