SEO content calendar: a 30-day template for a SaaS blog
A filled-in 30-day SEO content calendar: one slot a day, each cluster's hub before its spokes, improvements last, and review time before each publish date.
LLaunchScaler·Published ·8 min read
An SEO content calendar is a dated list of pages to publish or improve, where every slot targets a search query and belongs to a topic cluster. A working 30-day version has one slot a day, publishes each cluster's hub before its spokes, puts improvements to existing pages after the new spokes, and sets every draft due two days before its publish date so there is time to review it.
Below is a filled-in template for a SaaS blog with three clusters, followed by the rules that make it work and how to move a day without breaking it.
What goes into an SEO content calendar?
An SEO content calendar needs six fields per slot: the publish date, the cluster, the page type (hub, spoke or improvement), the target query, the draft due date and the links to add when it goes live. Those fields are what separate it from a list of post ideas: each one says why the page exists and what it connects to.
Field
What to write
Why it matters
Publish date
One date per slot
The cadence you commit to
Cluster
Which of your three to six subjects
Keeps the month focused on topics your product owns
Type
Hub, spoke or improvement
Decides the order
Target query
Questions, answered
What people ask about this
01
What is an SEO content calendar?
It is a dated schedule of the pages you will publish or improve, where every slot is tied to a search query, a topic cluster and a publish date. It differs from a general content calendar because each item exists to answer a query your site can rank for.
Pick the queries before you fill the calendar. The SEO content strategy for a SaaS shows how to pull them from Search Console and group them into clusters.
What does a filled-in 30-day content calendar look like?
The template below is for an invoicing app for freelancers with three clusters: getting paid (A), taxes (B) and client management (C). Days 1 to 3 are the three hubs, days 4 to 21 rotate new spokes across the clusters, and days 22 to 30 improve pages the site already has. Every draft is due two days before its date.
Day
Cluster
Type
Target query
Draft due
1
A
Hub
how to get paid as a freelancer
Day -1
2
B
Hub
freelancer taxes
Day 0
3
C
Hub
managing freelance clients
Day 1
4
A
Spoke
invoice payment terms
Day 2
5
B
Spoke
quarterly estimated taxes freelancer
Day 3
6
C
Spoke
client onboarding checklist
Day 4
7
A
Spoke
how to write an invoice
Day 5
8
B
Spoke
freelance tax deductions
Day 6
9
C
Spoke
freelance contract template
Day 7
10
A
Spoke
late payment reminder email
Day 8
11
B
Spoke
set aside money for taxes freelancer
Day 9
12
C
Spoke
how to raise rates with clients
Day 10
13
A
Spoke
deposit before starting work
Day 11
14
B
Spoke
1099 vs W-2
Day 12
15
C
Spoke
scope creep with clients
Day 13
16
A
Spoke
invoice in a foreign currency
Day 14
17
B
Spoke
home office deduction freelancer
Day 15
18
C
Spoke
firing a client politely
Day 16
19
A
Spoke
recurring invoices for retainers
Day 17
20
B
Spoke
freelance tax spreadsheet
Day 18
21
C
Spoke
client feedback form
Day 19
22
A
Improvement
existing "invoice template" page, position 6
Day 20
23
B
Improvement
existing "self-employment tax" page, position 9
Day 21
24
C
Improvement
existing "client portal" page, position 12
Day 22
25
A
Improvement
existing "payment links" page, position 8
Day 23
26
B
Improvement
existing "receipts" page, position 14
Day 24
27
C
Improvement
existing "project proposal" page, position 11
Day 25
28
A
Improvement
existing "net 30" page, position 17
Day 26
29
B
Improvement
existing "mileage log" page, position 19
Day 27
30
C
Improvement
existing "time tracking" page, position 15
Day 28
The queries are examples; replace them with your own from Search Console. The mix is 21 new pages and 9 improvements. If your site already has many pages ranking in positions 4 to 20, shift the balance toward improvements.
The links-to-add column is left out above to keep the table readable, but fill it in your own sheet. For day 7, it would read: link to hub A near the top; add a link from hub A's section on invoicing; add a sibling link from day 4's payment terms post. For day 22, it would read: link the improved invoice template page to the day 7 and day 19 spokes.
Why publish the hub first, then spokes, then improvements?
Publish the hub first so every spoke can link to a live hub on the day it goes out. Publish spokes next so the cluster has depth. Put improvements last, because an improved page should link to the new spokes, and those links only work once the spokes exist. The order is about links being live, not about which page matters most.
Google's link guidance says "every page you care about should have a link from at least one other page on your site," and that anchor text should describe the page it points to. A spoke published before its hub goes live with nothing to link to and nothing linking to it. A spoke published after its hub gets a link from the hub's matching section the same day. The linking rules for each page type are in topic clusters for SEO.
Rotating clusters (A, B, C, A, B, C) rather than finishing one cluster at a time has two practical benefits: each cluster grows through the whole month, and a delay in one cluster never stops the calendar.
How much review time should you leave before publishing?
Leave at least two days between a draft's due date and its publish date, and book a fixed slot each day for review. Two days gives one day to review and one day of slack if a draft needs a rewrite. Without that gap, a daily calendar turns into publishing whatever is ready.
What the review checks, in order:
The first two sentences answer the target query.
Every fact about your product is right today: settings, prices, limits, names.
Every claim about another company is sourced to that company's page, or removed.
The title describes the page accurately without exaggerating it; Google's helpful content guidance asks exactly this.
The links in the "links to add" field are in place, with descriptive anchor text.
If a draft fails the review and cannot be fixed in the slack day, drop it from its slot and move the next item up. A missed day costs less than a page you would not send to a customer. How many blog posts per week covers why a reviewable cadence beats a faster one.
How do you move a day without breaking the calendar?
Move a day by keeping one rule: nothing in a cluster publishes before its hub. Spokes and improvements can move to any open day after their hub; a hub cannot move past its own spokes. When a hub slips, swap its spokes with another cluster's spokes instead of publishing them early.
If a spoke's draft is late, swap it with the next spoke of any cluster whose draft is ready.
If a hub's draft is late, keep its spokes waiting; move another cluster's spokes into their slots.
If an improvement is late, move it to any later open day. Improvements depend only on the spokes they link to.
If you lose several days, cut from the end of the month, not the middle. The last improvements are the easiest to carry into next month.
After any move, check the "links to add" field of the pages on either side of it, since a sibling link may now point at a page that is not live yet.
How do you know the calendar is working?
Check the published pages in Search Console once the month ends. Filter the Performance report to the month's URLs and compare the last 28 days with the 28 days before; look at impressions first, then clicks. New queries that appear for the cluster's pages are next month's slots.
Remember the lag: Search Console data is usually available two to three days after the fact, and Google says it can take a few weeks to notice new pages or changes on a site. Keep your sitemap updated as pages publish so Google can find them. Plan next month's calendar from what this month's pages earn, not from what you expected them to earn.
Get the calendar filled and moved for you
LaunchScaler's content engine produces this calendar from your own Search Console queries: "a month of articles on a calendar, grouped into a handful of subjects your product owns," led by the searches you already rank for just off page one. Any planned day can move to another open day. It writes one article a day from your product, and by default every draft waits in your workspace for your review before it publishes. Approved drafts go to WordPress, Webflow, Ghost, Shopify, Notion, Medium or a signed webhook. It is $99/mo per website, 3 days free, thirty articles a month. Start the engine and review a filled calendar instead of building one.
Pick the queries you will target from Search Console, group them into three to six topic clusters, then place them on dated slots: each cluster's hub first, then its spokes, then improvements to existing pages. Give every slot a draft due date two days before it publishes.
03
How many posts should a monthly content calendar have?
As many as you can review. Thirty slots, one a day, works only with topics planned in advance and a daily edit step; a solo writer is often better served by eight to twelve slots a month.
04
What order should blog posts be published in?
Publish each cluster's hub before its spokes, so every spoke can link to a live hub the day it goes out. Put improvements to existing pages after the new spokes, so the improved pages can link to them.
05
Can I move a date in my content calendar?
Yes, as long as you keep the cluster order. A spoke can move to any open day after its hub; a hub cannot move after its own spokes. If a hub slips, swap its spokes with another cluster's spokes rather than publishing them first.
Striking distance keywords are queries ranking 4 to 20. Export them from Search Console, filter by position and impressions, then improve the ranking page.