01 / Management summary
Status in five sentences
The technical base is strong: own Astro stack, self-hosted, fast load times (LCP 1.4 s in the demo value). The site currently gives away visibility in three places: duplicate meta descriptions in the blog, a missing content cluster for local queries, and a tracking setup without Consent Mode (demo finding). The biggest levers are on-page structure and tracking hygiene – not more budget. This sample deliberately shows what critical findings would look like.
Honest assessment: In this demo scenario, follow-up work is worth it – but only after the tracking cleanup. Anyone optimising on an unreliable measurement base is optimising blind.
02 / Technical status
Base: performance & indexing
| Check | Actual | Target | Status | |
|---|---|---|---|---|
| LCP | 1.4 s | < 2.5 s | OK | |
| CLS | 0.16 | < 0.1 | Check | |
| INP | 120 ms | < 200 ms | OK | |
| Indexing (GSC) | 4 URLs "excluded" (demo) | Error-free | Critical | |
| Heading structure | 2 duplicate H1 (demo) | Unique | Check | |
| Accessibility | Contrast AA, focus visible | WCAG AA | OK | |
Demo finding: the CLS value is deliberately set as a "check" example – this is what a medium finding with a concrete fix path looks like.
03 / On-page & content
Content & search intent
- Duplicate meta descriptions on 3 blog URLs (demo) – wasted click potential in search results.
- No content cluster for local queries ("consulting [region]") – search intent is not served.
- Internal linking: blog → services exists, but without contextual anchor texts.
04 / Tracking & data quality
Measurement: what is captured – and what is not?
Demo finding: GA4 runs without Consent Mode, conversion events are undocumented. Any optimisation would run on a measurement base that is neither privacy-safe nor reliable. In a real project this would be the first fix before anything else.
- Consent Mode v2 missing (demo)
- No DataLayer concept (demo)
- Server-side tracking not assessed, since the client setup is impure (demo)
05 / Competitive comparison
Where do you stand in comparison?
| Competitor | Visibility | Content gap vs. you | Technology |
|---|---|---|---|
| Agency example A (national) | High | Broad guides, little depth | Page builder, slow |
| Freelancer example B (regional) | Medium | Local content exists | Off-the-shelf WordPress theme |
| Platform example C (DIY) | Low | No consulting pages | Subdomain site builder |
06 / Quick wins
Immediately actionable (< 2 h effort)
- Individualise meta descriptions of the 3 blog URLs (demo)
- Resolve duplicate H1 (demo)
- Activate Consent Mode v2 (demo)
- Set 4 internal links with contextual anchors
- Remove leftover noindex entries from sitemap (demo)
07 / Priority list
What we tackle in which order
| # | Action | Impact (1–5) | Effort (h) | Priority |
|---|---|---|---|---|
| 1 | Tracking cleanup (Consent Mode, DataLayer) | 5 | 6 | High |
| 2 | Fix indexing errors | 5 | 4 | High |
| 3 | Build local content cluster | 4 | 12 | Medium |
| 4 | Clean up meta/heading structure | 3 | 2 | Low |
08 / Recommendation
Next step
In the demo scenario: first clean up tracking and indexing (step 01 fixes), then a strategy workshop for the local cluster. Deliberately no recommendation for ads budget – on an unreliable measurement base it would be burned money. This is what an honest recommendation looks like, even when it argues against our own revenue.
Appendix
Tools, limits & demo note
Tools used: Search Console, Screaming Frog, PageSpeed Insights, Lighthouse, manual checks.
Limits of this analysis: No server log evaluation, no access to ads accounts (demo scope).
Demo note: This document is a self-audit sample. Client, structure and assessment logic are real – all metrics and findings are fictional and serve demonstration purposes only.