Meta titles and descriptions that match the page
Use when you need SERP snippets for a batch of pages and want them to reflect what is actually on each page.
Fill in before running
Replace each placeholder with your own detail. The more specific you are, the less the model invents.
- {{PAGE_DATA}}
- {{BRAND_RULE}}
Getting a better result
- Feeding the page summary rather than the URL alone is what stops the descriptions being generic.
- The second table finds cannibalisation you did not know about.
- Spot-check the character counts; models miscount and truncation is unforgiving.
Questions about this prompt
When should I batch these rather than write them per page?
When a template generated them and consistency across the set matters as much as any single line. For one page you will write it faster by hand. The batch case earns its keep because of the second table, which reports pages you could not write an honest snippet for.
What has to be in the page data?
For each page: the URL, the primary query, the H1 and a real summary of the content, plus your rule on whether the brand appears in the title. The summary is what stops the descriptions being generic. A URL on its own gives the model nothing but the slug to work from.
What do the two tables give me?
A row per page with title, description and stated character counts, plus the on-page element each description points at, then a second table of pages where no honest snippet was possible. That second table is the find. It usually surfaces cannibalisation nobody on the team had logged.
What should I check before uploading?
Trusting the character counts. Models miscount, the prompt is told to say when it is unsure, and truncation is unforgiving, so spot-check before uploading. The other cost is a description promising something the page summary did not show, which lifts click-through only until the visitor arrives and leaves.