Skip to main content
Cookbook SEO SiteSEO

Write Missing SEO Titles and Meta Descriptions in SiteSEO with AI

Find the posts SiteSEO has no description for and fill them in, ten at a time, after you approve each line.

Difficulty Beginner
Time ~15 min

Prerequisites

A site connected to WPVibe running SiteSEO 1.4.2 or newer (tested on 1.4.2, free) on WordPress 6.9 or newer, with an administrator account, and the Abilities - SiteSEO switch turned on under SiteSEO > AI Abilities.

The prompt
My WordPress site uses SiteSEO. Write meta descriptions for posts and pages that don't have one, ten at a time.

1. Run discover_abilities with category siteseo-posts. If siteseo-posts/seo-data-get is not there, run rest_api GET /wp/v2/plugins with search siteseo. If SiteSEO is active, tell me its AI abilities are off until I turn on the Abilities - SiteSEO switch at the top of SiteSEO > AI Abilities in wp-admin (the MCP Adapter and Application Password steps on that page are not needed for WPVibe; if the switch is already on, the site needs SiteSEO 1.4.2 or newer and WordPress 6.9 or newer), and stop. If it is installed but not active, tell me to activate it and then turn on that switch, and stop. If it is not installed, tell me this recipe is for the free SiteSEO plugin, and stop.
2. Run siteseo-posts/list-missing-seo with missing_fields ["description"], post_type ["post", "page"], status ["publish"], limit 100 and offset 0. It checks the newest posts first and returns only those missing a description, and its total counts every published post and page, not the ones missing. Keep calling it with offset 100, 200 and so on until offset reaches total, and tell me how many are missing out of total. If total is over 2000, stop after the newest 2000 and say the count covers only those. If I asked for other post types, such as [product], add them to post_type. Leave out WooCommerce cart, checkout and My Account pages and login or thank-you pages: nobody finds those through search.
3. Take the first 10. For each, run siteseo-posts/seo-data-get, and read the post with rest_api GET /wp/v2/posts/ID?context=edit (/wp/v2/pages/ID for a page, or the type's own route for other types). If excerpt.raw is not empty, show it and say SiteSEO already uses it as the description, and ask whether to keep it; pages usually have no excerpt field, so skip that check for them.
4. Write a meta description of 120 to 160 characters that says what the reader gets, using only what the post says, no invented claims or prices. If the post has no title in seo-data-get, SiteSEO uses the title template in settings.titles.titles_single_titles for its type from siteseo-settings/get (by default the post title, a dash and the site name): suggest a title only when that would be over 60 characters, and keep it under 60. Never replace a field that already has a value.
5. Show me a table: post, its URL, the new description with its character count, and the new title if any. Wait for my approval.
6. Save only what I approve, one post at a time, with siteseo-posts/seo-data-update and postId, sending only description and, if approved, title. Never send null: it deletes the field.
7. Read each saved post back with siteseo-posts/seo-data-get and confirm the text. Fetch the live URL of the first one with get_page_html and confirm the meta description tag shows the new text. If the tag is missing or unchanged, run siteseo-settings/get: SiteSEO prints titles and descriptions only while settings.toggles toggle-titles is on, so tell me to turn on Titles & Metas on the SiteSEO dashboard if it is off. Otherwise check for a page cache before calling it a failure. Tell me how many remain and ask before the next ten.
Already connected?

Skip pasting the full prompt. Drop this into your AI on a site that already has WPVibe:

Run the “Write Missing SEO Titles and Meta Descriptions in SiteSEO with AI” recipe from the WPVibe cookbook on my connected site.

Most posts never get a meta description. SiteSEO fills the gap with the excerpt or the first words of the post, which on a page builder page can be button labels and a countdown, and a page with no text of its own, such as some builder homepages, can send an empty description tag.

The AI asks SiteSEO which posts and pages have no description, reads each one, and writes a description of up to 160 characters from what the post actually says. It only suggests a title where SiteSEO’s default would run past 60 characters. You see every line in a table before anything is saved, and it never overwrites a field that already has a value.

It works ten posts at a time, newest first, and checks the first saved page in its live source. Posts with a hand-written excerpt are flagged, since SiteSEO already uses that text.

Outcome

Your posts and pages have meta descriptions written from their content, saved in SiteSEO and visible in the page source.