Cyrus

Optimization Analysis — UPick Atlas + Waterfall Atlas

← All research
research/optimization-analysis-2026-04-26.md

Optimization Analysis — UPick Atlas + Waterfall Atlas

Date: 2026-04-26 06:00 UTC Method: Compare our shipped pages vs. top SERP competitors + Omar's framework


TL;DR — biggest gaps to fix

  1. No JSON-LD on either homepage — should be WebSite + Organization + BreadcrumbList. Easy fix.
  2. Waterfall Atlas homepage <title> is just "Waterfall Atlas" — should target "waterfalls near me" (110K vol). Major SEO miss.
  3. Both sites have ZERO images on homepages — competitors have 18-22 each. Image schema markup also missing.
  4. Word counts are too thin — competitor pages have 2,400-55,000 words; our state hubs likely have <500. Google rewards depth.
  5. No "Last updated" date markers — PYO has "2026 Colorado..." in their H1. Freshness signal Google rewards.
  6. PYO uses 2026 [Crop] U-Pick Farms in [State] as H1 — adds year, state, intent. We use generic "Pumpkin Patches in Georgia."

Side-by-side data

SignalUPick homeWaterfall homePYO state page (5.5K visits/mo)thenovelturtle.com (#1 waterfall)offtheeatenpathblog.com (#3 pumpkin)
Page size154 KB180 KB45 KB113 KB507 KB
Title length63 chars (good)16 chars ❌41 chars53 chars47 chars
H1"Pumpkin Patches, Apple Orchards & U-Pick Farms Near You" ✅"Waterfall Atlas helps you find real US waterfalls..." ❌ verbose"2026 Colorado Strawberry U-Pick Farms and Orchards - PickYourOwn.org" ⭐ year + state + crop"Easy Waterfalls near Franklin, NC" ⭐"The Top 11 Pumpkin Patches Near Charlotte NC" ⭐
H2 count65632
JSON-LD0 ❌0 ❌0 (they're old)1 ✅1 ✅
Images0 ❌0 ❌22 ⭐20 ⭐18 ⭐
Word count (body)~unknown low~unknown low2,423 ⭐9,417 ⭐⭐55,923 ⭐⭐⭐
Internal links112138(high)89(high)

Insight 1: Title formula (Waterfall Atlas is broken)

Current title: Waterfall Atlas
Should be: Waterfalls Near You — Find 50 Beautiful US Waterfalls by State | Waterfall Atlas

This single change is worth more than any other fix. The title is what Google uses to match queries; ours doesn't even contain the head term "waterfalls near."

UPick's title is good. Waterfall's title needs to mirror the same pattern.


Insight 2: PYO's H1 formula is a steal-able pattern

PYO's #1 traffic page H1: "2026 Colorado Strawberry U-Pick Farms and Orchards"

Decomposition: {YEAR} {STATE} {CROP} U-Pick Farms and Orchards

Five things this does well:

  • Year = freshness signal (Google ranks fresh content higher for evergreen queries)
  • State = location intent
  • Crop = product intent
  • "U-Pick Farms and Orchards" = exact-match for two related search phrases
  • All in H1 + Title

Action — UPick Atlas state-crop matrix pages should use this formula.

  • Current: Pumpkin Patches in Georgia
  • Optimized: 2026 Georgia Pumpkin Patches and U-Pick Farms — 50 pages × 6 crops = 300 H1s

Insight 3: Images are non-negotiable

Every top-ranking competitor has 18-22 images. We have ZERO on homepages.

Why this matters:

  • Image carousel results (those photo strips at the top of "near me" SERPs) come from ImageObject schema + alt text on pages
  • Pinterest and Google Images traffic are real channels we're missing entirely
  • Google's algorithm scores "comprehensiveness" partially by media diversity
  • Pages with images have lower bounce rates → better engagement signals

The challenge: we don't have stock photo budget and PRD said "no stock photos until we have real ones."

Practical fix tonight:

  • Use Wikimedia Commons + Unsplash CC0/public domain photos with attribution
  • Auto-generate Open Graph cards using simple Tailwind templates rendered via Cloudflare's image API
  • For each waterfall and farm, pull 1 OSM map tile + 1 Wikimedia/Unsplash image where licensable

For tonight's pass: I won't commit to wiring image services (too much scope). What I CAN do is add placeholder image markup with proper <img> tags + alt text + LCP hints so the page structure scores correctly in Lighthouse, and we can swap real images in later.


Insight 4: Word count gap

PYO state page: 2,423 words.
thenovelturtle.com: 9,417 words.
Our pages: probably 200-500 words.

This is the gap that takes 18-24 months to close at scale. Tonight's fix: deepen the most important pages — homepages + the top 20 highest-traffic-potential state hubs — with genuinely useful content (real picking tips per crop per region, real seasonal calendars, real "what to bring" sections).


Insight 5: Homepage JSON-LD missing

Add to every homepage:

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "UPick Atlas",
  "url": "https://upickatlas.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://upickatlas.com/search?q={query}",
    "query-input": "required name=query"
  }
}

