Workflow · Blog
A working tool, not a document. Fill in what you're writing, tick off steps as you go, time each phase. Your progress saves automatically in this browser.
Active working time, not calendar time. Stretch goal: 2.5 hours once you've published 5+ posts and the rhythm is built. AI does the heavy lifting on the draft. Your value-add is the voice, the real ad-account examples, and editorial judgement.
Exec owns initiating each blog. Pick the next topic from the agreed list and follow the workflow. No need to wait for approval to start. Rachel reviews async via Google Docs comments, then approves the finished post in the Service Admin Blog Review Queue. No meetings unless major direction change. Cadence: 2 posts per month, first and third Tuesday. Start a week ahead of each date.
Before you start
Open the docs you need in tabs before you start. Tools are linked for when you reach the step that needs them.
The process
Click each phase to expand. Tick steps as you complete them. Time each phase against the target.
Open the Blog Topics list. Pick a topic that's been agreed with Rachel and is next in the queue. Check if it's a Founder (F) or Agency (A) audience post.
Update the status column to "Drafting" and add today's date. This stops anything getting lost month-to-month.
Each post needs 1 primary keyword plus 3-5 secondary keywords.
Write these into your draft doc before you start. Locking them in now prevents rework later.
Open the Competitors & Inspiration doc. Skim how others frame the same topic. The goal isn't to copy. It's to find an angle they're missing or doing badly. That's where The Peach System's edge sits: real ad-account experience.
Open Claude.ai in a new tab. Start a new chat. Paste in:
Ask Claude to: include the primary keyword in the title, first 100 words, one subheading, and meta description. Cite stats with named sources only. End with a soft connection to The Peach System or The Digital Peach, no hard sell.
Read what Claude returns. Ask for specific improvements:
Copy Claude's draft into a new Google Doc. This is where the real value-add happens. Work through it section by section.
Share the doc with comment access. Tag Rachel in Slack or email with:
Rachel reviews and leaves inline comments. Default to async. No meeting unless something significant needs discussing.
Address each comment. If something is unclear, ask in the comment thread before guessing. Resolve comments as you go so Rachel can see what's done.
One careful read-through. Check:
Open a new Claude.ai chat. Click "Copy prompt" below, paste it into Claude, replace [PASTE THE DRAFT HERE] with your finished Google Doc content, and send.
Claude returns formatted markdown with frontmatter, headings, and house style applied. You don't touch the cover image URL or the featured setting here. The platform adds the cover image when you upload it, and Rachel decides featured at approval. Fill in any remaining text placeholders (category, keywords). The cover image and its alt text are handled in the next step.
You are converting a finished blog post into a markdown file for The Peach System blog. The Peach System is a Meta ads reporting and analytics platform that reads a brand's ad account against its own history, built by The Digital Peach, a Meta Business Partner agency in Dubai. Do not change the substance of the draft. Format and polish it, and optimise it for search engines (SEO), answer engines (AEO) and generative engines (GEO). Return the complete markdown file, ready to paste, nothing else.
Use this exact frontmatter structure at the top:
---
title: "Lead with the primary keyword, written as a real headline, under 60 characters"
slug: "hand-chosen-seo-slug"
description: "150 to 160 characters, primary keyword in the first 155, written to earn the click"
publishDate: YYYY-MM-DD
updatedDate: YYYY-MM-DD (only include if the draft mentions being revised)
author: "Rachel Lindsay"
category: "Choose ONE: Meta Ads, Attribution, Creative Strategy, Agency Ops, CRO, UAE Market"
readTime: "X min read" (calculate as word_count / 200, rounded up)
coverImage: "COVER_IMAGE_PLACEHOLDER"
coverAlt: "A plain first-pass description of a likely cover image, including the topic. This gets replaced with the real alt text once the image exists."
featured: false
draft: false
keywords: ["keyword one", "keyword two", "keyword three", "keyword four", "keyword five"] (5 to 7, primary keyword first, mix of head terms and long-tail)
---
PICK ONE PRIMARY KEYWORD:
Choose the single phrase this post should rank for. Put it in the title, the description, the first sentence of the intro, at least one ## heading, and the keywords array. Use related and long-tail variations naturally through the body. Never stuff or repeat it awkwardly.
SLUG, COVER IMAGE AND FEATURED:
- Set slug to the hand-chosen SEO slug. It becomes the post URL, so make it lowercase, hyphenated, under 60 characters, and built around the primary keyword. Do NOT just slugify the title (for example a post titled "Why Industry Benchmarks Aren't Your Data" might have slug "meta-ads-industry-benchmarks-not-your-data"). The platform reads this slug, names the cover image from it, and publishes the post at that URL.
- Leave coverImage exactly as "COVER_IMAGE_PLACEHOLDER". Do not invent a URL. The platform fills it in when the cover is uploaded.
- Always set featured: false and draft: false. Featuring is Rachel's decision at approval; publishing is gated by her approval, not this flag.
BODY STRUCTURE:
- Start with the intro straight after the frontmatter. No H1, the layout renders the title. Open with two or three short paragraphs: state the problem, give one concrete scenario the reader will recognise, name the consequence of getting it wrong. Work the primary keyword into the first sentence naturally.
- Use ## for section headings, most phrased as the exact question a reader would type or ask out loud ("What is a good ROAS on Meta ads?"). The final heading can be a short declarative statement that lands the thesis. Use ### sub-headings rarely.
- ANSWER FIRST, then expand. The first one or two sentences under each question heading must directly and fully answer that question in plain language, so the passage can stand alone as a featured snippet or be quoted by an AI answer engine. Then add the detail and examples.
- Write self-contained, quotable sentences. State facts as clear standalone claims that still make sense lifted out of context. Name things explicitly (The Peach System, Meta ads, the metric, the market) rather than leaning on "it" or "this", so answer and generative engines attribute them correctly.
- Define each key term in one plain sentence the first time it appears.
- Where a section is a list of points or metrics, use bullets and lead each one with a bold phrase then a full stop, then the explanation.
- Bold key statistics in the body.
SOURCES AND LINKS:
- No fabricated metrics or testimonials. If the draft cites a statistic without a clear named source, flag it with [SOURCE NEEDED] rather than inventing one.
- Attribute every statistic inline: "According to [Source name], [statistic]." Add the hyperlink where the URL is obvious, otherwise flag [LINK NEEDED].
- Link to other Peach System posts with descriptive anchor text and full URLs (https://www.thepeachsystem.com/blog/...). Every link must have a real destination.
STYLE:
- UK English spelling: optimisation, personalised, behaviour, colour, organise, realise. Reject US spellings even if grammar tools suggest them.
- No em dashes. Use commas, full stops, or spaced hyphens ( - ).
- No italics in body copy. Italics allowed only in the footer line.
- Mostly 2 to 4 sentence paragraphs, single-sentence paragraphs sparingly for emphasis.
- First person plural where natural ("we check", "in our experience"), direct and practical, from inside live ad accounts.
- Body length 1200 to 2000 words. Flag if the draft falls outside this range.
CLOSING:
- End with a short section that restates the core idea in one or two quotable lines, then a final paragraph pointing the reader to The Peach System with a link (https://thepeachsystem.com) and, where it fits, one related post.
- Then a horizontal rule (---), then this italic footer verbatim:
*[The Peach System](https://thepeachsystem.com) is a Meta ads reporting and analytics platform that reads your ad account against your own history and tells you what changed, why, and what to do next. Built by The Digital Peach, a Meta Business Partner agency in Dubai.*
REFERENCE POST: The Ramadan Meta Ads post at https://blog.thepeachsystem.com/ramadan-meta-ads-uae is the tone and structure to match.
WHAT TO DO:
1. Read the draft below.
2. Generate the frontmatter. Set slug to the hand-chosen SEO slug. Leave coverImage as "COVER_IMAGE_PLACEHOLDER", featured: false, draft: false. Leave [PLACEHOLDER] where other info is genuinely missing.
3. Format the body per the rules above. Do not change the substance, only format and polish.
4. Hyperlink named sources where obvious, flag [LINK NEEDED] if unsure, and bold statistics that have named sources.
5. Return the complete markdown file ready to paste into the Publish Blog page.
NOW CONVERT THE FOLLOWING DRAFT INTO MARKDOWN:
[PASTE THE DRAFT HERE]
Before you take the markdown to the Publish Blog page, scan the entire output for any of these tags:
[SOURCE NEEDED] - a statistic Claude could not verify. Either find a real, named source and add it inline ("According to [Source], [stat]") or cut the sentence entirely.[LINK NEEDED] - a citation that needs a hyperlink. Find the source URL and add it, or cut.[PLACEHOLDER] - missing frontmatter info (category, keywords). Fill it in. The cover alt text is done in the next step, so leave coverAlt as it is for now.Then check one thing that is not bracketed: the slug field. That is the post's URL. Make sure it is the clean, keyword-led slug you want, not a long slugified title. If it is wrong, fix it here, because the platform names the cover image from it and publishes the post at that URL.
COVER_IMAGE_PLACEHOLDER exactly as it is. That one is meant to stay. The platform replaces it when you upload the cover. Every other bracketed tag must be gone before you publish. If you cannot verify a stat, cut it, don't leave the tag in and hope someone notices.
Once every text placeholder is resolved, you are ready for the cover image step.
You need one cover image for the post. Ideal size 1200x630 px, JPG or PNG, under 5MB.
Go back to the same Claude chat that made your markdown, the one that already knows what this post is about. Upload the cover image there and say:
Because that chat has the whole post in context, the alt text it writes will match the post, not just describe the picture. Claude gives you two things:
coverAlt: line with this. That is the one line you are changing by hand.meta-ads-industry-benchmarks.jpg. Save your image file with that name.COVER_IMAGE_PLACEHOLDER. When you drop the image on the Publish Blog page in the next phase, the platform names it from the slug and fills in the URL for you. Naming the file to match the slug just keeps things tidy on your side.
When your markdown has the real alt text in it and your image file is named and saved, you are ready to publish.
Open Service Admin · Publish Blog (this opens straight on the publish screen). Then:
Update the Blog Topics sheet: change the status from "Drafting" to "Submitted". That is your last action in the sheet. You do not mark anything "Published" - the platform tracks live posts automatically.
House style
These rules are baked into the Claude prompts but worth knowing by heart.
Watch out
These cost time. Catch them early.