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.
Which of our case studies have no Slim SEO title at all? Give the Acme one a proper title and description.
wppilot/slim-seo-check-setupReadReturns the separator, the default title template and each post type's templates, showing the case-study type has no title template.
wppilot/seo-bulk-get-metaReadWith post_type set and the missing_title filter, lists case studies without a title override.
wppilot/slim-seo-get-post-seoReadFor the Acme post, shows empty stored fields and title_source wordpress.
wppilot/slim-seo-update-post-seoWriteWrites a title built from the post.title and sep variables plus a description, and returns what was stored and the new rendered title.
- 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.
slim-seo-check-setupReturns the separator, the default title template and each post type's templates, showing the case-study type has no title template.
seo-bulk-get-metaWith post_type set and the missing_title filter, lists case studies without a title override.
slim-seo-get-post-seoFor the Acme post, shows empty stored fields and title_source wordpress.
slim-seo-update-post-seoWrites 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
Create and change1
Destructive0
None.
Reference: /docs/reference/seo-slim
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.
| Parameter | Type and meaning |
|---|---|
post_id required | integer, at least 1 |
include_rendered | boolean, 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.