Also Organization + BreadcrumbList. This unlocks Google's sitelinks search box.


Insight 6: "Last updated" / freshness signals

PYO uses "2026" in their H1. Their site shows continuous updates. Google rewards this for evergreen queries.

Fix: Add <time datetime="2026-04-26">Updated April 2026</time> near the H1 on every page. Add dateModified to schema.org. Build the "year update" into the H1 template for state-crop matrix pages.


Insight 7: Internal linking — we're already doing well

UPick: 112 internal links from homepage. Waterfall: 138. Competitors: 89-200+. This is one thing we're not behind on. Don't change.


The optimization patches I'll ship tonight

Ranked by impact/effort:

Patch 1 (highest impact) — Fix Waterfall Atlas homepage title + meta + H1

1 file change, 2-min build, deploy

  • Title: Waterfalls Near You — Find 50 Beautiful US Waterfalls by State
  • Meta description: keyword-rich, mentions "near me" intent
  • H1: Find Waterfalls Near You — 50 Real US Waterfalls Across Every State

Patch 2 — Add JSON-LD WebSite + Organization to BOTH homepages

~30 line additions, 5-min build, deploy

  • WebSite + SearchAction (sitelinks search box)
  • Organization (brand entity)
  • BreadcrumbList (already on detail pages, add to homepage too)

Patch 3 — Year-stamped H1 formula for matrix pages (UPick)

Codex small task or manual sed, ~10-min change

  • Change Pumpkin Patches in Georgia2026 Georgia Pumpkin Patches and U-Pick Farms
  • Same for apple-picking, strawberry-picking, etc.
  • Add <time> element with current date

Patch 4 — Image markup placeholders (Waterfall + UPick)

Bigger change, ~30-min Codex task

  • Add <img> tags with Tailwind-styled SVG placeholders themed per entity
  • Proper alt text per image (the SEO win)
  • loading="lazy" and width/height attributes

Patch 5 — Last-updated dates on every page

Schema only, ~5-min change

  • dateModified on Article / TouristAttraction / LocalBusiness JSON-LD
  • Visible "Updated April 2026" text on page near H1

What I'm SKIPPING tonight (and why)

  • 2,000-word state hub depth — that's content writing for 50+ pages. 4-6 hour Codex task. Better done with quality control over multiple sessions.
  • Real image hosting — needs domain decisions (use Cloudflare Images? Wikimedia hotlink? Unsplash API?). Save for next session.
  • Sitelinks search box beyond schema — needs /search route to actually exist. Defer.
  • Backlink outreach plan — week 8-12 work, not tonight.

Estimated impact

If I ship Patches 1-5 tonight, expected change:

  • Lighthouse SEO score: +10-15 points on both sites
  • Google rich results eligibility: enabled (was missing on homepages)
  • CTR from SERP: +5-15% (better titles + freshness signals)
  • Time-to-first-rank: ~2-4 weeks faster (better signals = faster crawl-to-index pipeline)

Cost: ~$5 in Codex API (small targeted changes, not full rebuild).