Launching the new High Jump Digital blog: built for results. Featured image.
← Back to Blog
Blog / case-studies
case-studies14 min read

Launching the new High Jump Digital blog: built for results

A working tour of the new HJD blog system. Case-study openers, KPI strips, channel splits, audit gauges, SERP teardowns, and the editorial primitives.

High Jump Digital

The old HJD blog was a wall of text. The new one is built around how we actually communicate results to clients and prospects: case-study openers, KPI strips, channel splits, keyword tables, audit gauges, traffic charts, SERP and ad teardowns, plus the editorial primitives that hold them together.

This post is a working tour. Every component below is a real one available to anyone publishing here. Use it as a reference for what's possible when you're scoping a post.

A note on the numbers

All metrics, keywords, ad copy, and client names below are illustrative samples chosen to show what each component looks like when populated. Nothing here is real reporting from a real engagement. Real posts pull real data from Search Console, Ahrefs, GA4, the audit, the campaign, the engagement.

Article frame: hero + TOC

Every post opens with an <ArticleHero> (rendered automatically at the top of this page by the /[slug] route). The <TableOfContents> you just used sticks to the top of long-form posts. That's it for the frame primitives. Keep it short.

For case-study posts, swap the article hero for <CaseStudyHero> further down the body. Logo plate, industry chips, three result pills.

Sample · illustrative onlyIndustry · sectorSEO + content

A 90-day organic-lead lift

Logo plate on the left, industry chips, headline, three bold result pills. Pass `logoImage` (URL) to render a real client logo in the white plate; otherwise it falls back to the `logo` text wordmark (HTML allowed for <br/>). Real case studies replace this with the actual client (with sign-off), the actual industry, and the actual numbers.

+312%
Organic sessions
3.2×
Qualified leads
94
Lighthouse · home

Showing results: the agency primitives

This is the bulk of what makes HJD's blog different from a generic agency blog. The components in this group are tuned for showing channel performance, audit output, keyword movement, ad creative, and SERP changes. Every one of them needs real data. Never lift example numbers from this post.

KeyMetric · one big number per post

Save this for the headline result. The thing the founder will quote at their next dinner.

312%
Sample · 90-day uplift

The headline number
that founders quote

The big-number block sits inline mid-post. Pair it with a one-line label and a one-line caption. Real posts use the actual hero metric from the engagement; never reuse this 312%.

ResultsStrip · four KPIs across a campaign window

Sessions / 30d
128k
▲ +18.4% vs prev
Conversions
2,914
▲ +9.1%
Cost / acq
£42.10
▼ −12.6%
ROAS
3.84×
▲ +0.42

KeywordTable · for SEO posts

Show the move. Keyword, volume, difficulty, rank delta. Pull from real Search Console or Ahrefs data only.

KeywordVolumeDifficultyWasNowΔ
sample primary keyword2,4007338434
sample secondary term1,9005222220
sample 'near me' term3,60068n/a7new
sample long-tail term8803114113
sample broad term540498113

ChannelMixBars · channel-split for paid-media reports

Sample spend split · April
Total · £51,500
Google Search
£18,200
Meta paid social
£14,400
Performance Max
£10,100
LinkedIn ads
£5,400
Email retargeting
£3,400

TrafficChart · six-month line for organic-traffic posts

Solid line is the period. Dashed is the year prior.

Organic sessions · 6 months (sample)
This yearLast year
NovDecJanFebMarApr

SerpPreview · for title-tag and meta posts

For posts about title-tag rewrites, meta descriptions, schema. Mock the SERP so readers can see exactly what changed.

Sponsoredexample.com › services › category

Sample sponsored result · 24-hr quotes · ACME Co

Specialists in sample target query across the region. Free site survey, fixed quote within 24 hours. 4.9★ across 280+ Google reviews.

example.com › services › detail-page

Sample organic result · fast, insured, licensed since 2009

Body copy describing the ranking page. Teams operating across the region. Sample target query matched in description.

competitor.com › services

Competitor sample · industrial specialists since 1998

Industrial-grade services for warehouses, factories and commercial sites. Hours, contact, free site visit.

AdPreview · Meta and Google variants

Two formats. A Meta feed ad on the left, a Google text ad on the right. Use to teardown winning creative or show before/after copy in paid posts.

AC
ACME Co
Sponsored
Got a deadline and a project that won't wait? The region's most-reviewed specialists. Free 24-hr site assessment.
EXAMPLE.COM
Ad·example.com
example.com › services › category

