Resources / Templates / Monthly SEO report

Monthly SEO report template. Nine sections a client reads to the end.

A free SEO report template for agencies and in-house leads: what you shipped, what moved, what changed on Google and what you need from the reader. It comes with a filled example and a guide to writing each section. Download it as Markdown or as a sheet. No email, no sign-up.

Free to copy, edit and send under your own name.

Free download. Get the SEO report template as a file.

Both files hold the same nine sections with guidance in brackets. Delete the brackets as you fill it in.

Markdown document (.md)

For a written report. Paste it into Google Docs, Notion or your email, or open it in any text editor. Tables included.

Sheet layout (.csv)

For a report you fill month after month. In Google Sheets choose File, Import, Upload. In Excel, open the file or use Data, From Text/CSV.

The template. What goes in a monthly SEO report.

Each section answers one question the reader has. The order matters: the reader gets the news first and the cost last, after they have seen what it bought.

Section 1 is written last, once the numbers are in.
SectionThe question it answersWhere the numbers come from
1. The month in three lines Do I need to read the rest? The other eight sections
2. What we shipped What did we pay for? Your task list, with a live URL per item
3. Pages: planned vs published Are we on track with the plan? The page plan you agreed
4. Search Console on planned pages Did anything move? Google Search Console, filtered to the planned pages
5. What changed in the SERP What changed outside our control? The top 10 for the keywords you track
6. AI Overview citations Are we cited in the AI answer? The AI Overviews shown for your tracked keywords
7. Next month What happens next? The page plan, in priority order
8. Decisions we need from you What is blocked on me? Open questions, each with a deadline
9. Cost this month Was it worth it? Hours, writers, tools and provider fees

A filled example. One month, written out.

An agency report for a fictional client. The client, the URLs and every number are illustrative, chosen to show how each section reads when it is done well.

Monthly SEO report: Example Garden Co., September 2026

Fictional example. Period: 1 to 30 September, compared with August.

1. The month in three lines

  • Clicks on the 21 live planned pages rose from 1,240 to 1,410. Impressions rose from 48,200 to 57,900.
  • We published 4 new pages, refreshed 2 and merged 2 pages that were competing for the same keywords.
  • We need one decision from you by 10 October: which page should own "raised bed soil".

2. What we shipped

DateWorkPageType
3 Sep Drip irrigation guide /guides/drip-irrigation/ New page
9 Sep Raised bed sizes /guides/raised-bed-sizes/ New page
16 Sep Compost bins compared /compost-bins/ Refresh
22 Sep Two watering pages into one /guides/watering-schedule/ Merge, 301 from the old URL

3. Pages: planned vs published

AugustSeptember
Pages in the plan 40 40
Published (live) 17 21
In draft 4 3
Waiting for your sign-off 1 2

4. Search Console: planned pages only

MetricAugustSeptemberChange
Clicks 1,240 1,410 +170 (+14%)
Impressions 48,200 57,900 +9,700 (+20%)
Average position 14.2 12.8 1.4 positions better
Pages moved up 6
Pages moved down 2
Too new to judge 4

Attribution: impressions on planned pages went from 48,200 to 57,900. We can't prove our work caused it. Autumn planting searches rise every September, and one competitor dropped two guides.

5. What changed in the SERP

  • "drip irrigation kit": the top 10 now shows 6 shop category pages, up from 3. Searchers want to buy, so the kit belongs on the category page, not the guide.
  • "raised bed size": an AI Overview appeared this month. It cites 3 URLs, and ours is not one of them yet.

6. AI Overview citations

AugustSeptember
Tracked keywords showing an AI Overview 27 31
Keywords where our site is cited 2 4

7. Next month

  1. /drip-irrigation-kits/: add a buying section, because the top 10 turned commercial.
  2. /guides/raised-bed-sizes/: add a size table, the format the AI Overview quotes from.
  3. Publish 3 new pages from the plan: soil types, mulch, and garden edging.

8. Decisions we need from you

DecisionOur suggestionNeeded by
Which page owns raised bed soil: the soil guide or the raised bed guide? The raised bed guide. Both keywords share 4 of the same top 10 URLs. 10 Oct

9. Cost this month

ItemCost
Strategy and reporting, 14 hours $1,400
Writers and editors, 4 new pages and 2 refreshes $1,900
Tools and data fees $180
Total $3,480

The guide. How to write each section.

1. The month in three lines

Write it last. One line for what moved, with one number. One line for what shipped. One line for the decision you need. Many readers stop here, so if it cannot stand alone, rewrite it.

2. What we shipped

List finished work only, each with its live URL. "In progress" belongs in section 3. A URL lets the reader click and see the work, which does more than any adjective.

3. Pages: planned vs published

