Content calendar template: plan, publish and measure SEO content
Short answer
A content calendar template is a table for planning every piece of content on your website: date, topic, primary keyword, search intent, format, target URL, internal links, owner, status and Search Console clicks after 30 and 90 days. Here you get the full template with a 3-month calendar and topic backlog, instructions and a worked example, plus a free PDF.
Content calendar, editorial calendar or content plan: what is the difference?
A content calendar tells your team what gets published and when. An editorial calendar is the same idea with more focus on the workflow: briefs, drafts, editing and approvals. An editorial calendar template and a content calendar template usually describe the same document, and most teams use the two names interchangeably.
A content plan goes one step further. It adds the strategy behind each row: the primary keyword, the search intent, the target URL, the internal links and how you will measure the result. Without those columns, a calendar is a to-do list. With them, it becomes an SEO tool that shows which pages earn traffic and which need work.
Content calendar vs SEO strategy
Your content calendar comes out of your SEO strategy. The strategy says which topics you want to win and with which page: one cluster of keywords with the same intent, one URL. The calendar turns that into specific pieces and dates. If you don't have a strategy yet, start with our SEO strategy template and bring the clusters from its parts 4 and 5 into the calendar.
Website content, not just social posts
This template is built for your blog and the rest of your website, not for social media alone. The difference matters. A social post lives for a few days, while a good article or service page can bring in customers from Google for years. That is why every row has a URL and a measurement, not just a date and a channel. You can plan social posts later, based on the pages you publish.
Who should own the calendar
One person. In a small business, that is usually the owner, a marketer or your agency. The owner keeps dates and statuses up to date. Everyone else (subject experts, designers, developers) is assigned to specific rows in the Owner column.
What to include in a content calendar template: 11 columns
The template has eleven columns. Each one answers a question that would otherwise come up again and again in emails and meetings. Fill them in from left to right: decisions first (topic, keyword, intent, format), then execution (owner, status), and results last.
| Column | What to enter | Example |
|---|---|---|
| Planned date | The day the piece should be ready to publish. | Jan 14 |
| Topic | A working title that says which question the piece answers. | How much does heat pump installation cost? |
| Primary keyword | One query you optimize the page for. Keywords with the same intent share one URL. | heat pump installation cost |
| Search intent | What the searcher wants: to learn, compare, buy or find a local business. | commercial (comparing options) |
| Format | Article, service page, FAQ, case study, guide, comparison or update. | article with a cost table |
| Target URL | The address of the new page, or of the existing page you are updating. | /blog/heat-pump-installation-cost |
| Internal links | Which pages will link to the new piece, and which service page it links to. | from: /blog/types-of-heat-pumps; to: /heat-pump-installation |
| Owner | The one person responsible for the row. | Anna (marketing) |
| Status | Idea, brief, writing, editing, ready, published, needs update. | writing |
| Publish date | The actual publish date. Count 30 and 90 days from here. | Jan 16 |
| Results (30 and 90 days) | Search Console clicks and impressions for this URL, inquiries from GA4, plus your decision. | check on Feb 15 and Apr 16 |
In the PDF, the calendar has 10 columns (week and planned date share one) and results have a separate sheet.
How to fill in the content calendar template: 8 steps
The steps follow the parts of the PDF. You build the full plan once a quarter and only update statuses and results in between.
- Set the goal and cadence. Write down the goal for the quarter, the audience, the service pages to support and the number of pieces your team can realistically publish each month. Take topics and target pages from your SEO strategy if you have one.
- Build the topic backlog. Pull queries from Search Console, keyword research, Google autocomplete and People also ask, customer questions and competitor gaps. Score each topic from 1 to 3 for value, chance to rank and effort.
- Assign a keyword and intent. Pick one primary keyword per topic and search it on Google to see which types of pages rank in the top ten. Keywords that share at least 4 of their top 10 results belong on one URL.
- Choose the format and target URL. Article, service page, FAQ, case study or update. Make sure no other URL on your site targets the same keyword.
- Plan internal links. Note which existing pages will link to the new piece, which service page it will link to, and which 2–4 related pieces on the same topic it connects with.
- Lay out three months. Month 1: service pages and FAQs, month 2: articles and comparisons, month 3: case studies and updates. Give each row an owner and a status.
- Measure at 30 and 90 days. Filter the Search Console Performance report by URL and log clicks, impressions and average position on the results sheet. At 90 days, add the GA4 inquiries from visits that started on that page.
- Review the quarter. Decide what to keep, expand, merge or remove, check that no two URLs show up for the same keyword, and move the best backlog topics into the next calendar.
Where to find topics for your blog content calendar
The best topics come from data, not brainstorming. Collect them in a backlog, a list of topics waiting for a slot, from five sources.
1. Google Search Console: queries you already show up for
Open the Performance report, go to the Queries tab and sort by impressions. Look for queries where your site appears in results but gets few clicks. Average position tells you what to do next. Positions 4 to 20 usually mean a page that already shows up and is worth expanding. Lower positions for a query you have no dedicated page for mean Google already connects your site with the topic, but you don't have a page that answers it well. Then switch to the Pages tab, pick a URL and see which queries it shows up for. If one article pulls in queries from several topics with different intents, that's a sign to split it into separate pieces.
2. Keyword research
A keyword tool such as Google Ads Keyword Planner shows how people describe your services, what they ask and in which months they search most. Group keywords by Google's results, not by similar wording: if two keywords share at least 4 of their top 10 URLs, they are one topic and one page. That threshold is our own working rule, not a figure published by Google. A topic goes into the calendar, not a single keyword.
3. Google autocomplete and People also ask
Type your service into Google and note the suggestions that appear as you type, plus the questions in the People also ask box. That is how your customers phrase things. A long query from autocomplete usually deserves its own heading or FAQ question. It earns a separate page only when its intent differs from the pages you already have.
4. Customer questions
Write down the questions you hear on calls, in emails and in sales meetings. If three people ask the same thing in a month, you have a ready topic for an FAQ or an article. Content that answers real questions directly also helps when people ask AI assistants instead of searching, because ChatGPT and Perplexity can search the web and cite sources before they answer.
5. Gaps against competitors
Check which topics the businesses that outrank you cover and you don't. Our guides to content gap analysis and SEO competitor analysis walk you through the process step by step. To compare five rivals side by side, use our SEO competitor analysis template.
How to pick topics from the backlog
Score every topic from 1 to 3 on three scales: business value (V), chance to rank (C) and effort (E, 3 = high). The score is V × C ÷ E. Topics with the highest score go into the calendar first. It is a simplified version of the ICE method (impact × confidence × ease). Judge value by whether a topic can bring in inquiries, not by traffic alone.
Match search intent to content format
The same keyword doesn't fit every format. Before you pick a format, search the keyword on Google and look at the top ten results: articles, service pages, online stores or a map. That's the simplest intent test. If the results are all service pages, a blog post will have a hard time.
| Intent | What the searcher wants | Format in the plan | Example keyword |
|---|---|---|---|
| Informational | An explanation, instructions or a definition | How-to article, FAQ | how does a heat pump work |
| Commercial | A comparison of options, prices or reviews before deciding | Comparison, article with a cost table, case study | heat pump vs gas furnace |
| Transactional | A specific offer and a way to get in touch | Service page with pricing or a quote form | heat pump installation quote |
| Local | A business nearby | Location service page (with local content), Google Business Profile | heat pump installer near me |
| Navigational | A specific company or page | About and contact pages (usually no new content) | [company name] contact |
Watch the balance. Informational articles build reach, but inquiries more often come from service pages and comparisons. So every article in the calendar should name, in the Internal links column, the service page it points to.
A separate page for each city only makes sense when it has local content: projects, the team, the area you cover, questions from local customers. Google's spam policies list pages targeted at specific regions or cities that funnel users to one page as doorway abuse.
How often to publish and how to lay out a 3-month calendar
Let your capacity set the cadence, not your ambition. One solid piece every two weeks for a whole year beats ten pieces in month one and nothing after that. Google's guidance on helpful content lists producing lots of content on many different topics, in the hope that some of it performs, as a warning sign. Your calendar should prevent that, not encourage it.
Count how many pieces your team can finish in a month without rushing, then reserve one slot for updating older content. That's your cadence. For a small business, two new pieces a month plus one update is a sensible starting point.
Plan around seasons. If customers search for your service mostly in a few months of the year, publish ahead of the peak, because a new page needs time for Google to find and assess it. Keyword Planner shows searches by month, and a year-over-year comparison in Search Console shows the pattern in your own data.
A 3-month editorial calendar in three stages
- Month 1: foundations. Service pages and FAQs for transactional and local keywords. If your service pages are weak, articles have nowhere to send traffic.
- Month 2: support. Informational articles and comparisons that answer pre-purchase questions and link to the service pages from month 1.
- Month 3: proof and updates. Case studies, refreshes of pages that are losing clicks in Search Console, and the first measurement of month-1 content.
At the end of the quarter, review what earned clicks and inquiries, what didn't, and which backlog topics move into the next calendar.
Your content calendar and AI search: ChatGPT and AI Overviews
More and more people ask AI assistants about services or read the AI Overview above Google's results. You don't need a separate content plan for AI. Google says there are no additional requirements to appear in AI Overviews or AI Mode beyond standard SEO best practices. Three things in your calendar do change, though.
- One question, one clear answer. A customer question from your backlog gets a heading phrased as a question, and the first one or two sentences below it answer directly. Numbers have a source. A passage like that is easy to quote, including for AI assistants that search the web before they answer.
- More content AI can't summarize for you. A definition is easy to repeat in an AI answer. Your own data, experience and examples are not. Plan more case studies, comparisons, pricing pages and tools than plain definitions.
- Measure in the same places. Google counts traffic from AI Overviews and AI Mode in the Search Console Performance report, so your results sheet already covers it. Impressions in those features alone are shown in the generative AI performance report (since August 31, 2026). To see whether ChatGPT, Gemini or Perplexity mention your business, use our free AI visibility checker.
Example: a quarterly content plan for a service business
Here is an illustrative plan for a fictional company that installs heat pumps in one metro area. It shows how rows connect through internal links: every article points to the service page, and a case study supports it. The FAQ has no primary keyword of its own, because it is part of the service page.
| Month | Topic | Primary keyword | Intent | Format | Target URL | Internal links |
|---|---|---|---|---|---|---|
| 1 | Heat pump installation in [city] | heat pump installation [city] | local | service page | /heat-pump-installation | from: home page, /services |
| 1 | FAQ: what customers ask before installation | — (supports the service page keyword) | local | FAQ section on the service page | /heat-pump-installation#faq | part of the service page |
| 2 | How much does heat pump installation cost? | heat pump installation cost | commercial | article with a cost table | /blog/heat-pump-installation-cost | to: /heat-pump-installation |
| 2 | Heat pump vs. gas furnace | heat pump vs gas furnace | commercial | comparison | /blog/heat-pump-vs-gas-furnace | to: /blog/heat-pump-installation-cost, /heat-pump-installation |
| 3 | Retrofitting a 1990s house: case study | heat pump for an older house | informational | case study | /projects/1990s-house-retrofit | to: /heat-pump-installation |
| 3 | Update: types of heat pumps | types of heat pumps | informational | content update | /blog/types-of-heat-pumps | add links to: /blog/heat-pump-installation-cost, /heat-pump-installation |
The company, URLs and keywords are examples. The Owner, Status and Results columns are in the PDF template.
Plan updates to old content, not just new posts
A content plan isn't only about new pieces. Older articles go out of date, and sometimes two of them compete for the same keyword. Reserve at least one slot a month for an update.
Search Console shows you the candidates. Compare the last 3 months with the same period a year earlier (Search Console keeps data for the last 16 months), then sort the Pages tab by the change in clicks. The URLs with the biggest drop go into the calendar with the format "update". The second group is pages with an average position of 4 to 20 for keywords that matter to sales, because they are close to the top results.
Update, expand, merge, remove or leave it
- Update when the content is out of date: prices, regulations, screenshots, examples.
- Expand when the page shows up for queries it doesn't answer. Add a section or an FAQ.
- Merge when two URLs answer the same question. Keep the stronger one, move the content over and 301-redirect the weaker URL.
- Remove or redirect when a page has no traffic, no links and no business value. If you have a page on a closely related topic, 301-redirect the URL there. If not, the URL can return a 404 or 410.
- Leave it when the content is current and the drop is seasonal. The year-over-year comparison will tell you.
Only change the "last updated" date when the content has really changed. Google's guidance asks directly whether you change page dates to make them seem fresh when the content hasn't substantially changed.
How to measure results: Search Console clicks after 30 and 90 days
Every piece gets two check dates: 30 and 90 days after it goes live. Add them to the calendar on publish day so they don't slip. Each check takes a few minutes per URL.
- In Search Console, open the Performance report and set the date range to start on the publish date.
- Add a Page filter with the URL from your plan.
- Write down clicks, impressions and average position.
- On the Queries tab, check whether the page shows up for the primary keyword in your plan or for other queries.
- At 90 days, check key events in GA4 (for example a form submission or a click on your phone number) from visits that started on that page. Mark those events as key events before you publish, because GA4 does not apply the change to past data.
- Record your decision on the results sheet.
The 30-day check mostly tells you whether Google has indexed the page and which queries it associates with it. The 90-day check is what you base decisions on. Don't judge a piece after its first week: a new page needs time for Google to find, index and assess it. When you read the numbers, also ignore the newest data (the dotted line on the chart), because it is preliminary and can still change.
| What you see in Search Console and GA4 | What it means | What to do |
|---|---|---|
| No impressions | The page may not be indexed, or no other page links to it | Check it with the URL Inspection tool and add internal links |
| Impressions for the primary keyword, few clicks | Google connects the page with the topic, but it ranks low or the title does not earn the click | Rewrite the title and meta description, expand the content, add links from strong pages |
| Impressions for other queries than planned | The content matches a different intent | Change the keyword in the plan or rewrite the piece for the original intent |
| Clicks are growing | The content works | Add a link to the service page and plan the next piece on the topic |
| Clicks but no inquiries | Traffic is not reaching your offer | Add a clear link to the service page and a call to action in the piece, and check that the topic fits your customers |
| Two URLs for the same keyword | Keyword cannibalization: the pages compete with each other | Merge the pages or separate their intents |
Not sure whether the problem is the content or the technical side of your site? Start with a free SEO audit. It flags the errors that hold back new content before you write it.
Common mistakes with a content plan template
- Two pieces for one keyword. They compete with each other and neither grows. The rule: one primary keyword, one URL.
- Topics without intent. An article targeting a keyword where Google shows online stores rarely makes page one.
- No internal links. Google finds new pages mainly through links. A new piece that no other page links to is hard for both visitors and Googlebot to find.
- A calendar you can't keep. A plan for twelve pieces a month that collapses after three weeks delivers less than a steady two.
- Content with nothing new. A summary of the top ten results, or AI text nobody fact-checked, gives Google no reason to rank it above the originals. Every piece in the plan should add your own data, an example or first-hand experience.
- Copy-paste city pages. The same page with a different city name gives customers nothing new. Plan a location page only when you have local content for it.
- No measurement. Without the Results column you don't know which topics work, so you plan the next quarter blind.
- Only new content. If you skip updates, the site grows while older pages lose traffic.
- No service pages in the plan. Blog traffic doesn't turn into inquiries if there is nowhere to send it.
Would you rather hand content planning to specialists? See how our SEO services work. In the client portal you see your Search Console and GA4 data, so the results of every piece are in one place.
Template preview: 3-month content calendar
This is what the PDF contains (tables shortened to a few rows). Copy it into a spreadsheet, or print it and fill it in by hand.
Part 1. Plan basics
- Content goal for this quarter (for example, more inquiries for one service): ____________
- Audience (who they are, what problem they have, where they are in the decision): ____________
- Service pages your articles should lead to: ____________
- Cadence: ___ new pieces and ___ updates per month
- Calendar owner: ____________ Quarterly review date: ____________
Part 2. Topic backlog
| # | Topic | Primary keyword | Intent | Idea source | V (1–3) | C (1–3) | E (1–3) | Score | Month |
|---|---|---|---|---|---|---|---|---|---|
| 1 | |||||||||
| 2 | |||||||||
| 3 |
V – business value, C – chance to rank, E – effort (3 = high). Score = V × C ÷ E. Idea source: Search Console, keyword research, autocomplete and People also ask, customer questions, competitor gap.
Part 3. Content calendar: months 1, 2 and 3
| Week / date | Topic | Primary keyword | Intent | Format | Target URL | Internal links | Owner | Status | Publish date |
|---|---|---|---|---|---|---|---|---|---|
| Week 1 | |||||||||
| Week 2 | |||||||||
| Week 3 | |||||||||
| Week 4 | |||||||||
| Update |
Months 2 and 3 use the same layout. In the PDF, each month has its own table with a row reserved for an update.
Statuses: idea → brief → writing → editing → ready → published → needs update. Formats: article, service page, FAQ, case study, comparison, update.
Part 4. Results sheet (Search Console and GA4)
| Target URL | Publish date | Primary keyword | Clicks at 30 days | Impressions at 30 days | Clicks at 90 days | Impressions at 90 days | Avg. position at 90 days | Inquiries (GA4) at 90 days | Decision |
|---|---|---|---|---|---|---|---|---|---|
Decision: keep, expand, rewrite the title, add links, merge with another URL, remove or redirect.
Part 5. Pre-publish checklist
- ☐ The primary keyword is in the page title, the H1 and the first paragraph. The title is about 50–60 characters (Google has no limit, but usually truncates longer titles).
- ☐ The content matches the intent you see in Google's results.
- ☐ The piece adds something the top ten don't have: your own data, an example, project photos, an expert's view.
- ☐ Under each question heading, the first one or two sentences answer directly, and numbers have a source.
- ☐ The author, date and sources are visible on the page.
- ☐ No other URL on the site targets the same keyword.
- ☐ At least two existing pages link to the new piece, and it links to the right service page and 2–4 related pieces.
- ☐ The meta description says what the reader will find and gives a reason to click.
- ☐ Any text drafted with AI has been fact-checked and edited by a person.
- ☐ The publish date is in the calendar, and the 30-day and 90-day check dates are in the team calendar.
- ☐ In GA4, form submissions and clicks on your phone number are marked as key events (GA4 does not count them retroactively).
- ☐ For updates: the "last updated" date changes only when the content has really changed.
Part 6. Quarterly review
- Which pieces earned the most clicks and inquiries at 90 days, and why?
- Which pieces did not deliver, and what did you decide?
- Did you keep the cadence? If not, what cadence will you set for next quarter?
- Which pages are losing clicks year over year, and do any two URLs show up for the same keyword?
- Do AI assistants and AI Overviews mention your business for the questions in your plan?
- Backlog topics for next quarter's calendar: ____________
Get the template (PDF)
We will email you a PDF with plan basics, a topic backlog, a 3-month calendar, a results sheet, a pre-publish checklist and a quarterly review. Print it or copy it into a spreadsheet.
Related guides and tools
- SEO strategy template: the goals, keyword clusters and target pages your content plan comes from
- Content gap analysis: find the topics your competitors cover and you do not
- SEO competitor analysis template: compare 5 rivals on content, keywords and AI answers
- SEO competitor analysis: a step-by-step guide
- Free SEO audit: check the technical side of your site before you publish
- AI visibility check: see whether ChatGPT, Gemini and Perplexity mention your business
- SEO services: content planning, technical SEO and reporting in one service
- Keyword research template: keywords and a keyword map before topics go into the backlog
- Content brief template: a brief for each piece in the calendar: keyword, outline, links
- Content audit template: what to update, merge or remove before you write new pages
Frequently asked questions
In practice, very little. Both show what gets published and when. An editorial calendar usually puts more weight on the workflow: briefs, drafts, editing and sign-off. A content calendar built for SEO adds the primary keyword, search intent, target URL, internal links and results. This template covers both, with the workflow in the Owner and Status columns.
As often as your team can manage without the quality slipping. Consistency matters more than volume. Two new pieces a month plus one update to older content is a sensible starting point for a small business. If your 90-day checks show that the pieces earn clicks, increase the cadence. If they do not, fix what you already have first.
Use a spreadsheet, such as Excel or Google Sheets, for day-to-day work, because filtering by status and sorting topics is easy there. The PDF is handy for planning on paper, for a team workshop or for getting sign-off from management. The PDF columns map one to one onto a spreadsheet, so you can start with a printout and move the plan into a file later.
It depends on your site, your competitors and the topic, which is why the template has two check dates. At 30 days you see in Search Console whether the page appears and for which queries. At 90 days you look at clicks and GA4 inquiries, then decide whether to keep it, expand it, rewrite the title or merge it with another URL. Do not judge a piece after a week.
Enough for one or two quarters at your cadence. At two pieces a month, that means 6 to 12 topics. The backlog does not need to be long, but each topic should have a primary keyword, an intent and a score for value, chance and effort. Then building the next calendar is a quick job, not a whole meeting.
The template is built for website content: blog posts, service pages, FAQs and case studies. Social media has a different rhythm and different goals. Plan your social posts around what you publish on the site, so each article becomes several posts that send people to the URL in your plan. That way the two plans support each other instead of competing for your team.
Sources
- Google Search Central: Creating helpful, reliable, people-first content (accessed November 11, 2026)
- Google Search Central: Spam policies (doorway abuse, scaled content abuse) (accessed November 11, 2026)
- Google Search Central: AI features and your website (AI Overviews, AI Mode) (accessed November 11, 2026)
- Google Search Central: SEO Starter Guide (Google primarily finds pages through links) (accessed November 11, 2026)
- Google Search Central: Link best practices (how Google finds new pages) (accessed November 11, 2026)
- Google Search Central: Title links (no length limit, truncated to fit the device) (accessed November 11, 2026)
- Search Console Help: Performance report (clicks, impressions, CTR, average position, preliminary data) (accessed November 11, 2026)
- Search Console Help: Performance report dimensions and data groupings (accessed November 11, 2026)
- Search Console Help: URL Inspection tool (accessed November 11, 2026)
- Search Console Help: generative AI performance report (impressions in AI Overviews and AI Mode, since 31 Aug 2026) (accessed November 12, 2026)
- Google Analytics Help: Queries report (Search Console keeps data for the last 16 months) (accessed November 11, 2026)
- Google Analytics Help: Mark events as key events (applies from the time of creation, not to historic data) (accessed November 11, 2026)