Sample target query · fixed quote in 24h | ACME Co

Licensed, fully insured, 4.9★ across 280+ reviews. Free site assessment region-wide. Talk to a real specialist today. No call centre.

Free QuoteOur ProcessReviewsCall Now

AuditScoreCard · three half-gauge dials

Cyan = 80+, amber = 50 to 79, red = under 50. Use at the top of audit posts, before the findings list.

84
Performance
Lighthouse · home
61
SEO health
200-point scan
38
Accessibility
WCAG 2.1 AA

SiteAuditFindings · severity dots + counts

Audit-output list with severity dots. Use after AuditScoreCard to break down what's behind the numbers.

Missing meta descriptions
14 service pages auto-generating low-CTR snippets in SERPs.
14 pages
Broken internal links
28 links pointing to URLs that 404'd after a previous site migration.
28 links
Title tags over 60 characters
9 pages truncated in SERPs. Worth a manual rewrite, not a script.
9 pages
Images without ALT text
62 images. Mostly old gallery uploads. Content team can batch-fix.
62 imgs
JSON-LD schema present
Service schema shipping correctly across the priority pages.
OK

BeforeAfter · screenshot delta

Two-card screenshot delta. Use for site rebuilds, ad-creative tests, conversion-rate posts. Pin a metric to each card.

Before · sample
Avg session · 32s
1.8%

Conversion rate. Single CTA, buried below the fold, no social proof. In real posts, attach a screenshot via the `image` prop.

After · sample
Avg session · 1m 14s
5.2%

Conversion rate. New hero, two-CTA layout, real photography, review snippets. Pin the metric that matters to the case.

TimelineRecap · campaign milestones with phase chips

Every event gets a phase chip (audit, build, launch, optimise) so the reader can track what kind of work happened when.

  1. Week 1Audit

    38-point technical audit shipped

    Critical fixes. Title rewrites, schema gaps, broken redirects from a previous migration. Dev-ready CSV export to client engineering.

  2. Week 4Build

    Technical rebuild complete

    All 38 items closed. Lighthouse on the homepage went from 64 to 96. Indexed pages climbed from 47 to 112 within ten days.

  3. Week 8Launch

    Keyword cull + content sprint live

    Killed 22 thin pages, merged 9 into 3 cornerstones. Shipped four new service-page rewrites tied to commercial-intent terms.

  4. Week 12Measure

    Pipeline impact recorded

    Qualified form-fills tripled vs. the previous quarter. Average deal size held, so a real lift in qualified leads, not a vanity stat.

Editorial: callouts, quotes, steps

These are the primitives that hold every post together. The connective tissue. Use them sparingly. One CalloutBox per ~800 words, one quote per case study, steps when the post is genuinely a playbook.

CalloutBox · five tones

i

Heads up

Default cyan tone. Use for the structural note that doesn't fit any of the semantic colours.

Good to know

Info-blue tone. Use for context that helps the reader without being a warning or a confirmation.

You're already winning

Success-green tone. Use to confirm something the reader has likely already done right.

!

Watch this

Warn-amber tone. Use for the gotcha. The thing that sinks 80% of attempts at this.

Don't do this

Danger-red tone. Use sparingly, only for genuine 'this will hurt you' material.

TipBox · quick aside, lighter than CalloutBox

Tip

Inline aside with a Tip badge. Use for the obvious-but-easy-to-miss thing. One or two sentences max.

PullQuote · real client sentence with attribution

Use a real client quote pulled from the transcript, call recording, or a public source (LinkedIn post, podcast, blog). Pass sourceUrl and the avatar is derived automatically from the source's favicon. No need for per-author headshots. Pass source for the attribution row at the bottom.

"

Sample pull quote · this slot is for a real client sentence. The favicon next to the attribution is pulled from the sourceUrl automatically. LinkedIn here, but it'd be the client's company favicon if the quote came from their site.

Sample Client Name
Founder · ACME Co
SourceLinkedIn, March 2026

For quotes without a public source, omit sourceUrl and the avatar slot collapses entirely. No fake placeholder. Pass avatarUrl explicitly if you have a real headshot or company logo to use instead.

StepBlock · numbered playbook, 3 to 6 steps

1
Plan the post

Pick the topic, the angle, and the components you'll use. 1,200 to 2,000 words is the band.

2
Gather real data

Stats, quotes, case-study numbers. Every claim needs a source. Never lift example values from the design system.

3
Write the MDX

