An SEO ranking report shows where a client's pages sit in Google for the keywords that matter, how those positions moved since the last report, and what you are doing about it. This guide gives you the sections, a template you can copy, and the rules for reading the numbers without scaring anyone.
Most ranking reports fail the same way. They dump 300 keywords into a table, add a green arrow here and a red arrow there, and send it. The client sees noise. You get a "why did we drop?" call.
A good one answers three questions in under a minute: are we visible, are we moving, and what happens next.
An SEO ranking report is a periodic summary of a site's keyword positions in Google search results. It lists tracked keywords with their current position, the change since the last period, and the page that ranks. Good ones add clicks and impressions, group keywords by intent, and finish with a short plain-language read of what moved and why.
What goes in an SEO ranking report
Keep it to six blocks. Anything beyond that belongs in an appendix.
- Headline summary. Three sentences. Overall direction, the biggest win, the biggest concern.
- Visibility snapshot. How many tracked keywords are in the top 3, top 10, and positions 11 to 20, compared with last period.
- Keyword table. The detail. Columns below.
- Movers. The five biggest gains and the five biggest losses, each with a one-line reason.
- Opportunities. Keywords sitting just off page one with real impressions.
- Next actions. What you will do before the next report, and anything you need from the client.
If your clients are local businesses, add a short local block: how the business shows in the map pack for its core searches. More on that below.
A ready-to-copy ranking report template
Copy this structure into a spreadsheet, a slide, or a report canvas. The wording in brackets is yours to fill in.
Section 1: Summary
- Reporting period: [start date] to [end date], compared with [previous period]
- Keywords tracked: [number]
- Top 3: [n] ([change]) | Top 10: [n] ([change]) | Positions 11-20: [n] ([change])
- One-line verdict: [Improving / Stable / Declining] because [reason]
Section 2: Keyword table
- Keyword. The exact search term.
- Group. Service, location, brand, or informational. Grouping stops a brand term from hiding a weak service term.
- Landing page. The URL that ranks. If it changed, say so.
- Position now. Average position for the period.
- Position before. Same measure, previous period.
- Change. Positions gained or lost.
- Impressions. How often the page appeared.
- Clicks and CTR. Whether the position is turning into visits.
- Note. One short line, only where something changed.
Section 3: Movers and opportunities
- Top 5 gains, with the likely cause (new content, links, a fixed page).
- Top 5 losses, with the likely cause or "investigating".
- Opportunity list: keywords in positions 4 to 20 with meaningful impressions, ranked by impressions.
Section 4: Next period
- Three actions you will take, each tied to a keyword or page.
- One thing you need from the client.
If you want this built and updated automatically, Nike, the ZeusSEO keyword rank tracker produces the keyword table from your Search Console data. It lists position, clicks, impressions, CTR and the position change for each keyword, and you can export the filtered list as a CSV for your own spreadsheet.
Which metrics belong in a ranking report
Rank alone is a thin story. Pair it with the numbers that explain it.
- Average position. The headline number, but never the only one.
- Position bands. Top 3, top 10, and 11 to 20. Counts of keywords per band are easier for a client to read than a hundred individual positions.
- Impressions. Google counts an impression when a user has seen, or potentially seen, a link to your site (Google's definition). It shows demand and visibility. A position can improve while impressions fall if the keyword lost search demand.
- Clicks and click-through rate. Google counts a click when it sends a user to a page outside Google, and defines CTR as clicks divided by impressions (definitions). This is the result that pays. A top-3 keyword with a low CTR usually has a weak title or description, or a results page full of ads and features.
- Ranking URL. When the ranking page switches, the position often swings. Track it.
- Visibility trend. Average position and top-3 / top-10 counts over time, plotted. One chart replaces a wall of numbers.
Leave out vanity metrics. Search volume estimates, "domain scores" and keyword difficulty do not belong in a monthly client report. They belong in planning.
How to read position changes without overreacting
Positions move every day. Treat a single-day change as weather, and a four-week change as climate.
Use averages, not snapshots
Search Console takes the topmost position your link held for each query, then averages across queries. That is a different number from the position you see when you search once. Personalization, location, device and Search features all shift what one person sees. Compare like with like: average to average, period to period. Google defines the calculation, with a worked example, in the Search Console performance report help page.
A rough guide to what a change means
- Plus or minus 1 to 2 positions. Usually noise. Do not report it as a win or a loss.
- 3 to 5 positions, holding for two periods. A real move. Look for the cause: a content update, a new link, a competitor change.
- Page one to page two (or back). Always worth a line. Traffic changes sharply at that boundary.
- Many keywords dropping together. Look for a site-wide cause first: a technical issue, a template change, a core update, or tracking changes.
- One keyword dropping alone. Check whether a different page now ranks for it, or whether a search feature pushed results down.
Always pair a drop with impressions and clicks
A keyword that fell from position 4 to 6 but kept its clicks is a different story from one that lost half its clicks. If you want a fast triage list, filter to positions 4 to 20 with real impressions. These are the pages closest to a payoff. In Nike, the opportunity filter does exactly that: positions 4 to 20 with more than 100 impressions.
Say what you will do
A loss with a plan reads as management. A loss with no plan reads as a problem. Every red number gets one line: cause, action, expected timing.
Local rankings vs organic rankings
Organic rankings and local rankings are two different reports. Do not blend them into one table.
- Organic rankings are the classic blue-link results for a keyword. They are driven by your website's content, links and technical health. Search Console data covers these.
- Local pack and map rankings are the businesses shown with a map. They are driven by your Google Business Profile. Google says local results are mainly based on relevance, distance and prominence, and that there is no way to pay for a better local ranking. See Tips to improve your local ranking on Google.
Distance changes everything for local. The same search from two streets away can return a different set of businesses. That means a single local position number can mislead. When you report local visibility, state the search location and the date, and lean on trends in profile views, calls, direction requests and website clicks rather than one rank.
For a multi-location client, give each location its own small block: its core keywords, the organic position of the location page, and the profile actions for the period. Roll those into one summary at the top.
How often to send a ranking report
Match the cadence to how fast the work moves and how much the client wants to hear from you.
- Monthly is the default for most retainers. It is long enough for real movement and short enough to stay relevant.
- Weekly or biweekly suits launches, migrations, penalties and aggressive campaigns, where a fast signal matters. Keep these to a one-page summary.
- Quarterly works as a strategic review layered on top of the monthly one. Show the long trend and the plan for the next 90 days.
Consistency beats frequency. Send the same format on the same day every period, so the client learns to read it.
For the delivery side, Daedalus, the ZeusSEO client reporting tool lets you build the report once, schedule it to email on a weekly, biweekly, monthly or quarterly cadence, and send a share link instead of an attachment. You can set the link to never expire or to expire at the end of the month. Nike's positions can feed the rank tracker widget on the Daedalus report canvas, so the table you send is the table you track.
For what to write around the numbers, see Building SEO Reports Your Clients Actually Read.
Common mistakes in ranking reports
- Tracking too many keywords. Fifty chosen keywords beat five hundred scraped ones. Pick terms tied to services the client sells.
- Mixing brand and non-brand. Brand terms rank first for almost everyone. They inflate the average and hide the real picture.
- Reporting rank with no outcome. Every report should connect to clicks, calls or leads somewhere.
- Changing the format every month. Clients cannot compare what keeps changing.
- Hiding bad news. Report it early, with the cause and the plan. It builds trust.
- Ignoring the date range. Always state the period and the comparison period on the first line.
Key takeaways
- Six blocks: summary, visibility snapshot, keyword table, movers, opportunities, next actions.
- Report position bands and trends, not just individual positions.
- Pair every rank with impressions and clicks.
- Treat moves under 2 positions as noise. Look for patterns across keywords.
- Keep local and organic rankings in separate sections.
- Send monthly by default, on the same day, in the same format.
Ready to automate the table and the delivery? See the ZeusSEO pricing page and pick the plan that fits your client list.
