Released public product · Headless WordPress integration
SEO & Social
Editor-managed metadata with a predictable frontend contract
SEO & Social gives WordPress editors controlled workflows for SEO, social, schema, FAQ, Open Graph images, and LLMs source data. It resolves global defaults and per-content overrides into a stable REST contract for a separate frontend.
I am the sole creator and owned the project from product definition and WordPress/PHP implementation through REST contract design, validation, documentation, packaging, and public release.

The problem
In a traditional WordPress site, an SEO plugin can print tags into the document head. In a headless build, WordPress and the public frontend are separate systems. Editors still need familiar controls, while the consuming application needs stable, resolved data.
The product challenge was to define what editors save, how defaults and overrides resolve, which data is public, and what the frontend must render—while preserving that contract across permissions, malformed input, compatibility changes, and packaging.
The data workflow
Stored WordPress values resolve into a predictable contract for a separately owned frontend.
site-wide settingspage-level valuespredictable payloadmetadata + public routesProduct decisions
The implementation keeps editorial control, resolved output, frontend ownership, and generated assets within clear boundaries.
Separate stored values from resolved output
Editor-entered values remain distinct from the fallback-resolved payload, so consumers receive predictable data without hiding what was saved.
Keep rendering with the URL owner
WordPress provides structured source data. The separate frontend owns canonical URLs, metadata, schema markup, FAQ presentation, sitemap files, /llms.txt, and public routes.
Control editorial and public access
Settings, content overrides, REST output, generated files, and operational actions use explicit capability and visibility rules instead of sharing one broad access model.
Constrain generated media and cleanup
Open Graph image generation, public files, caches, uninstall behavior, and compatibility checks have defined lifecycle rules.
The editor workflow
Editors manage global defaults and page-level overrides in WordPress. The plugin validates and resolves those values, then exposes structured output for the separate frontend.
Validation evidence
Coverage follows the product from stored values and REST resolution through editor workflows and the downloadable ZIP.
When testing changed the editor experience
Dynamic FAQ rows reused a placeholder editor ID. The first rich-text editor initialized correctly; later answers could fail to initialize independently.
I documented the behavior in issue #1, implemented the fix in pull request #3, and added regression coverage before the change shipped in v1.1.0.
Later work tightened dynamic-settings validation for incomplete rows, duplicate keys and URLs, invalid URL formats, and exact duplicate schema rows.

Packaging and release validation
The downloadable ZIP is the product under test, including native update discovery from verified stable GitHub Releases.
- Dependency audits, PHP syntax, and WordPress Coding Standards
- PHPUnit integration and 23 Playwright admin tests
- Translation, manifest, and deterministic ZIP verification
- Plugin Check, clean activation, version, and native-update verification
- WordPress and PHP compatibility matrix
The gates validate the same deterministic archive a user downloads, not a different source checkout.
View release workflowsOutcome
SEO & Social is a public WordPress plugin with a documented editor workflow, predictable resolved REST output, explicit access boundaries, reproducible packaging, native updates, and regression coverage.
Editors manage source data in WordPress, the plugin exposes a stable contract, and the separate frontend owns how that data appears on the public website.