Home / Blog / SEO Report Template
How-to · 2026

SEO Report Template: What to Put in a Monthly SEO Report (with an Example)

Seven sections, two comparisons and one honest paragraph about why the numbers moved. Most of the work is in getting the comparison right, not in the layout.

By · Published October 10, 2026 · 9 min read

A monthly SEO report has seven sections: a summary, organic search performance from Search Console (clicks, impressions, CTR and average position against last month and last year), top queries and pages with their change, a branded versus non-branded split, landing-page conversions from GA4, technical and indexing issues, and the work done this month with the plan for next. Below is the template, a worked example with illustrative numbers, and the parts that usually go wrong: the export, the comparison and the explanation of a drop.

What goes in a monthly SEO report

The order runs from conclusion to evidence, so the reader gets the answer first.

  1. Summary. Three to five sentences. What moved, by how much, the most likely reason and what happens next. Write it last.
  2. Organic search performance. Clicks, impressions, CTR and average position from the Search Console Performance report, each shown against the previous period and the same period last year.
  3. Top queries and top pages. The ten or twenty that matter, with the change against both comparisons. Sorting by the change, not by the total, is where the story usually is.
  4. Branded versus non-branded. Branded searches come from people who already know you; non-branded is where organic growth comes from. Mixing them hides both.
  5. Conversions from organic landing pages. Key events and revenue by landing page from GA4, filtered to organic search. This is the section that connects the report to money.
  6. Technical and indexing issues. Anything new in the Page indexing report, crawl problems, a migration, a template change.
  7. Work done and next month. What shipped, what is in progress, and the two or three things planned. Without this the report describes the weather.

If the report goes to a client, the same structure works; the client reporting pack post covers how to keep one template across many clients without the numbers drifting.

An SEO report example

Every number in this section is illustrative. It is a made-up site, used to show the layout and the arithmetic, not a benchmark.

Say the report covers September 2026 for a business-to-business software site. The headline table looks like this:

MetricSep 2026Aug 2026ChangeSep 2025Change
Clicks18,40017,100+7.6%14,900+23.5%
Impressions612,000548,000+11.7%431,000+42.0%
CTR3.0%3.1%−0.1 pt3.5%−0.5 pt
Average position14.213.80.4 worse16.92.7 better

Then the branded split, from two exports with the Branded and Non-branded query filters:

ClicksSep 2026Aug 2026Change
Non-branded10,9009,500+14.7%
Branded7,1007,200−1.4%
Not classified (anonymized)400400—

And the summary, written from those tables:

Organic clicks rose 7.6% on August and 23.5% on September last year, to 18,400. The growth is non-branded (+14.7%); branded clicks were flat, as expected in a month with no campaign. Impressions grew faster than clicks, so CTR slipped to 3.0%: we are now appearing for more queries on page two, which is the pipeline for next quarter. Organic demo requests rose from 188 to 212. Next month: rewrite titles on the five pages with the most impressions and lowest CTR, and publish the two comparison pages in progress.

It names the number, gives both comparisons, says which segment drove the change, explains the metric that went the wrong way, and ends with a plan. That is the whole job of the first paragraph.

How to export the Search Console Performance report

Open Performance → Search results, set the date range, and click Export at the top of the report. You can send it to Google Sheets or download it as Excel or CSV. Google's export announcement describes what you get: the chart data plus every tab at once (queries, pages, countries, devices, search appearance and dates), with an extra Filters tab recording what was applied. CSV arrives as a zip of separate files.

Four limits to know before you trust the file, all from Google's Performance report documentation:

Also, values the report shows as ~ or - become zeros in the export, per Google's data notes. A zero in the file is not always a zero.

Comparing periods without fooling yourself

Most bad SEO commentary comes from a bad comparison, not a bad metric.

Calendar month or 28 days. A calendar month is what the business reads, so it is the right default. But months differ: August 2026 had 31 days and ten weekend days; September 2026 had 30 days and eight. For a site whose search traffic is mostly weekday traffic, September starts with an advantage that has nothing to do with SEO. Show clicks per day beside the total, and lean on the same month last year, which usually has a similar weekday mix.

Use Weekly or Monthly granularity for trends. Google's own comparison guidance recommends it, because aggregating by week or month neutralizes the day-of-week effect of comparing a Monday in one period with a Saturday in another. Search Console weeks run Sunday to Saturday, and months are calendar months.

Last 28 days always has four of each weekday, which makes it a good health check and a poor monthly frame: it never lines up with the month the reader has in mind.

Always show last year. Month over month tells you the direction; year over year tells you whether the direction is seasonal. Search Console keeps 16 months, so the same month last year is always available.

Branded versus non-branded, now built in

This split used to mean maintaining a regex of brand names and misspellings. Google announced a branded queries filter on November 20, 2025, and updated the post on March 11, 2026 to say it is now available to all eligible sites. It sits in the Performance report as a Query filter with two options, Branded and Non-branded.

The classification comes from an AI-assisted system, not a keyword list, and Google says some queries may be misidentified. It works only on top-level properties (not URL-path or subdomain properties) with enough query volume. Without it, a regex on your brand terms under Custom (regex) still works.

As the example shows, branded plus non-branded will usually come to a little less than total clicks, because anonymized queries drop out when a query filter is applied. Show the gap as its own line rather than letting a reader find it.

AI Overviews and AI Mode impressions

