Drafting meta descriptions with an LLM without losing control: a review loop in 60 lines of Python
Description and use
Automated meta‑description generation using an LLM with checks for length, duplicates, banned phrases, and claim verification, followed by human approval before CMS publishing.
Problem
Writing meta descriptions for hundreds of pages can produce long, generic, duplicated, or misleading text.
Outcome
The pipeline produces 140‑155 character meta descriptions that avoid banned phrases, duplicates, and unsupported claims, with human approval ensuring quality before CMS publication.
Workflow
- Input: CSV with URL, title, H1, text
- Draft: LLM generates one description per page using only that page’s text
- Automatic checks: length, banned phrases, duplicates, grounding against source text
- Human review: spreadsheet with draft, flags, approve/edit column
- Publish: approved rows are sent to CMS
Evidence
Writing meta descriptions for a few hundred pages is a classic task to hand to a language model.
The trick is not the prompt. It is the checks around it and a human approval step.
Length, duplicates, banned phrases, and "is every claim in the source text?".
- Record date: 2026-10-26T14:11:19.175Z