Back to docs

SEO

GJS Builder has a complete, provider-agnostic SEO layer that works on its own — and gets out of the way when a dedicated SEO plugin is active.

The SEO document

Each page carries a canonical SEO record:

  • Title, description, canonical URL, robots directives
  • Focus keyword and favicon
  • Open Graph and Twitter card fields
  • JSON-LD
  • An extensible extra field for anything else

You edit it from the page-settings & SEO drawer in the editor, and it's available over REST at /pages/{id}/seo.

Coexistence with SEO plugins

On the front end, GJS prints full head tags — unless Yoast, Rank Math or All in One SEO is active, in which case it automatically defers to them so tags never duplicate. You keep one source of truth, whichever plugin your site already uses.

Auto-fill

Empty SEO fields fall back to the post title, excerpt and featured image, so pages are never shipped with blank metadata.

Pluggable providers

An in-editor SEO plugin can write to WordPress storage through a provider bridge (registerSeoProvider). The default provider is an accessible SEO panel; any SEO plugin can swap in via the same contract. This is covered in the Developer API.

Canonical ⇆ URL sync

The canonical stays in sync with the page's permalink, so changing a slug keeps SEO consistent.