GoBuildWP

SEO suitesFree + Pro

Slim SEO MCP for the single slim_seo row

Slim SEO fills in titles and descriptions automatically and stores very little per post. This Slim SEO MCP integration works with that: it shows what a post overrides and what Slim SEO renders with its variables filled in, writes title, description, canonical, noindex and social images to the single slim_seo meta row, and records each write so it can be undone. Fields Slim SEO does not have are refused, not faked. GoBuildWP Free sets the title, description and noindex flag and leaves the row's canonical and images as they are; those, the rendered view and bulk reads are Pro.

AI clientyour-site.comVerify site policy

Which of our case studies have no Slim SEO title at all? Give the Acme one a proper title and description.

  1. wppilot/slim-seo-check-setupRead

    Returns the separator, the default title template and each post type's templates, showing the case-study type has no title template.

  2. wppilot/seo-bulk-get-metaRead

    With post_type set and the missing_title filter, lists case studies without a title override.

  3. wppilot/slim-seo-get-post-seoRead

    For the Acme post, shows empty stored fields and title_source wordpress.

  4. wppilot/slim-seo-update-post-seoWrite

    Writes a title built from the post.title and sep variables plus a description, and returns what was stored and the new rendered title.

Proposed sequence from source declarations; not a recorded task or proof of client compatibility. Inspect saved state and browser or provider results separately.
Edition
Free 2 + Pro 1
Abilities
3
Requires
WordPress 6.9+, PHP 8.0+

Limits

What Slim SEO cannot store

  • There is no focus keyword, no nofollow and no Open Graph text. A bulk write naming one of those fails for that post with wppilot_seo_field_unsupported.
  • Slim SEO cannot force a post to be indexed. robots_index default or index both clear the flag, and a post in a noindexed post type inherits the noindex directive where applicable. That directive does not prove search exclusion.
  • Undo restores the slim_seo row only; content and other meta are untouched. Free keeps a before-image of that row alone as well, so an undo there also returns the canonical and images to how they stood before the write.
  • The AI provider key Slim SEO keeps in its settings option is never returned, and settings are read-only.

Data model

One array per post, templates for everything else

Slim SEO keeps a post's overrides in one post meta row, slim_seo: an array of title, description, canonical, a noindex flag and Facebook and X images. GoBuildWP writes it the way Slim SEO's editor does, sanitising each value, dropping empty ones and deleting the row when nothing is left.

Anything a post does not set comes from its post type's template, which may use variables such as post.title and sep, written in double curly braces; descriptions fall back to the excerpt or content. When neither the post nor its post type sets a title, Slim SEO leaves WordPress's own document title in place, and the read reports title_source wordpress with no title.

The rendered block also says why a page is noindexed: the post, its post type, or a site-wide discourage-search setting. Slim SEO drops the canonical on a noindexed page, so an empty rendered canonical there is expected.

Worked example

Find posts that fall back to WordPress's own title

Expected outcome to verify on the installed stack; this sequence has not been recorded as a runtime test.

The user gets a list of case studies printing WordPress's plain document title, and the Acme page now has its own. The write is undoable; for the rest, a post-type title template in Slim SEO fixes them all without per-post overrides.

Audit missing SEO overrides, then inspect WordPress-derived titles in the rendered head. An empty override does not establish that the page has no title or needs a rewrite.

  1. slim-seo-check-setup

    Returns the separator, the default title template and each post type's templates, showing the case-study type has no title template.

  2. seo-bulk-get-meta

    With post_type set and the missing_title filter, lists case studies without a title override.

  3. slim-seo-get-post-seo

    For the Acme post, shows empty stored fields and title_source wordpress.

  4. slim-seo-update-post-seo

    Writes a title built from the post.title and sep variables plus a description, and returns what was stored and the new rendered title.

Abilities

Slim SEO abilities by effect

Documented source abilities; live registration can be narrower. Edition and effect labels describe the source catalogue. The installed schema, dependency versions, licence, WordPress capability, safety profile and per-ability policy determine availability; labels alone do not prove confirmation or recovery.

Read example: wppilot/slim-seo-get-post-seo

Discover this ability and its live schema first. The input below illustrates a bounded read from the source declaration; replace the example ID or name with an object returned by your site. It is not a recorded execution result.

ParameterType and meaning
post_id requiredinteger, at least 1
include_renderedboolean, default true
{
  "post_id": 42
}
Input and output schema from the plugin source

2 input fields. Required: post_id. Optional parameters can affect response size and object selection.

