What a sample SEO site analysis report should actually include
Abdullah Javaid

If you've searched for a sample SEO site analysis report, you're probably trying to answer one question: is the report you got (or the one you're about to send) actually useful, or is it forty pages of scores nobody can act on? A useful report does three things: it shows what search engines currently see on the site, where the keyword gaps are relative to competitors, and what specific pages need which specific changes. Everything else is decoration.
Most SEO reports are vanity metrics in a nice template
Search for any seo report template pdf and you'll find the same skeleton repeated: an overall "health score" out of 100, a pie chart of traffic sources, a list of meta descriptions under 160 characters, and a closing slide that says "continue monitoring." None of that tells you what to do on Monday morning.
The health score is the worst offender. It compresses dozens of unrelated signals (site speed, backlink count, keyword density, mobile usability) into one number, and that number moves for reasons that have nothing to do with rankings. A site can score 92 and still be invisible for its target keywords because nobody checked whether the pages are even indexed. A report that leads with a score is optimized for looking finished, not for being correct.
If you're building or requesting a template, the fix is structural: replace the score with a short list of findings, each one tied to a specific URL and a specific fix. A row that says "12 product pages return a 4xx status, see attached URL list" is worth more than any composite grade.
Start with what search engines actually see
Before anything about keywords or content, a report needs a section on indexing and crawl status. This is the part most templates skip, and it's the part that actually determines whether the rest of the audit matters. If a page isn't indexed, its keyword targeting, backlink profile, and on-page structure are irrelevant, because it can't rank for anything.
What this section should contain, at minimum:
- Which pages are indexed versus submitted, pulled straight from Search Console data rather than a third-party crawler's guess
- Any pages flagged with crawl errors, soft 404s, or "discovered, not indexed" status
- Whether the sitemap matches what's actually indexed, or whether there's drift between the two
We built this into hrefStack's dashboard for exactly this reason: Google Search Console connects directly, so keyword insight and indexing status sit in the same place as the content pipeline instead of a separate tool you have to cross-reference by hand. A report that's checking indexing status against a screenshot from three weeks ago is already stale by the time a client reads it.
Keyword coverage should show gaps, not just rankings
This is the section people ask "what to look for in seo report" about most often, and it's usually the weakest part of the deliverable. A rankings table that lists where a site sits for fifty keywords is descriptive. It tells you where you are. It does not tell you where you're losing.
The more useful version of this section answers a different question: which keywords do competitors rank for that this site doesn't rank for at all? That's a gap analysis, not a rankings snapshot, and it changes what the report is for. Instead of "here's your position," it becomes "here's what to write next."
This is close to the whole reason we built the Competitor Intelligence Engine into hrefStack the way we did. It runs a domain-intersection query against DataForSEO, pulls the keywords competitor domains rank for, and filters that list down to search volume above 100 and keyword difficulty under 80, before any drafting starts. Most "AI SEO" tools generate content first and research never, so you get fluent articles for keywords nobody's searching, or keywords a competitor already owns outright. A report that skips the gap analysis has the same blind spot: it can confirm what you already rank for, but it can't tell you what's actually winnable.
On-page findings need to point to changes, not just problems
An on page seo report sample that lists issues without prescribing fixes is a to-do list with the actions removed. "Title tag is 68 characters" is an observation. "Title tag exceeds the ~60-character display limit and gets truncated in search results, rewrite to lead with the primary keyword" is a finding you can hand to a writer.
The pattern to watch for in your own reports: every on-page row should have three columns, not two. Not just "issue" and "page," but "issue," "page," and "recommended change." If a report can't fill in that third column, the issue probably isn't worth including yet, or it needs more investigation before it's report-ready.
Common on-page items worth keeping in this section: missing or duplicate H1s, thin content on pages targeting competitive terms, internal links pointing to redirected or dead URLs, and image alt text that's either missing or stuffed with keywords instead of describing the image. Each one gets a URL and a fix, not a category count.
Client seo reports should separate what changed from what's next
Client seo reports have a different job than internal audits. An internal audit is a snapshot. A client report is a record of what happened since the last one, plus a short list of what's coming. Mixing those two purposes into one document is why so many client reports run long and say little.
The cleanest structure splits into two halves. The first half is retrospective: what was published, what indexing status changed, which rankings moved and for which keywords. The second half is prospective: what's queued next and why, tied back to the gap analysis rather than a generic content calendar. A client reading the second half should be able to see the logic, not just a list of upcoming blog titles.
Scheduled publishing is part of this too, and it's worth being direct about a failure mode that rarely shows up in reports: a scheduled post that silently fails to publish looks identical, from the client's side, to a post that was never written. Both show up as a gap in the content calendar with no explanation. That's part of why hrefStack's publish step includes retry logic across all six supported targets (Sanity, WordPress, Ghost, Shopify, Drupal, and Wix), so a failed publish gets retried instead of just disappearing from the queue.
A sample structure you can reuse
If you're assembling your own template rather than using someone else's PDF, this ordering holds up across most sites:
- Indexing and crawl status: what's indexed, what's not, what changed since last check
- Keyword gap analysis: competitor terms you don't rank for, filtered by volume and difficulty, not a full rankings dump
- On-page findings: issue, page, recommended fix, in that order
- Technical items: site speed, mobile usability, structured data, only the items with a clear owner and fix
- What published since last report: with confirmed indexing status, not just "submitted"
- What's next and why: tied to the gap analysis, not a generic calendar
Five to eight pages covering those six sections beats forty pages of charts. The test for whether a section belongs is simple: can someone read this row and know what to do next? If not, cut it or rework it until they can.
FAQ
What should a sample SEO site analysis report include? At minimum: indexing and crawl status, a keyword gap analysis against competitors (not just your own rankings), on-page findings tied to specific URLs and fixes, and a short section on what's changed since the last report. Skip the composite health score.
What's the difference between a technical SEO audit and a client SEO report? A technical audit is usually a one-time deep dive into crawlability, site speed, and structured data. A client report is recurring and should focus on what changed since the last one and what's planned next, using the audit's findings as background rather than repeating them in full each time.
How often should client SEO reports go out? Monthly is the common default, though it depends on how often content actually publishes. A report with nothing new to say since last time is a sign the cadence is too frequent for the amount of work happening, not a sign to pad the report.
Is a PDF report enough, or should it link to live data? A PDF is fine as a summary, but indexing status and rankings change between report dates. If the underlying data isn't linked or refreshable, the PDF is describing a moment that may already be out of date by the time it's read.
What's a red flag in an on-page SEO report sample? Any finding without a URL and a recommended fix attached. If a report groups issues into vague categories like "content quality" or "technical health" without naming pages, it's summarizing a crawl tool's output rather than doing the analysis.
If you want to see how the gap analysis and indexing pieces of this actually work together in one dashboard instead of stitched-together tools, hrefStack's homepage walks through the pipeline and pricing, or you can go straight to sign up and connect Search Console to see your own indexing status against a live keyword gap report. For the technical side of what to check before you write the report, see our technical SEO audit guide.


