Guides → Blog content calendar — 90-day plan

Blog content calendar — 90-day plan

Set up a rolling 90-day blog calendar in SGEN — categories, draft pipeline, scheduled publish, and social cross-post

Most blogs die in week six. The first three posts land on schedule, the next two slip a week, and by post seven the calendar is a memory. The cause is not laziness — it is the absence of a system that survives a busy week.

This recipe sets up a 90-day blog content calendar inside SGEN. Categories carry topic discipline. Drafts move through a fixed pipeline. The scheduled-publish queue handles the actual go-live. Social cross-posts piggy-back on the same artifacts. The calendar runs itself for a quarter at a time.

What is this for?

Use this recipe to set up a blog calendar that survives the week the writer is sick, the week the client launch slips, and the week the team is at an offsite. The output is a rolling 90-day plan with at least the next 30 days in scheduled-publish state.

The end state after setup:

  • A category structure that maps to the brand's content pillars (3 to 5 categories).
  • A draft pipeline with five named states: idea, draft, review, scheduled, published.
  • A scheduled-publish queue with at least 12 posts dated forward 30 to 90 days.
  • A social cross-post recipe that pulls the post excerpt, image, and link automatically.
  • A weekly check-in cadence that catches a slipping post before it slips.

Good use cases

Brand blog with a small team. One writer plus a reviewer. The calendar prevents the "what should I write next?" question from eating the writer's first hour every Monday.

Multi-author blog. Two to five writers each owning a category. The calendar shows whose post is up next and prevents two posts in the same category landing in the same week.

Content-led marketing program. Blog is the top of the funnel. The calendar aligns post topics with product launches, seasonal campaigns, and email-list themes for the quarter.

What NOT to use this for

  • Daily news posts. A news desk needs a different cadence — same-day publish, no 30-day queue. This recipe is built for evergreen-leaning content, not breaking news.
  • One-off campaigns. A single launch announcement does not need a 90-day plan. Use the product-launch playbook instead.
  • Internal company updates. Those live in the team wiki, not the public blog. The calendar discipline is the same; the surface is different.

How this connects to other features

  • Blog — every post is a Blog entry. Categories carry the topic structure. Tags carry the sub-topic detail.
  • Pages + SG-Builder — category landing pages and the main /blog/ index are SG-Builder pages. Build them once; they update automatically as posts publish.
  • Forms — email-capture forms on category pages feed the newsletter list. New posts ping that list weekly or bi-weekly.
  • Custom Codes — open-graph image and schema markup ride on each post. The schema-org BlogPosting markup is set once in the Custom Codes layer.
  • Media library — every post gets a hero image. Upload with WebP and compression toggled on; the calendar respects the existing asset pipeline.

Before you start

You are signed in as an Administrator or Editor. You have alignment with whoever sets the brand's content strategy — pillar topics, audience, voice.

You have a list of 12 to 24 post ideas for the next quarter, even if rough. The calendar starts thin and fills in as the team writes. You have an email list integration set up if newsletter cross-post is part of the plan.

Where to find it

SurfaceAdmin pathOwner
CategoriesSidebar → Blog → CategoriesMarketing lead
PostsSidebar → Blog → All PostsWriters
Scheduled queueSidebar → Blog → All Posts → Filter: ScheduledMarketing lead
Media librarySidebar → MediaWriters + designers
Email integrationSidebar → Forms → IntegrationsMarketing lead

90-day topic grid — reference shape

The grid is the planning tool. The Blog admin is the execution tool. This is the shape of a standard 90-day grid for a five-category blog running one post per week:

WeekCategoryTopic (placeholder)StatusWriter
Week 1How-toSetting up [feature] for the first timeScheduledAda
Week 2Customer storiesHow [customer] reached [outcome]DraftGrace
Week 3Product[Feature] shipped — what it meansScheduledAlan
Week 4Industry[Topic] is shifting — here is what to watchIdeaAda
Week 5How-toAdvanced [workflow] in 5 stepsScheduledGrace
Week 6Customer stories[Customer] 6-month check-inDraftAlan
Week 7ResourcesThe [topic] toolkit — 8 linksIdea
Week 8Product[Feature] — 3 months inScheduledAda
Week 9IndustryWhat [trend] means for [audience]Idea
Week 10How-to[Workflow] for teams of 3 or fewerScheduledGrace
Week 11Customer stories[Customer] joins the [product] teamIdea
Week 12ProductQuarter recap and what is nextDraftAlan
Week 13ResourcesYear's best: the [topic] reading listIdea

The Idea column holds the topic backlog. Fill it from the topic grid meeting at the start of the quarter, not from a blank page on Monday morning.

Calendar surfaces — pre-launch state

Steps

1. Lock the category structure

Navigate to Blog → Categories. The categories are the spine of the calendar. Three to five is the sweet spot — fewer and the calendar feels generic, more and the writer cannot remember what belongs where.

