Planning a month of content does not take a month. It takes one afternoon, and most of that afternoon is not writing.
My version produces four titles, four skeletons, four hero images and a calendar with two dates per post. I do it in one block of roughly four hours on a Sunday, and then I stop thinking about content strategy until the next month. The writing still happens on weekdays, in 90-minute blocks, the way I described in how to write a blog post in 90 minutes.
Planning and writing use different parts of your head. Planning is judgement: what is worth writing, in what order, with what promise. Writing is focus: one section at a time, no decisions. Mixed together, I make bad decisions and shallow drafts in the same hour.
The short version
- Block four hours once a month and do not spread planning across the week.
- Build the topic list from questions you have already answered before inventing new ideas.
- Leave the afternoon with four titles, four skeletons and four images — not twelve half-drafts.
- Put two dates on every post: publish day and repurpose day. One date means the post dies after a week.
- Keep one slot empty for the story that turns up mid-month.
What the afternoon actually produces
Not articles. The output of a planning afternoon is a folder of decisions that a tired version of you can execute later without thinking.
At the end of four hours I want these in one place: four titles I would defend, four skeletons with headings and the asset each one needs, four hero images at final size, and eight calendar entries. Nothing else. If I end the afternoon with two finished drafts and no plan, I have solved this week and borrowed against next week.
The plan has to survive a bad Tuesday. A skeleton promises my future self that the thinking is done; a half-written draft still forces me to decide what the second half argues.
Hour one: mine the topic bank you already own
Most people start this hour by brainstorming, which is the slowest method available. I start with four sources that working already generated:
1. Search Console queries where I rank between roughly position 5 and 20. Those pages Google already understands but has not promoted, so a more precisely aimed post has a reason to exist. Search Console is the only free tool that tells me what strangers typed to find me; the setup steps are in how to set up Google Search Console properly.
2. Questions I answered twice in email or chat. The rule is mechanical: if I typed the same explanation twice, it becomes a topic. I keep a plain text file called questions.md and paste the question in as it arrives, not the answer.
3. Comments and replies that pushed back. Disagreement is a better topic source than praise, because the person is telling me exactly which part of my argument is unclear.
4. Posts that got replies but no clicks. Usually the title promised one thing and the article delivered another. The fix is a rewrite or a follow-up that answers the question the title implied.
At the end of the hour I want 8 to 12 candidate lines, each a single sentence that starts with the reader’s problem, not my subject. “Why does my WordPress site show a 500 after I edited functions.php” is a topic. “PHP error handling” is a category.
One filter: if a topic needs numbers I do not have — revenue, traffic, client results — it goes to a parked list until I actually have them.
Hour two: four titles and four skeletons, no drafts
Four is not magic: it is roughly how many posts I can hold in my head, and it leaves room for the unplanned post that always appears. Twelve planned posts become debt.
I write each title first, because the title is the promise the article has to keep. Two shapes do most of the work:
- How to X without Y — the reader gets a method and a constraint at the same time.
- What X actually means (and what to do about it) — good for error messages, policies and anything where the reader is confused before they are curious.
Then the skeleton: five lines maximum — three to five headings plus the one concrete asset the post needs. I write it in a plain file:
title: How to X without Y
promise: reader can do X by the end, with Y still in place
asset: one table comparing the options
h2: What X actually needs
h2: The three steps
h2: Where it breaks
h2: Checklist
links: /write-a-blog-post-in-90-minutes/, /google-search-console-setup/
repurpose: newsletter + 2 short videos
Six minutes each, and the article has a shape before I start writing: at 7am on a Wednesday I can read six lines and type, instead of deciding what the piece is about.
Hour three: batch the parts that do not need your brain
Hero images, slugs, excerpts, categories and internal links are small decisions that interrupt writing one at a time, so I make them all at once at planning time.
I generate the four hero images from final titles with my own script, so the card text is already correct and alt text gets written in the same minute, while I remember what the article argues. Slugs and excerpts go into the same file as the skeleton.
The internal links are the part people skip, and it is the part that compounds. Every planned post gets two links back to older articles and one forward link to a post scheduled later in the month. That forward link only exists if you plan a month at a time, and it keeps the archive getting crawled instead of going quiet after week two.
Hour four: two dates per post, not one
Every post gets a publish date and a repurpose date two or three days later. The second date is not optional. Publishing without a repurpose slot is how a good article reaches forty people and disappears.
The repurpose block is about 45 minutes and it is mechanical: pull the promise for the newsletter, the headings for the video beats, the steps for a forum answer, and one line for social. I wrote the full set of cuts in my content repurposing workflow, and none of it requires a new idea.
| Hour | Output | Done when |
|---|---|---|
| 1 | 8–12 candidate topics | at least four you would actually write |
| 2 | Four titles, four skeletons | each has headings and one named asset |
| 3 | Images, slugs, excerpts, link map | files exist with final titles and alt text |
| 4 | Eight calendar entries | publish and repurpose dates both set |
Where this plan falls apart
Four failure modes I have hit:
Planning too many posts. Twelve planned posts feel productive and produce nothing, because each one is a decision I have to re-open. Four keeps a weekly rhythm with slack.
Planning posts that need data. A topic like “what my first month of hosting actually earned” cannot be planned before the month exists. If a skeleton has a number I cannot fill in today, it is parked.
Skipping the repurpose date. The article ships, the newsletter does not, and the month looks busy while the audience stays flat.
Treating the plan as a contract. If a story lands that fits the blog, it takes the empty slot, not a fifth squeezed in on top. The plan removes decisions; it does not forbid judgement.
The test of a good afternoon
If I can open the folder on a Wednesday morning, read one skeleton, and be typing within two minutes without deciding anything, the afternoon worked. If I open the folder and start reorganising the list, it did not — that is planning as procrastination.
The checklist I actually run before closing the file:
- Four titles, each a promise a reader can repeat out loud.
- Four skeletons with three to five headings and one named asset.
- Four hero images generated from the final titles, with alt text.
- Eight dates: four publishes, four repurposes.
- One empty slot left deliberately blank.
Block the next four hours before you close this tab. The month is cheaper to plan than to improvise, and improvising is what makes publishing feel like a second job.









