Skip to main content

WordPress Contract

SCS talks to WordPress through WP-CLI. Each site must declare its SSH host, system user, and WordPress root in config/sites.csv.

Site configuration​

site_id,prefix,domain,name,status,focus,nw_project,wp_root,wp_url,wp_user,ssh_host,notes,created
opshell,OPS,opshell.dev,Opshell,development,"VPS hosting, DevOps",,/home/wp_opshell_dev/sites/opshell.dev,http://opshell.dev,wp_opshell_dev,GC-SG-M8,,2026-10-17

SCS runs:

ssh GC-SG-M8 'cd /home/wp_opshell_dev/sites/opshell.dev && sudo -u wp_opshell_dev -- wp <command>'

Read-only inspection is the default. Writes are draft-only and require an explicit command.

Fields verified on opshell.dev​

SEO Architecture​

group_seo_architecture on posts:

FieldTypeValues
content_typeCheckboxhub, pillar, cluster, supporting
hub_parentPost objectPage
pillar_parentPost objectPost
cluster_parentPost objectPost
primary_keywordText—
semantic_tagsTextComma-separated

Technical Review (legacy)​

group_opshell_technical_review on posts:

FieldType
opshell_technical_reviewerUser
opshell_review_dateDate

SCS Review Gate (pilot plugin)​

group_wpw_review_gate on posts and pages:

FieldType
wpw_review_statusSelect
wpw_reviewerUser
wpw_review_dateDate (Ymd)
wpw_review_scopeCheckbox
wpw_review_checklistCheckbox
wpw_review_notesTextarea

Author profile​

group_wpstrategist_author_bio on users: profile image, title, bio, years experience, location, reviewed_on, quote, expertise, credentials, social links.

Taxonomies​

  • content_format: Review, Benchmark, Case Study, Cheatsheet, Checklist, Comparison, FAQ, News, Reference, Runbook, Troubleshooting, Tutorial.
  • webboulder_authority_topic: hierarchical authority topics.

Naming collision to avoid​

ACF content_type means hub / pillar / cluster / supporting. The taxonomy content_format means Review / Comparison / Cheatsheet / etc.

  • clusters.kc_type → ACF content_type
  • publishing.wp_content_format → taxonomy content_format
  • article front matter content_type → the article format (writer-facing only)
warning

The article front matter key content_type is not the ACF field. SCS never reads front matter when building the publish payload; it uses clusters.kc_type for ACF content_type. Do not assume the two values are interchangeable.

Mapping​

SCSWordPress
pidpost meta scs_pid
article pathpost meta _scs_source_path
kc_typeACF content_type
pillar_pidACF pillar_parent (post ID)
parent_pidACF cluster_parent (post ID)
keywordACF primary_keyword
entity_coverageACF semantic_tags
wp_content_formatcontent_format taxonomy
wp_authority_topicwebboulder_authority_topic term
wp_author_idpost author
wp_post_idpost ID
wp_linkpermalink
QAwpw_review_*

Portability​

The review-gate plugin is in:

integrations/wordpress/wpstrategist-review-gate/

Install it on another site with the same ACF Pro dependency. Keep the wpw_* field names stable; they are the SCS contract. The plugin also mirrors reviewer and date into the legacy opshell_* fields when present, on ACF save.

warning

Do not assume another site has the same theme, taxonomies, or ACF field names. Run scs wp inspect --workspace <ws> --site <site_id> and record the differences before enabling the publish bridge.