Recipe

The meta description sweep

By Axel Antas-Bergkvist Published June 1, 2026
Time ~45 min for 200 posts
Cost ~$0.80 in tokens
Risk Very low (with dry-run)

Meta descriptions are the cheapest click-through-rate lift you can buy, and almost every blog is leaving them on the table. They don’t directly move rankings, but they decide whether your snippet earns the click — and click-through is itself a ranking signal. Most archives are a mess of descriptions auto-generated from the first paragraph, duplicated across similar posts, or never written at all. Fixing them one post at a time inside a CMS editor is the kind of tedium nobody schedules, so it never happens. Done as a single bulk pass, it’s often the highest-return hour you’ll spend this quarter.

What you need

The recipe

Every recipe is the same four-step Specter scaffold — pull, AI pass, dry-run, push. Here’s what each step is for this one:

  1. Pull a fresh copy. Run a Specter pull so your published content lands as a folder of markdown files, each with its excerpt / meta-description field in frontmatter. Commit the folder to git first so you have a clean baseline to diff and revert against.
  2. Run the AI pass. Open the folder in your assistant and paste the prompt below. It iterates over every .md file, reads the body, and writes a new meta description into the frontmatter.
  3. Dry-run the diff. Run a Specter dry-run. You’ll see every post that would change, old value vs. new. Spend ten minutes scanning — spot-check five descriptions for length, since models occasionally overshoot 160 characters and get truncated in the results. Reject anything weird by reverting that file (git checkout -- path/to/post.md).
  4. Push. Push with Specter. Changes round-trip back to your CMS, lossless.

The prompt

You are an SEO copywriter. For every .md file in this folder:

1. Read the post body and the existing frontmatter.
2. Write a NEW meta description that:
   - Is between 140 and 158 characters.
   - Includes the post's primary keyword naturally.
   - Promises a specific outcome or answer, not a teaser.
   - Avoids "in this post", "we'll explore", "learn about".
   - Uses active voice and a verb in the first four words.
   - Is unique across the whole corpus.
3. Set the meta description / excerpt frontmatter field.
4. Do not touch the post body.

When done, list any posts where you couldn't find a clear primary
keyword, and any under 200 words, so I can review them by hand.

What “good” looks like

Before (auto-generated from the first paragraph):

Ghost is an open-source publishing platform built on Node.js. It was launched in 2013 by John O’Nolan and Hannah Wolfe as a Kickstarter…

After (intent-led, keyword-fit):

Ghost vs WordPress: which platform wins for solo bloggers in 2026? Side-by-side on speed, SEO, themes, and total cost over 3 years.

The “after” makes a promise and front-loads the comparison keyword. Click-through moves.

Cost and time

Order-of-magnitude on real blogs, at current Claude pricing:

Blog sizeTokensCostWall-clock
50 posts~120k$0.208 min
200 posts~480k$0.8035 min
600 posts~1.4M$2.4090 min

Pitfalls

Where to go next

Once descriptions are done, the natural next sweep is the internal link engine — both touch only metadata and link structure, so they review cleanly back to back. Check Google Search Console two to four weeks later for the click-through delta.

Buy Specter Pro — $99/year Browse all recipes