Webflow SEO content workflow and CMS publishing

Your Webflow CMS Collection remains the source of the rendered article. SEODrafts validates the Collection and token scope, maps reviewed content to compatible fields, updates items by exact slug, and verifies the rendered canonical page.

Best for: Marketing sites with a Webflow CMS Collection and an existing Collection Template for articles.

Support status: stable
Publisher: webflow

How the connection works

Authentication

A Webflow token with cms:read and cms:write plus the destination Collection ID. Both remain in CI or another tenant-controlled server-side secret store.

Server-side variables

  • SEO_BLOG_PUBLISH_TOKEN
  • SEO_BLOG_SITE_SLUG
  • SEO_BLOG_CMS_LOCALE
  • WEBFLOW_TOKEN
  • WEBFLOW_COLLECTION_ID
  • SEO_BLOG_SITE_ORIGIN

Publishing sequence

01

Validate token scope, Collection fields, required fields, and field types without writing.

02

Look up the destination by exact slug and reject ambiguous localized matches.

03

Patch one existing item or create one item with the official Webflow v2 payload shapes.

04

Publish only the confirmed item ID, then verify article identity and the exact public canonical.

Validate and initialize Webflow

SEO_BLOG_PUBLISH_TOKEN='<tenant-token>' \
SEO_BLOG_SITE_SLUG='<slug>' \
SEO_BLOG_CMS_LOCALE='<primary-bcp47-locale>' \
WEBFLOW_TOKEN='<webflow-token>' \
WEBFLOW_COLLECTION_ID='<webflow-collection-id>' \
SEO_BLOG_SITE_ORIGIN='<origin>' \
npx --yes @wotaso/seo-blog-admin-cli@0.2.2 init-cms --cms webflow --site-slug '<slug>' --site-origin '<origin>' --locale '<primary-bcp47-locale>'

init-cms performs the connector's read-only credential, permission, and destination-schema checks first. It writes seo-blog.config.json and the scheduled tenant workflow only after validation passes; review both files, add the named GitHub secrets and variables, then trigger the workflow once manually.

Scheduled runner health heartbeat

SEO_BLOG_PUBLISH_TOKEN='<tenant-token>' \
SEO_BLOG_SITE_SLUG='<slug>' \
SEO_BLOG_CMS_LOCALE='<primary-bcp47-locale>' \
WEBFLOW_TOKEN='<webflow-token>' \
WEBFLOW_COLLECTION_ID='<webflow-collection-id>' \
SEO_BLOG_SITE_ORIGIN='<origin>' \
SEO_BLOG_SCHEDULED='true' \
npx --yes @wotaso/seo-blog-admin-cli@0.2.2 health --config seo-blog.config.json --mode cms --site-slug '<slug>' --site-origin '<origin>'

Run this from the real scheduled runner after seo-blog.config.json contains the selected connector configuration and the listed secrets are loaded. CMS health re-runs the remote read-only validation; it still does not create an article. The dashboard expires readiness at the returned deadline, with a 36-hour fallback when no deadline is available.

Fields and data model

  • Rich Text receives rendered body HTML
  • Image fields receive a durable public URL in Webflow's required object shape
  • Explicit mappings are checked against real field slugs, types, and required fields

Canonical and route

The Webflow Collection Template owns the public route, canonical tag, sitemap, schema, and rendering. SEODrafts confirms the rendered page on the configured customer-owned origin.

Known limits

  • The Collection must expose a compatible title, slug, and Rich Text body mapping.
  • Localized duplicate slugs require an explicit locale-aware mapping before publishing.
  • The token must expose verifiable cms:write scope for the selected Collection.

Recovery

  • Run init-cms after fixing token scope, field names, types, or required mappings.
  • Correct ambiguous locale or slug configuration instead of updating an arbitrary item.
  • Fix the Collection Template canonical and route before rerunning the public verification.

Integration questions

Where are credentials stored?

The Webflow credentials stay in the managed GitHub App or a tenant-owned CI/server-side secret environment.

Does SEODrafts own the canonical URL?

No. The destination website owns its route, canonical tag, sitemap, rendering, and analytics.

Can the integration be tested before publishing?

The init-cms and health commands validate credentials, permissions, and destination schema without writing; the first manual workflow run then verifies the rendered public page.

Keep the website your team already owns.

Review the opportunity and draft in SEODrafts, then publish approved work through Webflow.

Add my website