SEO fields
The seo_status contract, and seo_title vs title vs excerpt vs meta_description.
Four fields people conflate
| Field | Where it shows | Notes |
|---|---|---|
| title | The post headline (the H1) on your site | Always written. WordPress core. |
| excerpt | The on-site summary in archives and listings | Always written. WordPress core. Does NOT set the meta description. |
| seo_title | The title tag: the clickable title in search results and the browser tab | Max 70 characters. Needs plugin + Yoast/Rank Math. |
| meta_description | The search-result description under the title | Max 200 characters. Needs plugin + Yoast/Rank Math. |
The excerpt is not the meta description. Your theme shows the excerpt; the search engine shows the meta description. Writing one does not write the other.
The seo_status contract
Every publish, schedule and update response returns seo_status. Read it before reporting SEO success.
| seo_status | Meaning | Detail |
|---|---|---|
| none | No SEO fields were requested on the call. | Nothing to write. |
| unsupported | SEO fields were requested but the site cannot write them. | seo_error names the missing piece: the Pressbotics companion plugin, or a supported SEO plugin. |
| ok | The site is capable and the SEO meta was actually written. | Requires the companion plugin AND an SEO plugin. Yoast is verified end to end on a live site; Rank Math is supported but has not been tested. Only the active plugin's meta keys are written. |
Requirements for "ok"
SEO meta is only written when the site has both the free Pressbotics companion plugin and an SEO plugin. Yoast is verified end to end on a live site; Rank Math is supported but has not been tested. Only the active plugin's meta keys are written. Other SEO plugins are not supported and return "unsupported".
When it's unsupported
If either half is missing, the post still publishes — title, body, images and taxonomy all land — and seo_status comes back as "unsupported" with seo_error naming the missing piece. Nothing silently disappears: the field simply was not writable. Install the plugin, then re-run site_health, and later posts will carry SEO fields.
focus_keyword and canonical_url
focus_keyword is stored in the active SEO plugin's field and follows the same requirement. canonical_url sets the canonical link for the post.