Google launched generative AI performance reports in Search Console on June 3, 2026, for a subset of sites, and noted that as of August 31, 2026 they are rolled out to all websites. The Search report shows impressions from AI Overviews and AI Mode by page, country, device and date.

Two rules for a monthly report. It shows impressions, not clicks: visibility, not what visibility produced. And Google states this data is already included in the overall Performance report, so report it as context under the headline table, never as a number to add to it.

Conversions from organic landing pages

Search Console stops at the click. For what happened next, use GA4: Reports → Engagement → Landing page, filtered to the Organic Search channel, with sessions, key events and revenue for the same dates. Ten rows is plenty.

GA4 organic sessions will not match Search Console clicks. Search Console counts Google clicks only; GA4 counts every search engine, records only browsers that run its tag, and uses your property's time zone (Google lists several of these causes in its discrepancy notes). The Google Analytics report post covers the GA4 side in full.

How to explain a drop

A drop needs a cause in the report, or the reader will supply one. Google's guide to debugging traffic drops gives the checklist, and the shape of the chart is the first clue:

Then write it as one sentence with a number in it: “Non-branded clicks fell 9% because the pricing page dropped from position 3 to 6 after the September template change; the fix shipped on October 2.” A cause, a size, and what is being done. The executive summary post has more on writing that paragraph.

Automating the monthly SEO report

The tenth report takes the same afternoon as the first: export Search Console twice for the branded split, export GA4, paste, rebuild the charts, retype the summary figures, and hunt for last month's number still sitting in a sentence.

The data pull, tables, charts and figures inside sentences can be automated. The judgment cannot: which page dropped, why, and what will be done. Good automation leaves you only that paragraph to write.

Running the template in Quiriz

Quiriz is an AI business analyst that answers questions about your data inside Word, PowerPoint, Excel and the Google apps. For an SEO report:

  1. Get the exports in. Save each month's Search Console and GA4 exports to a Google Drive or OneDrive folder, or a Google Sheet, that Quiriz refreshes on a schedule. The Export clicks stay manual; everything after them does not. Direct connectors for Google Ads, GA4, Search Console and Meta Ads are coming; HubSpot connects directly today.
  2. Put the template in a document. In Word, write the questions where the answers belong: =QUIRIZ.ASK("organic clicks by month for the last 13 months", "chart"), or "table" for the top pages with their change. Press Resolve markers and every section fills in. In Google Docs the same marker is spelled =QUIRIZ("...", "chart"), with no dot.
  3. Keep the numbers inside your sentences. Highlight a phrase such as non-branded clicks this month vs last and press Figure; one live value replaces the words and the rest of the sentence stays yours.
  4. Refresh all next month. Refresh all asks every chart, table, figure and note again against the new exports; your headings and commentary stay put. In Word, Mark refreshes as tracked changes shows every figure that moved as a revision, which is a quick way to see what to write about.

Charts in Word and PowerPoint arrive as native, editable charts: right-click, Edit Data, and restyle them like any chart you built yourself, and Refresh all keeps your formatting. In Google Docs and Google Slides, charts are images drawn from the answer's rows; they refresh the same way and you restyle them with Change. For a deck, Build a deck in PowerPoint or Google Slides shows you the slide plan first, and the deck opens with an executive summary, written last from what the slides found and checked against them. If a slide's question cannot be answered from the exports, the slide says so and why rather than inventing a number.

Where it does not apply. A one-off technical audit or a content strategy is analysis, not a recurring report. And if your client's monthly report is five lines in an email, keep it five lines.

An SEO report that refreshes instead of rebuilds

Put the questions in your Word or Google Docs template, drop in the month's Search Console and GA4 exports, and press Refresh all. Free to start.

Try Quiriz free →

Frequently asked questions

What should be included in a monthly SEO report?
A short summary; organic clicks, impressions, CTR and average position from Search Console against last month and last year; top queries and pages with their change; a branded versus non-branded split; organic landing-page conversions from GA4; technical and indexing issues; and the work done this month with the plan for next month.
How do I export more than 1,000 rows from Search Console?
The Performance report table shows at most 1,000 rows, and some rare or long-tail rows are omitted from the table while still counted in the chart totals. For a fuller list use the Search Console API or the bulk data export, which Google describes as the most complete list of queries. For a monthly report, the top 1,000 rows are usually more than enough.
Why do Search Console clicks not match GA4 organic sessions?
They measure different things. Search Console counts clicks from Google Search results only, labels days in Pacific Time, and is processed on its own schedule. GA4 counts sessions from every search engine, only when its tag runs in the browser, in your property time zone. Report both, and do not expect them to reconcile.
Should an SEO report compare to last month or last year?
Both. Month over month shows direction and catches problems quickly; year over year removes seasonality. A month that is down 8% on the previous month but up 20% on the same month last year is a seasonal dip, not a problem, and only the second comparison tells you that.
Can I see AI Overviews traffic in Search Console?
Yes. Search Console has a generative AI performance report showing impressions in AI Overviews and AI Mode by page, country, device and date. Google rolled it out to all sites on August 31, 2026. Those impressions are already included in the main Performance report, so do not add them on top of it.
Can you automate an SEO report?
The numbers, tables and charts can be automated; the explanation cannot be fully automated. A monthly report still needs someone to say why a page dropped and what will be done about it. The aim of automation is to make that paragraph the only thing left to write.