SEO reports fail in two directions: the day-long masterpiece nobody asked for, and the dashboard link nobody opens. The working version takes one hour, uses free tools, and ends in five decisions.

Here is the template, the timed hour and the rules that keep it honest.

The five-section template

1. Headlines non-brand clicks, MoM + YoY 2. Movers top 5 up, top 5 down, each with a why 3. The reports quick wins, decay, cannibalization counts 4. Incidents updates, breaks, fixes shipped 5. Actions five, each with an owner one page; the appendix is optional, the actions are not
One page, five sections, and section five is the reason the other four exist.

The hour, timed

0:00-0:15, headlines. Search Console, non-brand filtered per the saved views: clicks and impressions, this month vs last month and vs the same month last year. Note both numbers and one sentence of interpretation, which is harder and more valuable than the numbers.

0:15-0:30, movers. Compare mode, queries and pages, top five risers and fallers by clicks. For each big mover, sixty seconds of why: a SERP look, a feature check, a glance at the change log. "Fell because an AI overview landed" and "fell because we broke the template" are different rows in section four.

0:30-0:40, the derived reports. Quick wins found, decay flagged, cannibalization collisions: the three reports summarized in counts plus the top item of each. The Website Ranking Checker generates these from your Search Console data, which is what makes this block ten minutes instead of thirty.

0:40-0:50, incidents. Anything from the monitoring layer, any confirmed updates from the status dashboard, any deploys that touched SEO surface, and what was done about each.

0:50-1:00, the five actions. Written from what the hour surfaced: push these two quick wins, refresh that decaying page, resolve that collision, watch that fresh drop. Each with an owner, even when every owner is you.

The honesty rules

RuleBecause
Same windows, every monthMoving the goalposts hides in flexible dates
YoY beside every MoMSeasonality impersonates success and failure
Non-brand leadsBrand traffic is reputation, not SEO progress
Average position gets a caveat or gets cutIt worsens as sites grow; unexplained, it misleads
Losses reported with causesA report that only explains wins is marketing

The average-position rule deserves its footnote in every report that includes the metric: growth drags the number down through mix shift, and a stakeholder who once catches that "worse" number next to rising traffic will distrust the report forever unless the report explained it first.

Reporting upward

For non-SEO readers, the report is the summary paragraph: visits and direction in plain sentences, what happened, what you are doing. Three sentences, written last, placed first.

Everything else is the appendix they can trust exists. The paradox of reporting: the more decision-shaped the one page is, the fewer questions the appendix ever gets.

Why monthly, and why an hour

Monthly matches how rankings actually move: weekly reports amplify wobble into narrative, and quarterly ones let problems age. The hour cap is not austerity; it is what makes the habit survivable, and a report that ships every month for two years beats a masterpiece that shipped twice.

The five actions loop into next month's report: section four opens with what last month's actions did. That loop, actions to outcomes to new actions, is the entire difference between reporting and record-keeping.

The one-line takeaway: one page, five sections, one hour: headlines with YoY beside MoM, movers with causes, the three derived reports, incidents, and five owned actions. Free tools cover all of it, and the actions loop is what makes it a system instead of a scrapbook.