ZYVOPDOCS
MULTI-PLATFORM SYNC
Workflows & CI/CD

Static Sites & Headless CMS

Integrate ZyVOP with Astro, Next.js, Hugo, Docusaurus, and headless CMS webhooks.

Static Sites & Headless CMS Integration

If your technical publication is built on a modern static site generator (SSG) or headless CMS, you can use ZyVOP as your automated syndication pipeline without changing your existing blogging workflow.


Architecture

graph LR
    Dev["Developer"] --> Git["Git Repository<br/>(Markdown / Content)"]
    Git --> Build["SSG Build<br/>(Astro / Next.js / Hugo)"]
    Build --> Vercel["Primary Domain<br/>(Canonical Origin)"]
    Git --> ZyVOP["ZyVOP Action / API"]
    ZyVOP --> DevTo["DEV.to"]
    ZyVOP --> Hashnode["Hashnode"]
    ZyVOP --> Medium["Medium"]

Astro Integration Example

In Astro projects with Content Collections (src/content/blog/*.md):

  1. Define your canonical URL in your Astro collection schema:
src/content/config.ts
import { defineCollection, z } from 'astro:content';

const blog = defineCollection({
  schema: z.object({
    title: z.string(),
    description: z.string(),
    tags: z.array(z.string()),
    canonical_url: z.string().optional(),
  }),
});
  1. Add a simple post-build syndication script:
scripts/syndicate.js
import { execSync } from 'node:child_process';
import glob from 'glob';

const files = glob.sync('src/content/blog/*.md');
for (const file of files) {
  console.log(`Checking ${file}...`);
  execSync(`npx zyvop publish ${file} --base-url https://myastroblog.dev`, {
    stdio: 'inherit',
    env: process.env,
  });
}

Next.js (Contentlayer / MDX / Fumadocs)

In Next.js repositories, publish articles via standard NPM scripts:

package.json
{
  "scripts": {
    "publish:article": "zyvop publish"
  }
}

Running:

npm run publish:article -- ./content/posts/my-post.md

Headless CMS Webhooks (Strapi, Sanity, Contentful)

When managing articles inside a headless CMS:

  1. Configure an outgoing webhook on article publish events.
  2. Direct the webhook to an API route (e.g. Next.js API route or AWS Lambda).
  3. The serverless function transforms CMS JSON fields into Markdown and forwards the payload to POST https://zyvop.com/api/v1/articles with Authorization: Bearer $ZYVOP_TOKEN.

On this page