Integrations

Publish to any CMS.

Approve an article in SEORav, it lands on your live site — schema attached, internal links rewritten, hero image set. Four native CMS adapters cover most teams; a generic webhook reaches everything else.

Native CMS adapters

Connect once. Publish forever.

Each native adapter handles auth, schema injection, and post-publish verification. We re-fetch the live URL after every publish and tell you if anything got stripped on the way through.

Every publish, every adapter

What lands on your live site.

The publish payload is the same shape across CMSes. The adapter is responsible for mapping it onto the CMS's specific fields — without dropping anything on the way through.

HTML body

Full article HTML with semantic headings, lists, tables, and answer-first openings preserved. No CMS-default styling stripped on the way through.

Hero image

Multiple Image formats uploaded to the CMS media library (or kept on Supabase Storage where the CMS supports a remote URL). Dimensions stored in the post meta so schema and OG cards match.

JSON-LD schema

BlogPosting + BreadcrumbList always. FAQPage / HowTo / Speakable when the article has those sections. Injected into the CMS-appropriate location (head, content embed, or RankMath/Yoast fields on WP).

Meta title + description

meta_title (≤60 chars) and meta_description (≤155 chars) generated alongside the article and written into the SEO fields the CMS actually surfaces.

Slug + canonical

Slug locked once published (no slug churn on re-edit). Canonical points to the live URL the CMS resolves to — even when the CMS adds a www / non-www prefix you didn't configure.

Categories + tags

Article gets the category and tags you configured for the cluster. Where the CMS supports parent categories or hierarchies, we respect them.

Post-publish verification

Publishing isn't done until the live URL agrees.

Most CMSes will happily accept a publish call and silently strip out schema you added, mangle a slug, or fail to upload the hero image. SEORav refetches the live URL after every publish and validates that what we sent is what the world can see.

If schema is missing, we re-inject. If the hero image didn't land, we retry. If the slug ended up different from what we asked for, we record the redirect and update the canonical. If anything is unrecoverable, the article moves back to the review queue with an actionable error — not a silent failure six weeks later when you notice no AI engine is citing the page.

Every connected adapter re-checks the article every six hours for the first 48 hours and once a week thereafter. Token expiries, broken redirects, and stripped schema show up in /health with the article that owns them.

Integrations questions

The wiring stuff we get asked about.

Do I need a developer to set up an integration?+

For the native adapters (WordPress, Webflow, Ghost, HubSpot, Shopify, Wix, Framer): no — the in-app onboarding asks for an API key or runs OAuth and you're done in under five minutes. For the webhook adapter, a backend dev wires a single endpoint to your CMS's create-post API; usually under an hour of work.

What if my CMS isn't on the native list?+

The generic webhook adapter is the answer — Sanity, Contentful, Strapi, Notion, custom in-house CMSes all sit downstream of it. We POST a structured JSON payload (body HTML, schema, hero image URL, meta, slug, tags) to the endpoint you provide.

Can I publish to multiple CMSes from the same workspace?+

Yes. Each site you onboard has its own adapter, and you can run different sites against different CMSes. Articles route to the site they were briefed for.

Do you keep my CMS token?+

Encrypted at rest, scoped per site, and revocable from your CMS's admin panel at any time. We use the narrowest token permissions each CMS allows (write + media + schema fields, not user management or commerce).

Can the publish flow run on auto, or does a human always approve?+

Both. Default is "queue for review" — articles ship to your reviewer queue and you click publish. Once you trust the gate scores, you can flip the cluster to auto-publish for scores ≥85 and only review the ones in the 75–84 band.

What happens if the integration breaks mid-publish?+

The article rolls back to draft, /health shows the failure with the CMS response, and you get an email if it's the first failure in a 24-hour window. Retries are automatic for transient errors; persistent errors stop the queue rather than burying themselves.

No "export, paste, fix the schema."
Just approve and ship.

Every native adapter verifies after publish and re-checks the live URL every six hours so a token expiry doesn't mean a silent outage.