Skip to content

Publishing to WordPress

WordPress is the one destination WordPresto can publish live, and the one where it checks afterwards that the live page really matches what you approved.

WordPress connects with your site URL and an Application Password — the credential WordPress itself provides for programmatic access, so you never hand over your login password. Create one in WordPress under Users → Profile → Application Passwords, then add it in Project Settings → Destinations.

The connection is HTTPS only. WordPresto discovers your REST API rather than assuming its location, and falls back to the ?rest_route= form for installs running plain permalinks, which is the usual reason a WordPress REST connection appears to fail for no visible reason.

That credential alone gives you the standard REST connection, which publishes drafts and live posts. The full two-way integration comes from WordPresto Connector, a first-party plugin that adds an authenticated MCP server to your site. Download it, install it like any other plugin, then press Detect connector on the WordPress card. It uses the same Application Password — there is no second credential.

With the Connector installed, WordPresto reads the site’s real capability manifest (active integrations, post types, your actual permissions), imports pages as raw Gutenberg blocks so they round-trip losslessly, writes Yoast fields through Yoast’s own path, and reaches ACF fields. Without it, a page whose raw content REST will not release imports as text only — editable and publishable to Sanity or Astro, but it cannot publish back to WordPress, and the document says so.

See “The WordPress plugins” for installation, the detection states and what each one covers.

From an approved Canvas document you can:

  • create or update a draft, which is the default and the safe path;
  • publish live, which always needs an explicit action.

Content is written as block markup, preserved rather than flattened, so what arrives in WordPress is editable in the block editor rather than a wall of HTML.

If your site runs Yoast or Rank Math, WordPresto detects it and maps the SEO title, meta description and canonical into that plugin’s own fields. If neither is present, those fields are simply not written — WordPresto does not invent a field or guess at a plugin’s schema.

WordPress is the only destination where the loop closes. After a live publish, WordPresto re-reads the post through the same authenticated connection it published with — not a scrape, not a cached copy — and records what it found:

  • verified — the live post matches the approved document;
  • title mismatch — something is live, but it is not what was approved;
  • draft only — the post exists but is not actually public;
  • not found — the post id no longer resolves, so it was deleted or never really created;
  • unreachable — the site could not be read, so nothing is claimed either way.

That verdict is stored, so “did it actually ship?” has a recorded answer instead of an assumption.

Every refusal names itself rather than failing vaguely:

  • not published — the document has no WordPress post, so there is nothing to verify;
  • project required — the document is not attached to a project, so no connection can be resolved;
  • WordPress not connected — the project has no usable connection;
  • content type unavailable — the post type this document targets is not exposed by the site.

It will not publish from an unapproved Canvas, will not report a success it has not confirmed, and will not silently drop a block WordPress cannot represent — unsupported blocks are reported.