{
  "input": {
    "type": "object",
    "properties": {
      "post_id": {
        "type": "integer",
        "minimum": 1
      },
      "include_rendered": {
        "type": "boolean",
        "default": true
      }
    },
    "required": [
      "post_id"
    ],
    "additionalProperties": false
  },
  "output": {
    "type": "object",
    "properties": {
      "post_id": {
        "type": "integer"
      },
      "seo": {
        "type": "object"
      },
      "rendered": {
        "type": "object"
      },
      "unsupported": {
        "type": "object"
      }
    },
    "required": [
      "post_id",
      "seo"
    ]
  }
}

Source: wppilot-pro/includes/kits/seo-slim/src/abilities/get-post-seo.php

A successful read should identify the requested object and expose the structure described by the output schema. Compare it with the native editor before proposing a change. Troubleshoot missing or refused operations.

Template first, overrides second, bulk with a dry run

Fix the Slim SEO post-type template or write forty overrides?

The first decision in most Slim SEO MCP sessions is where a fix belongs. Slim SEO is built around templates: a post type's title and description templates cover every post that sets nothing itself. If forty case studies all print a weak title, forty per-post overrides freeze forty strings that will not follow a later change to the template, while one template edit fixes the lot. slim-seo-check-setup shows each public post type's templates, so the agent can tell you which situation you are in before writing anything.

Templates are Slim SEO settings, and GoBuildWP reads settings but does not write them, so a template change happens in Slim SEO's own settings screen. Per-post overrides are right for the pages that deserve their own wording: the homepage, key landing pages, the few posts that rank. After a template change, a read with slim-seo-get-post-seo on one affected post confirms the new rendered title and that title_source now says post_type.

Running a Slim SEO bulk pass with seo-bulk-get-meta and seo-bulk-update-meta

For more than a handful of posts, the plugin-neutral SEO abilities do the work with provider set to slim-seo. seo-bulk-get-meta reads up to a hundred posts per page and filters by post type, status, missing_description, missing_title or duplicate_titles. A filtered read inspects at most a thousand posts and says truncated when there were more, so a large blog needs the post type or status narrowed. Duplicate detection compares the effective title, the override or else the post title, with template variables unexpanded.

seo-bulk-update-meta then writes up to a hundred posts per call. Only title, description, canonical and robots_index go through it for Slim SEO; asking for a focus keyword, nofollow or an Open Graph title fails that post with wppilot_seo_field_unsupported, and the rest continue. Run it with dry_run first to see each post's before and after, then again with confirm. Each post gets its own ledger row holding its slim_seo array, so rollback-change can undo one post without touching the others. Both bulk abilities are Pro.

Social images on a plugin with no Open Graph text

Slim SEO has no separate social title or description: its Open Graph and X cards reuse the meta title and description. What a post can carry is facebook_image and twitter_image. Setting those, like canonical, is part of GoBuildWP's Pro copy of slim-seo-update-post-seo; Free leaves them as they are. After changing a share image, check the result with the platform's own sharing debugger, since social networks cache previews independently of the site.

canonical follows the same pattern as the other fields: an empty value lets Slim SEO print the permalink, and an override is only worth setting when the content genuinely lives at another address. On a noindexed page Slim SEO prints no canonical at all, so an empty rendered canonical there is expected rather than a failed write.

Slim SEO writes under each safety profile

No Slim SEO ability is classed destructive. On Read Only an agent can audit every post and template; on Production Safe single-post writes can run for a user who can manage options, subject to per-ability and approval policy, while seo-bulk-update-meta requires confirm by its own rule. Free vs Pro shows which edition covers which field, and the Slim SEO reference lists the parameters.

  • "Read only: which published posts share a title, and which have no description override?"
  • "Dry-run descriptions for the twelve services posts with no description, using the excerpt as a starting point."
  • "Set the share image on the pricing page to the new banner and show me the rendered output."

Questions

Slim SEO questions

Does Slim SEO support focus keywords through MCP?

No. Slim SEO has no focus keyword field, so GoBuildWP neither reads nor writes one.

Why is my Slim SEO page noindexed when the post says index?

Slim SEO can only add noindex, never force index. If the post type is noindexed, or the site discourages search engines, the post follows that, and the rendered block names which.

Are Slim SEO variables expanded when they are stored?

No. The post.title variable and its siblings are stored as written, braces included, and filled in when Slim SEO renders; the read shows both forms.

Where these facts come from

GoBuildWP behaviour is taken from the plugin source and the ability reference; third-party details from the vendor documentation below, checked by the GoBuildWP team.

Slim SEO is a separate product; no partnership or endorsement is implied.

Try it on Slim SEO in Read Only first