Pick category names that match the brand's content pillars. Examples that work:

  • For a SaaS marketing blog — Product, How-to, Customer stories, Industry context.
  • For an agency blog — Case studies, Process, Field notes, Resources.
  • For a creator blog — Tutorials, Behind the scenes, Tools, Roundups.

Avoid generic categories like "News" or "Updates" — they collect everything and lose meaning. Create the categories now; renaming them later breaks slugs and links.

Blog category

Lock the structure before drafting

2. Sketch the 90-day topic grid

In a spreadsheet (or a doc — the format is not the point), draw a grid: 12 to 14 rows for weeks, columns for category. Fill in one post topic per week.

Two rules of thumb:

  • Rotate categories so the same one does not land two weeks running. Variety holds attention.
  • Tie at least one post per month to a product event — a launch, a season, a planned campaign. Those posts pull the most reader interest.

The grid is the plan. The Blog admin is the execution surface. Do not try to plan inside the Blog admin — the admin shows one post at a time and hides the shape of the quarter.

3. Set up the draft pipeline

Each post moves through five states inside SGEN:

StateWhat it meansWho owns it
IdeaA title and a one-line angle. No body yet.Marketing lead
DraftBody written. Image picked. Tags set.Writer
ReviewBody edited. Voice checked. Links verified.Reviewer
ScheduledPublish date set. Queue position confirmed.Marketing lead
PublishedLive on the blog.Auto

SGEN's built-in post statuses cover Draft, Scheduled, and Published. For Idea and Review, use a tag prefix on the post — idea- and review-. Filter the All Posts view by tag to see what is at each stage.

Pipeline — current week

4. Create the first 12 scheduled posts

Navigate to Blog → + Add New. For each of the next 12 weeks, create a post:

  • Title — placeholder from the grid is fine.
  • Category — pick from step 1.
  • Status — Draft for now; will flip to Scheduled in step 6.
  • Publish date — set to the planned go-live, even if the body is empty.

The point is to populate the calendar with placeholders. Real bodies arrive as the writer works through the queue. The presence of 12 scheduled placeholders prevents the "what should I write next?" stall.

5. Write the first three posts in full

The first three posts are the calendar's proof of concept. If those land cleanly, the system holds. If they slip, fix the cause before adding more.

Per post, target output:

  • Headline — 6 to 12 words, specific.
  • Lead paragraph — 2 to 4 sentences, no filler.
  • Body — 600 to 1,500 words, depending on category. How-to runs long, field notes run short.
  • Hero image — 1200 × 630 px, WebP, compressed.
  • Excerpt — 1 to 2 sentences, used by social cross-post and the blog index.
  • Tags — 3 to 7, drawn from a controlled vocabulary the team agrees on.

Save as Draft. Run through the review state. Once the reviewer signs off, move to step 6.

Blog post — draft

Write in SGEN's editor, save as Draft

6. Move posts to Scheduled status

In the post edit screen, change Status from Draft to Scheduled. Confirm the publish date is the one from the grid.

The Scheduled queue is the calendar's front line. Filter All Posts by Status = Scheduled and sort by publish date ascending. The team sees the next two weeks at a glance.

Two discipline rules:

  • The Scheduled queue should always hold at least 4 posts forward. Below 4 is the early-warning sign that the calendar is slipping.
  • Posts in Scheduled state cannot be edited casually. Edits go through the same review path as drafts — change the status back to Draft, edit, then re-schedule.

7. Set up the social cross-post

Each post needs a social variant that goes out within the hour of publish. Per channel:

  • LinkedIn — 4 to 8 sentences. One architectural specific. Link to the post.
  • X — 1 to 3 sentences. News-format if relevant. Link to the post.
  • Newsletter — a one-line teaser plus the post link, included in the weekly send.

In SGEN, the post excerpt is the source of truth — it appears in the open-graph preview and the social-card render. Write it once; it carries across channels.

Schedule the social posts at the same time as the blog publish. If the blog publishes at 09:00, the social posts go out between 09:00 and 09:15.

yourdomain.com/blog/post-slug

A 90-day calendar that does not slip in week six

Categories carry the topic discipline. The pipeline catches the slip.

Social cross-post — LinkedIn

Same message, channel-specific shape

8. Set the weekly check-in

Block 30 minutes every Monday for a calendar check-in. Three questions:

  1. Did last week's scheduled post publish? Check the Published list.
  2. How many posts are in the Scheduled queue 4 weeks forward? Below 4 is a warning.
  3. What is the topic for two weeks from now? If the slot is empty, draft a placeholder today.

The check-in is the single most important piece of this recipe. The calendar survives because someone checks it weekly. Skip the check-in for two weeks and the queue empties.

Calendar surfaces — week 4 state

What success looks like

