Skip to content

Prompt playbook (end-to-end)

Ready-to-use prompts for building (or updating) a WordPress + Elementor page or blog post with Claude, in order. Each block is a template — replace the <...> placeholders and paste it as your message. They assume the Content & layout projects mechanics and a per-client repo following its CLAUDE.md.

Tip: paste one stage at a time and review before moving on. Claude ships drafts only and will pause for the things only you can do — open the Elementor editor, set a featured image, click Publish, share a Doc.

  • New page from an existing layout → stages 1-3, then 4A (clone & customize). Modern Collision city/service pages.
  • New page/blog with no reusable layout (esp. many uniform ones) → stages 1-3, then 4B (generate from source). Charlotte Window Tinting blog batch.
  • Updating a page that’s already live → start at stage 0, then rejoin at 4A/4B as needed.

0. (Updates only) draft-copy a published page

Section titled “0. (Updates only) draft-copy a published page”

Skip this for new pages. You do this part in wp-admin yourself.

The page <live URL> is already published and we need to update it. I'll use Yoast
Duplicate Post → Rewrite & Republish to make a draft copy, then give you its post_id.
Remind me of the exact wp-admin steps, and confirm that republishing later merges
back onto the same URL/post_id (no duplicate page, SEO history kept).
Here is the ClickUp task: <ClickUp task URL>.
Read it and the linked content workbook. Tell me:
- which pages / blog posts are in scope this round,
- the WordPress site_id and live URL,
- the content doc link per page,
- whether each item is a NEW page or an update to a published one.
Don't build anything yet — just summarize the scope and what you need from me.
Content workbook: <Google Sheet URL>, tab <tab name>, rows <range> (SOP Onsite SEO column).
Extract the per-page content doc links (use the xlsx hyperlink method — CSV/HTML
exports strip the links), then pull each doc into content/<slug>.md.
List every page you found: topic, slug, target URL, doc ID, and new-vs-update.
Verify the site is reachable for this project and record the facts in CLAUDE.md:
- list_sites (token can see <site_id>), ping_site / diagnose_site, list_builders_for_site,
- the page template every draft must use (e.g. page-templates/fullwidth-content.php
or template-elementor.php),
- whether RankMath set_seo_meta / set_seo_schema work, or schema must go in an HTML widget.
Then scaffold the repo per CLAUDE.md: README.md deliverables table (page → WP id →
target URL), content/, scripts/, build/ (gitignored), uat/. Show me CLAUDE.md before continuing.

4A. Build — clone & customize (existing layout)

Section titled “4A. Build — clone & customize (existing layout)”

Use when a published page already has the layout you want.

Build the <page> draft by cloning the layout of post <source_post_id> (<source URL>):
1. elementor-mcp-save-as-template on the source → template_id,
2. create the new draft, elementor-mcp-apply-template into it (fresh widget IDs),
3. update_page_draft to set template="<page-template>" — the apply step does NOT copy it,
4. elementor-mcp-get-page-structure, map old→new widget IDs, then elementor-mcp-batch-update
the text fields (title, editor, title_text, description_text, accordion tabs[], html)
from content/<slug>.md — chunk to ~10 ops per call.
Rewrite every city/route/local reference to the target — don't leak the source city.
Show me the old→new ID mapping before you batch-update.

4B. Build — generate from source (uniform pages/blogs)

Section titled “4B. Build — generate from source (uniform pages/blogs)”

Use when there’s no reusable layout, or you need many pages with the same shape.

Build the <page> draft from source content:
1. Author content/source/<slug>.json as block-schema (ordered blocks: h1/h2/h3/p/ul/ol/
table/toc/faq), then run the build script to emit articles/elementor/<slug>.json
deterministically (stable IDs) + a readable markdown mirror for review,
2. create_draft (title from H1, slug, excerpt from intro) → post_id,
3. elementor-mcp-import-template (position -1),
4. elementor-mcp-update-page-settings to set template="<page-template>",
5. elementor-mcp-get-page-structure to verify the section/widget tree rendered (not fallback).
Record the post_id back into the registry. Tell me what to set manually (featured image).
On the <page> draft (never on a published page) set the SEO meta and schema:
- set_seo_meta: title tag, meta description, focus keyword from content/<slug>.md,
- set_seo_schema: Article/BlogPosting + FAQPage (or, if the RankMath bridge is off on
this site, give me the JSON-LD to drop into an HTML widget instead).
Confirm what was set and via which channel.
Do a UAT pass on the <page> draft against content/<slug>.md and the SOP checklist:
render (no Elementor fallback), all sections present, internal links, tables, FAQ
accordion, schema, image relevance. Log findings in uat/<file>.md and update ClickUp
<UAT task/doc URL>, categorizing each issue by owner:
MCP-fixable (text/links/structure) / design-judgment (imagery, spacing, icon grids) /
site-level (redirects, theme template). Plain text, no emoji, bare URLs.
Read uat/<file>.md (and ClickUp <UAT URL>). For each MCP-fixable issue, edit the draft
IN PLACE with elementor-mcp-update-element / update-widget — do NOT re-import or re-clone
(that flips the post to fallback render and can't be undone via MCP). List the design-
judgment and site-level issues back to me. Summarize what you changed.
Re-check the <page> draft: elementor-mcp-get-page-structure to confirm it's still in
builder mode (not fallback) and every UAT issue from uat/<file>.md is resolved.
Flag any regressions. If it fell into fallback, tell me to open it once in the
Elementor editor to restore builder mode.
Final end-to-end check across all <N> pages/posts this round:
- content complete vs the docs, tables and FAQ intact, schema + SEO meta set,
- page template correct on each draft, no leaked source-city references,
- builder mode (not fallback) on every draft.
Then draft the handover comment for ClickUp <task URL> (What was done / QA / Needs
design or editor / Site-level / Notes) and ask me before posting.
Approved to go live on <page(s)>. The MCP can't publish, so:
- NEW pages: I'll set the featured image + parent, then click Publish in wp-admin,
- UPDATES: I'll click Republish in Yoast Duplicate Post (merges onto the original URL).
Give me the exact wp-admin steps per item, then post a short "published" note on
ClickUp <task URL>.

  • Replace placeholders every time; never leave a <...> in a prompt you send.
  • Claude needs your approval for any live-site change and will wait for you to open the Elementor editor, set a featured image, or click Publish/Republish — that’s expected, not a failure.
  • For the underlying mechanics (the two patterns, repo layout, gotchas like the page-template-not-copied and re-import-reverts-to-fallback traps) see Content & layout projects.