What a good SEO report contains, with an example

You want a report that leads to changes, not a stack of charts. This guide shows the sections that matter, the tools to use, and an example on a product page. You can copy the outline and adapt it to your site.

By , founder of Porteur · Updated 13 September 2026 · Markdown

What an SEO report is for

A report exists to drive decisions. It tells you what to change on which page, in what order, and why.

It is not a dashboard export. It is a short narrative with evidence, tied to your pages and your funnel.

  • Decide what to fix first on the site this month
  • Pick the pages to expand or prune
  • Choose three queries to target on one page
  • Agree which technical issues to ship and which to park

The sections a good report contains

  • Summary: three actions, why they matter, expected impact
  • Search performance: queries, pages, intent, clicks and CTR
  • Technical health: indexing, sitemaps, Core Web Vitals
  • On page: titles, meta descriptions, headings, internal links
  • Content gaps: keywords and questions you do not cover
  • Links: referring domains and broken backlinks to reclaim
  • Competitors: who owns the SERP and where you can win
  • Plan: owners, steps, and dates for the next 28 days

You can add rank tracking screenshots. Keep them to the queries you target. Ten lines beat a wall of positions you do not influence this month.

The worked example: a SaaS pricing page

Fictional site: yourproduct.com. Page: /pricing. You sell a small team plan and a business plan.

Goal: more trials from the pricing page. You track a click on “Start trial” as a conversion in Google Analytics 4. You track organic impressions and clicks in Google Search Console.

  • Target queries: “yourproduct pricing”, “yourproduct cost”, “yourproduct free trial”, and one generic, “[category] pricing”
  • Current issues: title truncates, no comparison block, layout shift on load, thin FAQ
  • Plan: fix the title and meta description, add a comparison table, stabilise layout, expand the FAQ with three questions users ask

Search performance: turn Search Console into decisions

Use Google Search Console Performance. Filter to Page, equals /pricing. Compare last 28 days to the previous 28 days. Scan Queries and Pages tabs first, then Devices and Countries if relevant to you.

  • Look for high impressions, low CTR queries: these need better titles and meta descriptions
  • Find “striking distance” queries with positions around 8 to 15: add a section or internal link support
  • Spot cannibalisation: several pages for one query with similar intent
  1. Collect the query set

    Export the Queries for /pricing. Keep terms with brand and near brand intent, and one or two generic modifiers that fit the page.

  2. Map intent to the page

    Group terms by intent: price, trial, discount, comparison. Drop any that do not match a buyer on the pricing page.

  3. Write actions per query group

    For price: tighten the title and meta description. For trial: surface the “Start trial” button near the fold. For comparison: add a short “YourProduct vs X” row in the table.

Example fix on /pricing. Before: Title, “Pricing | YourProduct”. After: “YourProduct pricing, plans and free trial”. You bring price and trial into the snippet and keep it under about 60 characters. Pair it with a meta description that says what changes by plan in about 155 characters to avoid truncation.

Technical health: indexation and Core Web Vitals

A report shows the one or two technical issues that block growth. It does not paste a thousand line crawl export.

  • Indexing: is /pricing indexed, canonicalised as itself, not excluded
  • Sitemaps: is the page in the XML sitemap and discovered
  • Core Web Vitals: LCP under 2.5 seconds, CLS under 0.1, INP under 200 ms, on mobile

Tools that help. Google Search Console, Indexing and Pages for coverage. PageSpeed Insights for field data and Lighthouse for lab tests. Chrome DevTools Performance for layout shift and long tasks. GTmetrix and WebPageTest add waterfalls and test locations if you need them. Lighthouse is also in Chrome DevTools and as a CLI.

  1. Check coverage in Search Console

    Open Pages under Indexing. Find /pricing. Confirm it is indexed, not soft 404, not Alternate page with proper canonical.

  2. Test performance

    Run PageSpeed Insights on /pricing. Note LCP element and size. If CLS spikes, list the elements that shift and why.

  3. Name one fix per metric

    For LCP: server render the hero and optimise the hero image. For CLS: set size attributes on plan cards. For INP: delay non critical scripts until user interaction.

Content gaps you can close

You will have questions that searchers ask which your pricing page should answer. Add them only if they belong on a pricing page. Push the rest to a guide or a comparison page and link from pricing.

  • Find People also ask for “yourproduct pricing” and “[category] pricing”
  • Use AnswerThePublic or AlsoAsked for question lists
  • Use your support inbox to source real questions
  • Pick three that buyers ask before they click “Start trial”

If you must tackle a generic like “[category] pricing”, add a short explainer box on /pricing and publish a full guide at /guides/[category]-pricing. Link both ways. Your report should show the draft outline, not just the keyword list.

Competitors and rankings that matter

Track a small set of target queries. Weekly is enough for most small sites. SE Ranking offers rank tracking with keyword and competitive research. Ahrefs, Semrush, and Moz can also track positions. SpyFu focuses on competitor keyword history, which helps when you pick which generic terms to pursue.

  • Who ranks for “yourproduct pricing” and “[category] pricing”
  • What page type wins, pricing page or a guide
  • The SERP features present: People also ask, sitelinks, AI Overview as of 2026

Your report should show one screenshot of the SERP and one gap list. Example gap: rivals have comparison pages, you do not. Action: publish /compare/yourproduct-vs-rival and link to it from /pricing. Do not list every rival keyword. Show three you can move within 28 days and the content plan for one of them.

A dashboard export is not a report

ItemDashboard exportGood report
PurposeShow all metricsDrive three actions in 28 days
LengthMany chartsShort narrative with evidence
ScopeWhole siteSpecific to pages and queries
ToolsWhatever is easy to connectWhatever proves the point
OwnerNobodyNamed owner and date per action

If you receive a PDF with 40 pages of charts and no actions, reject it or ask for the one page summary with owners and dates. If you produce the report, write the summary first. Then add only the evidence needed to support it.

Questions to ask of any SEO report

  • What three changes will you ship in 28 days, on which pages
  • Which queries will those changes affect, and how
  • What will you stop doing to make time for those changes
  • Which owners and dates are named, and are they realistic
  • What will you measure in Search Console and in GA4 to judge success

Questions

Sources

Check my site, free

Get a free check from a URL to see three findings on your site, the searches around it and who else appears, in about thirty seconds.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next