Report against the same page plan every month, so the totals add up from one report to the next. If the plan changed, say so and say why. This is the section that shows whether the project is on schedule.

4. Search Console on planned pages

Filter Search Console to the pages in the plan. Site-wide totals mix your work with everything else on the site. Compare like with like: the same length of period, and say which period you used. Call a page "moved" only past a threshold you state, for example more than 3 positions, so small daily noise does not read as news. Leave out new pages until they have a few weeks of data.

5. What changed in the SERP

Look at Google, not just at the site. A new competitor, a shift from guides to shop pages, or an AI Overview that appeared can explain a drop better than anything you did. Each change should end with what it means for the page that owns the keyword.

6. AI Overview citations

Count how many tracked keywords show an AI Overview and how many cite your site. List the cited URLs. Report what was cited, not why: nobody outside Google can say why one page was picked.

7. Next month

Three to five items in priority order, each tied to a page and a reason. "Improve content" is not an item. "Add a size table to /guides/raised-bed-sizes/ because the AI Overview quotes tables" is.

8. Decisions we need from you

Every open question gets options, your suggestion and a date. If you need nothing, write "None this month". A report that asks for nothing teaches the reader they can skip it.

9. Cost this month

Put every cost in one table: hours, writers, tools and data fees. Few reports include it. It makes the budget conversation shorter, because the numbers are already on the table.

The honest line. Report what moved. Don't claim you moved it.

Search Console shows what happened, not why. Seasonal demand, Google updates and a competitor's bad month all move the same numbers your work does. A monthly SEO report that takes credit for every rise has to explain every fall.

So keep one plain line under the numbers: what moved, by how much, and that you cannot prove the cause. Then add what else you saw that month. It reads as confidence, not doubt, and it keeps the report honest in the months that go the other way.

Instead ofWrite
Our content strategy grew traffic 20%. Impressions on planned pages went from 48,200 to 57,900. We cannot prove our work caused it.
Rankings improved across the board. 6 pages moved up by more than 3 positions, 2 moved down, 9 did not change.
We are winning in AI search. Our site is cited in 4 of the 31 AI Overviews we track, up from 2.

Client reports that get read. Six habits of a good SEO client report.

Same structure every month

The reader learns where to look. Change the content, not the layout.

Planned pages, not the whole site

Report on the pages the work touched, so the numbers mean something.

A URL for every claim

Shipped work, movers and citations all link to the page in question.

One decision, clearly asked

With options, a suggestion and a date, near the top and again in section 8.

Cost next to results

The reader can judge the return without asking for a second spreadsheet.

Send it on the same day

A report that arrives on the third working day every month builds more trust than a long one that arrives late.

Or skip the copy and paste. Let SerpDad fill in the numbers.

Most of the work in a monthly report is gathering numbers per page. SerpDad's Measure hub does that part. It reads your own Search Console data and the results it already fetched, and builds a report with the month in three lines, a scoreboard by hub, what moved with the math, AI Overview citations, work shipped and a receipts appendix.

It exports as Markdown, so you can paste it into this template or send it as it is. Building a report fetches nothing and costs nothing. Like this template, it reports what moved and never says SerpDad caused it.

See how Measure works or read the Measure docs.

Questions and answers.

Can't find the answer? Email us.

What should a monthly SEO report include?

A three-line summary, the work you shipped, progress against the page plan, Search Console numbers for the planned pages, what changed in the SERP, AI Overview citations, the plan for next month, the decisions you need and what the month cost. That is the nine sections in this template.

How long should a monthly SEO report be?

Short enough that the reader finishes it. Two to four pages is plenty for most sites. If the summary does not fit in three lines, the month needs a call, not a longer report.

Can I use this template as an SEO client report?

Yes. Agencies send it to clients, and in-house leads send the same sections to their manager. Keep the cost and decisions sections in both cases: they are what turns a report into a conversation about the budget.

How do I open the CSV in Google Sheets or Excel?

In Google Sheets, choose File, then Import, then Upload, and pick the CSV. In Excel, open the file directly or use Data, then From Text/CSV. Each section of the report is a block of rows, so you can add formulas and charts next to it.

Should the report say our work caused the change in traffic?

No. Search demand, Google updates and competitors all move the numbers, and nobody can isolate their own share from Search Console data. Report what moved and by how much, then add one plain line saying you cannot prove the cause. It also makes the rest of the report easier to believe.

Can SerpDad fill in this report for me?

SerpDad builds a monthly report in its Measure hub from your own Search Console data and the results it already fetched, and exports it as Markdown. Building it fetches nothing and costs nothing. It reports what moved, and never says SerpDad caused it.

Fill it in by hand,
or let Measure fill in the numbers.

Your first plan is free up to 1,000 keywords, with briefs for the top 5 pages. No card needed.