On a schedule
Improve SEO titles and descriptions in batches
A batch of older posts gets a sharper SEO title and meta description every night until the whole archive is done.
- Runs
- On a schedule
- Apps
- WordPress
- AI
- Yes, uses the built-in AI allowance
- Access
- read+write
Send this to your assistant
Create a ClickRuntime automation: each night, take 20 WordPress posts that haven't been done yet, write a better SEO title under 60 characters and a meta description under 155, and save them to Rank Math.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
After a few years, a WordPress site's search listings tell a sad story. Titles are cut off with three dots, descriptions are blank so Google pulls a random sentence, and 200 older posts all start with the same site-name suffix. Fixing them by hand means opening each post, editing the SEO plugin box and saving, which nobody schedules into a working week.
On a schedule, posts that have not been handled yet are listed in batches. ClickRuntime's built-in AI rewrites each SEO title and meta description to fit typical display lengths while keeping the post's actual topic, and the new values are written into the post's SEO meta fields.
It helps most after a site migration or a content audit, when the whole archive needs consistent metadata and doing it manually would take weeks.
What you get out of it
Hundreds of posts, no hand edits
A backlog that would take a full week of clicking through the editor is worked through in batches, without anyone sitting in front of the posts screen. That frees the person who would have done it for work only a human can do.
Titles fit the search result
Titles trimmed to a sensible length stop appearing with truncated endings in listings, which improves how professional the result looks next to competitors that were optimised. Better-looking listings also reflect well on the brand when people compare results side by side.
Descriptions that earn the click
A relevant description that mentions what the page answers gives searchers a reason to choose your result, which can lift click-through without moving your ranking at all. Even small click-through gains add up across hundreds of pages that already rank.
Progress is tracked, not repeated
Posts already completed are remembered, so a large site is processed in order across several runs and no post is rewritten twice or skipped. If a run is interrupted, it resumes with the next unfinished post, not from the beginning.
Safer than a blind find-and-replace
Each rewrite reflects its own post rather than applying one template, so a recipe and a legal explainer do not end up with the same formula in the description. That keeps search snippets accurate to each page, which searchers notice and reward with clicks.
How it works
What happens, step by step
Every night, ClickRuntime takes the next batch of WordPress posts that haven't been improved yet.
AI reads each post and writes a sharper SEO title and meta description.
Both are saved to the post's SEO fields, for example in Rank Math.
It remembers which posts are done and carries on each night until the whole archive is finished.
Before it runs live
- Connect WordPress
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other WordPress steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, ai
SITE = "https://blog.example.com"
SCHEMA = {"type": "object", "required": ["title", "description"], "properties": {
"title": {"type": "string", "maxLength": 60}, "description": {"type": "string", "maxLength": 155}}}
def wp(method, path, **kw):
resp = http.request(method, f"{SITE}/wp-json/wp/v2/{path}", **kw,
auth=("admin", credentials.secret("WP_APP_PASSWORD")))
resp.raise_for_status()
return resp.json()
@on_trigger
def run(event):
done = set(state.get("done") or [])
posts = [p for p in wp("GET", "posts", params={"per_page": 100, "orderby": "date", "context": "edit"})
if p["id"] not in done][:20]
for p in posts:
seo = ai.generate(f"Title: {p['title']['raw']}\n\n{p['content']['raw'][:2500]}", json_schema=SCHEMA,
max_output_tokens=120, system="Write an SEO title under 60 characters and a meta description under 155.").json
wp("POST", f"posts/{p['id']}", json={"meta": {"rank_math_title": seo["title"][:60],
"rank_math_description": seo["description"][:155]}})
done.add(p["id"])
state.set("done", sorted(done))
return {"updated": len(posts), "total_done": len(done)}FAQ
Common questions
Which SEO plugin fields does it update?
Can I try it on a few posts first?
What happens to pages that are not posts?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Turn a keyword list into blog drafts
Twice a week a new post written around your next keyword lands in WordPress as a draft, and you get the edit link by email.
See how it worksGet a weekly newsletter draft from your posts
Every Friday you receive a ready-to-send newsletter with a short summary and link for each post from the week.
See how it worksGet a monthly CSV of all your posts
A spreadsheet file with every post's title, link, status, date and categories arrives in your inbox each month.
See how it worksKeep exploring
Set up “Improve SEO titles and descriptions in batches” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.