Use components freely. Validate before you publish. The MCP catches title length, description, word count.

4
Publish via the agent

publish_post commits to hjd-blog and triggers a Railway redeploy. Live within 2 to 3 minutes.

ProsCons · two-column tradeoff

Three real points beat six generic ones. Use for channel decisions, technology calls, build-vs-buy.

MDX-based blog
Component-rich. Case studies, KPI strips, audit gauges built in
Agent-publishable end-to-end. No human in the publishing loop
Site code and content cleanly separated by repo
WordPress blog
Plugin sprawl. Hard to keep secure
Editor-first. Content shape constrained by Gutenberg
Slow LCP unless heavily caching-tuned

DeliveryComparison · neutral framing

DIY vs in-house vs agency, neutrally framed. Use in 'how to choose an SEO partner'-type posts. Don't put HJD on the right by default. This works because it's honest.

DIY toolsIn-house teamAgency
Speed to startTime before useful outputDaysMonths · hire + onboard1 to 2 weeks
Annual cost(Mid-market band)£3 to 8k£90 to 180k£40 to 120k
Specialist depthSEO + paid + creativeGeneralistUsually one specialismAll three, in parallel
Best whenStarting from zeroYou're at scale, brand-ledYou need range, fast

Definition · inline glossary

Use the first time a jargon term shows up in a post. Two-letter monogram on the left, definition on the right.

GEO
Generative Engine Optimization

The practice of structuring content, schema and citations so AI search products (ChatGPT, Perplexity, Google AI Overviews) cite your page when answering a query. The 2026 evolution of SEO.

RegionCallout · UK / AU / TH offices

Three-cell strip showing the regional contacts. Use on local-market posts and 'work with us' sections.

United Kingdom
+44 20 3404 2889
Australia
+61 8 6243 1727
Thailand
+66 9 2880 0810

Checklist · action list with done states

Mark done as readers go. Works as the body of any 'pre-launch / pre-pitch / pre-audit' post.

  • Verify Google Search Console
    Single TXT record. Five minutes.
  • Run a 200-point technical audit
    Use HJD Site Audit or Screaming Frog. Export to CSV.
  • Rewrite top-10 page titles
    Front-load keyword. Cap at 60 characters. Brand suffix last.
  • Claim local listings (GBP, Bing, Apple)
    Identical NAP across all three. Photos. Hours.

ImageFeature · full-width media block

Sample · GA4 organic-traffic dashboard · component supports a caption strip with a left-aligned label and right-aligned creditHJD Studio

Conversion: service plugs, CTAs

ServicePromoCard · inline soft-pitch

Drop in mid-post when the topic maps to a service page. One per post, never two.

Want help running this kind of audit?
SEO services · 200-point scan, dev-ready exports
See SEO →

CTABanner · full-width audit/quote banner

Use at the foot of conversion-intent posts.

FREE SITE AUDIT

No credit card. Full PDF. Real recommendations from real humans on the team.

Run my audit

FurtherReading · outbound references

Use this to show your work. Better than a 'sources' footnote.

<NewsletterCTA>, <AuthorCard> and <RelatedPosts> are rendered automatically by the /[slug] route after the article body. You don't need to include them in the MDX.

How to publish a post

The agent-driven publishing flow uses the blog-publisher MCP. Same plugin Capture AI uses, multi-tenant.

1
Pick the topic

Check existing posts via list_posts to avoid duplication. Topic comes from real engagement work, the editorial calendar, or a research brief. Never from this showcase post's examples.

2
Gather real data

Real numbers, real citations, real quotes. If a case study, get sign-off from the client first. The design system is for structure, not content.

3
Validate

validate_post catches title length (50 to 65), description length (150 to 160), and word count (1000 to 2500). Fix all warnings before publishing.

4
Publish

publish_post commits MDX to highjumpdigital/hjd-blog and triggers a Railway redeploy. Site rebuilds with the post in 2 to 3 minutes.

!

Hard rule for any agent publishing here

The design bundle's example content (numbers, names, quotes, scenarios) is illustrative only. Like Lorem Ipsum with specifics. Never lift it into a post. Every component instance needs real data, real citations, or be clearly labelled as a sample, like the examples above.

High Jump Digital
High Jump Digital
High Jump Digital

Performance marketing across UK, AU and TH. Writes about SEO, paid ads, and the unsexy basics that compound.

Performance digest. One email, once a month. No fluff.

What we've shipped, what's worth reading, and one honest mistake we made.