Mark Does IT

Buckets · needsomebuckets.com · 2026

Buckets

A fast React app that search engines saw as an empty page — audited route by route, with the fix list and a pinned baseline to measure against.

Sector
Pickup-sports game finder · marketplace
Status
SEO audit delivered
Services
  • SEO audit
  • Technical SEO plan
  • AI SEO
Stack
  • Hive SEO crawler
  • Replit-hosted React SPA (client's)
  • Page-by-page captures
  • Pinned baseline

Visit needsomebuckets.com

Buckets — full-page screenshot
Buckets on a phone
16
findings at baseline: 3 critical, 4 high, 9 medium
3
public routes crawled and captured
1.6 KB
of HTML per page — and no body text a crawler can read

Delivered

  • Baseline crawl #74 across the home page, create-a-game flow and player portal, with every page captured
  • Root cause named: an empty-shell single-page app, no sitemap, no structured data — decent head tags, missing body
  • A prioritised fix plan: prerendered public routes, real sitemap and robots, SportsEvent and Place structured data, per-route canonicals
  • Pinned baseline so the after can be measured honestly — the same method that took Montgomery from 1 crawlable page to 38

01The brief

Buckets came on as an SEO client in September 2026 alongside Beekon Light and Blended Barbers. The app itself works well; the question was why a site about finding pickup games didn't show up when people searched for exactly that.

02What I found

Baseline crawl #74 covered the home page, the create-a-game flow and the player portal: 16 findings — 3 critical, 4 high, 9 medium. Every route serves the same 1.6 KB shell with an empty root element, so the real content exists only after JavaScript runs; there is no sitemap (the app answers /sitemap.xml with the home page), and no structured data. The head tags — title, description, Open Graph — are actually decent; the body is what's missing. Every page was captured as a safety net before anything changes.

03The plan

Prerender or server-render the public routes so the HTML carries real text; publish a real sitemap and robots file; add SportsEvent and Place structured data so games are understood as games; give each route its own canonical and Open Graph tags; then run the AI-visibility baseline so ChatGPT and friends can name Buckets when someone asks where to find a pickup game. Nothing ships without the client's approval — that gate is permanent — and the pinned baseline is what the after gets measured against.

Your idea could be next.

A short call is all it takes to find out what's possible — and how fast.