After setup, week four:

  1. Three posts have published on schedule.
  2. The Scheduled queue holds 8 to 12 posts dated forward 30 to 90 days.
  3. Each published post has a matching set of social posts that went out within an hour of publish.
  4. The category landing pages show a clean rotation across the 3 to 5 pillars.
  5. The blog index /blog/ shows the published posts in reverse-chronological order with hero images, excerpts, and category tags.
  6. The Monday check-in is a 30-minute meeting with no surprises.

What to do if it does not work

A scheduled post did not publish on its date. The post is still in Draft status, or the publish date was in the past at the moment it was set to Scheduled. Open the post, confirm Status = Scheduled and the date is forward of now, and re-save.

The category landing page shows the wrong posts. A post is tagged in two categories and the landing page is pulling from both. SGEN posts can sit in multiple categories, but for the calendar's discipline, pick one primary category per post.

The Scheduled queue drops below 4 posts forward. The team is writing slower than the calendar planned. Either tighten the publish cadence (weekly to bi-weekly) or move one of the next month's planned posts to a placeholder and write it on a tighter timeline.

The social cross-post is pulling the wrong image. The open-graph image on the post is not set, so social platforms fall back to whatever they find on the page. Open the post, add an open-graph image (or confirm the hero image is being used as the OG fallback), and re-share.

Two posts in the same category landed in the same week. The category-rotation rule was broken. Re-order the Scheduled queue so the two posts are at least three weeks apart. The blog index will still show both, but the category landing page rotation reads cleanly.

A reviewer holds a post for too long. The Review state is collecting drafts. Set a 48-hour rule — drafts in Review state for more than two days move back to Draft with a note. The reviewer either reviews in time or the post stays in the writer's hands.

Examples

Brand blog with a small team. Writer plus reviewer. Four categories: Product, How-to, Customer stories, Industry. Cadence is one post per week. The 90-day calendar holds 12 to 13 posts. Monday check-in catches the slip; Friday is the publish day.

Multi-author blog. Five writers, each owning a category. Cadence is two posts per week, rotating categories so each one publishes every other week. The Scheduled queue holds 16 to 18 posts forward. The Monday check-in includes a category-level look at who is ahead and who is behind.

Content-led marketing program. Blog is the top of the funnel. One post per week ties to a product event. The other posts rotate through the pillars. The 90-day calendar maps to the quarterly campaign plan, with launch posts pre-dated against the launch calendar.

Agency blog tied to client work. Four categories: Case studies, Process, Field notes, Resources. Cadence is bi-weekly. Case studies pull from the most recent client launches; field notes come from the team's working week. The calendar prevents a case-study post landing the same week as a competing field note.

Creator blog with one author. One writer, no reviewer. Three categories: Tutorials, Tools, Roundups. Cadence is one post every 10 days. The 90-day calendar holds 9 posts. The check-in is a 15-minute self-review every Monday.

Variations

Bi-weekly cadence. One post every two weeks instead of weekly. The Scheduled queue holds 6 to 7 posts forward for 90 days. The Monday check-in becomes a bi-weekly check-in but the structure is identical. Bi-weekly works for teams where the writer also does other work — the lower pressure means posts are more finished when they ship.

Category-owned calendars. Each writer owns a category and manages their own sub-queue. The marketing lead owns the overall calendar view and the cross-category rotation. Writers manage their own Draft-to-Scheduled pipeline; the marketing lead approves the schedule once per week. This approach scales to five-plus writers without a bottleneck at the marketing lead.

Campaign-aligned quarter. The 90-day grid maps to the quarterly campaign plan. Three or four posts per quarter tie directly to campaign launches or product events. The remaining posts fill in with evergreen content. The campaign-aligned posts are planned and scheduled six to eight weeks in advance; the evergreen posts are planned four weeks in advance. This prevents a launch week where the blog has no post.

Video-first calendar. The primary format is video (YouTube or embedded on the site). The written recap is a secondary artifact — 400 to 600 words, published alongside the video. The calendar grid has a video-shoot column alongside the written-post column. The Scheduled queue holds the video publish date; the written recap is always drafted the same day the video is recorded.

Anti-patterns

Planning inside the Blog admin. The Blog admin shows one post at a time. Planning in it hides the shape of the quarter — which categories are stacking up, which weeks are empty. Use a spreadsheet for the 90-day grid and the Blog admin for execution only.

Setting posts to Scheduled with an empty body. A post can be set to Scheduled with no body, which means it publishes an empty post on its date. Set the publish date early; leave the status as Draft until the body is reviewed and approved.

Too many categories. More than five categories fragments the calendar. Each additional category reduces the discipline that keeps the calendar coherent. If a topic does not fit one of the three to five core categories, it either belongs under an existing category or it should be a tag.

Skipping the Monday check-in. Two missed check-ins in a row means the queue drops below four posts and the calendar starts slipping. Block the 30 minutes on the calendar as a recurring meeting, not a task.

Related recipes

Related reading


Last updated: 2026-05-25

On this page