A monthly SEO report usually answers the question "what have you been doing", while the client asked a different one: "is it better, and what happens next". That gap is what produces forty-slide documents after which the meeting still opens with a question about leads.
The questions a report has to answer
There are three, and they do not change between projects.
- Is it better than last period, and better than the same period a year ago.
- What did we do, and how does it connect to the first answer.
- What happens next, and why that.
Anything answering none of the three is surplus. That rule removes roughly half of a typical document, including console screenshots and position tables covering three hundred queries.
Who the report is for
The same document gets read by different people who want different things. The marketer who hired you looks at the trend and the plan: they need to know whether the project is moving and what to tell their own management. The director looks at money and dates, and usually opens only the first paragraph. The developer, where there is one, is looking for the tasks that will land on them.
That shapes the structure: a short summary at the top for the person who goes no further, detail below for the one who does, and technical tasks as a separate list that can be forwarded without the rest. A report written for one of the three is always useless to the other two.
Why average position misleads
Average position is the most popular metric in reports and among the least useful. Three reasons.
First, it averages things that are not comparable. A move from 80th to 40th and a drop from 3rd to 5th cancel out on average, though the second costs money and the first means nothing.
Second, it depends on which queries are tracked. Add thirty new queries the site does not rank for yet and the average gets worse with no change to the site at all.
Third, it merges search engines where there are two. A single figure across two sets of results means nothing, because the results differ. What differs is covered in our piece on Yandex and Google.
Show the distribution instead: how many queries sit in the top 3, top 10, and top 30, and how those numbers moved. It is honest and it reads in three seconds.

What a working report contains
Six blocks, in this order.
- A one-paragraph summary. What changed and what it means. Written last, read first, and half of clients go no further.
- Traffic and its sources, with two comparisons: against last month and against the same month last year. The second matters more because it removes seasonality.
- Position distribution by band, with the change.
- What was done, as a list, each item tied to the goal it serves.
- Indexation: how many pages are in the index, what is excluded and why. The block looks technical and it explains most cases where the work was done and the result did not arrive.
- Next month's plan, in priority order.
Conversions and leads are absent from that list for one reason: without dedicated analytics they are rarely attributed to the channel correctly. Where attribution is set up, that block goes first and pushes traffic into second place.
Year on year beats month on month
February is always worse than January, and August worse than July in almost any niche. Comparing to last month turns seasonality into an achievement or a failure, and in both directions that is false.
Comparing against the same month a year earlier removes the effect. With less than a year of history, saying so plainly is more honest than presenting month-to-month movement as a measure of the work.
Presenting a bad month
Everyone has bad months, and how they are presented decides how long the engagement lasts.
The format that works has three parts: what happened, why, and what is being done. The cause has to be specific: an algorithm update with a date, a migration, seasonality with last year's figures, a new competitor appearing in the results. "Algorithmic fluctuations" with no numbers reads as an excuse, and fairly so.
What not to do is swap the metric. If traffic fell while impressions rose, showing only impressions that month means the client will not believe any figure next time.
Agree in advance which figures are the headline ones and keep that set stable from month to month. Then a bad month reads as a bad month rather than as an attempt to hide something, and the conversation is about causes instead of methodology. Trust is lost on the change of metric rather than on the drop itself: clients take drops calmly when they can see they are being shown the same things they were shown in a good month.
How long this should take
A report for one client takes two to four hours with manual data collection, and under an hour when collection is automated. Across ten clients that difference is a working week a month.
That is the main reason agencies pay for a platform with a report builder: the time saved exceeds the difference in subscription price. For one practitioner with two clients the arithmetic runs the other way, and a spreadsheet does the job.
One decision, made once, cuts the time further: fix the template and stop touching it. A report rebuilt from scratch each month by whim takes three times as long and reads worse, because the client has to find where everything is all over again. A stable structure also makes comparing months possible without recalculating anything.

What does the work, and what it costs
Webmaster consoles and analytics are free, and they hold every number about your own site. The paid tools are for comparing against competitors and for assembling the report.
| Task | Tool | Through gbseo.ru | Retail |
|---|---|---|---|
| Positions, report builder | 499₽/mo | 10 000₽/mo | |
| Competitor and link trends | 1 999₽/mo | 9 000₽/mo | |
| Merging exports, drafting conclusions | 399₽/mo | 1 800₽/mo | |
| Layout and the report template | 499₽/mo | 1 200₽/mo |
Prices from the gbseo.ru catalogue as of 19 September 2026; "retail" is the vendor's own price for the same subscription. The full set is 4 999₽ a month against 36 700₽ at retail. The calculator on the homepage prices any subset. The two platforms differ noticeably on report building, which is covered in their comparison.
Language models deserve their own note here. They draft conclusions from an export well, but every figure has to be checked, and the wording about why something fell has to be written by a person: a model does not know your project and will offer a plausible explanation in place of the real one.
The annual report is a different document
Once a year it is worth assembling something else entirely. It answers questions a monthly report has no room for: which pages produced the growth, which topics did not work, how the competitor set in the results changed, and what was planned and never done.
That last item earns its place. A year's list of undone work almost always explains the gap between expectation and result better than any metric does. The reasons in it usually repeat: no developer time, copy never signed off, waiting on an expert's comment. Saying that once a year costs less than explaining every month separately why a deadline moved.
FAQ
How often should reports go out?
Monthly is enough for any project. Weekly SEO reports show noise: changes in search are rarely visible over a week, and frequent reporting creates a sense of instability where there is none.
Should every tracked query be shown?
No. Distribution by band, plus ten to fifteen key queries listed separately. A three-hundred-row table is neither read nor discussed.
What if the client wants guaranteed positions?
Explain that position depends on competitors' actions and on the algorithm, then replace the guarantee with a work plan carrying measurable interim results: pages indexed, impressions, position distribution.
Should the list of completed work be included?
Yes, tied to goals. A list of tasks with no link to an outcome reads as proof of being busy.
What if there is no result for a third month?
Check indexation first, impressions second. If pages are not in the index it is a technical question, and the conversation should be about that rather than about content.
