# leadvilleoffroad.com: local roadmap

_Cluster: **adventure-tours** (Leadville, CO outfitter + motorsports repair). Generated 2026-09-14. noindex._

## Current state (real signals, 2026-09-14)

- Brand new build on a new domain. Business facts, prices and photos taken from the outfitter's own existing site, BBB, Google/TripAdvisor review mirrors and Wikipedia; see `_night/leadville/RESEARCH.md`.
- 13 pages, 37 photos (14 the outfitter's own, 22 Creative Commons, 1 Pexels), 14 verified YouTube embeds, 7 JSON-LD types, FAQPage on 7 pages, Markdown twin of every page, /api/*.json, llms.txt, AGENTS.md, MCP card.
- Competitors: Leadville ATV Tours (UTV only, Polaris Adventures booking, big FAQ, 1,100+ reviews claimed), White Mountain Snowmobile Tours / Alpine Activities (snowmobile only, tiered pricing, clear age rules and cancellation policy). Neither has service/repair, lodging, dirt bike or snowbike, or a things-to-do guide. This site now covers all of that.
- Old domain elkmountainadventures.com is dead (Duda "site not found"); Google Business Profile, BBB, Groupon and Visit Leadville still link to it. That is the single biggest lever.
- AME: analyzed + activated as a client workspace (propose-only; nothing auto-ships to this domain).

## Upgrade checklist

- ✅ /kb/ started: 4 guides (Mosquito Pass by UTV, what to wear, which winter tour, altitude)
- ✅ Agents First surfaces (AGENTS.md, llms.txt, api/, MCP card, openapi, Markdown twins)
- ✅ FAQ with FAQPage schema on every commercial page
- ✅ /videos/ (14 embeds), /gallery/ (37 photos, credited)
- ✅ Designed font system, seven themes, mobile-first
- ⬜ Markdown content negotiation in nginx (Accept: text/markdown -> index.md). Needs a vhost `map`; ask before touching nginx.
- ⬜ /kb/ growth to the full nine guides (see Stage 3)
- ⬜ Fresh feed (/news/ or /conditions/)
- ⬜ Lead capture with real instrumentation (wt-leads /l/ needs an nginx location + ALLOWED entry; a tap is not a lead)
- ⬜ Booking widget

## Staged, additive upgrades (nothing here changes the live site without a snapshot + approval)

### Stage 1: owner confirmations and the redirect fix (highest value, zero design work)
1. Confirm with the owner: hours; cancellation/deposit/weather policy; shop brands, turnaround, drop-off hours; UTV driver age; passenger minimum size. Then edit `lv_content.py` and regenerate.
2. Point the Google Business Profile website field, BBB, Groupon, TripAdvisor and Visit Leadville listings at https://leadvilleoffroad.com/.
3. Re-point DNS for elkmountainadventures.com and leadvilleoffroadadventures.com to the droplet and serve 301s to the matching pages here (old `/utv-summer` -> `/utv-tours/`, `/snowmobile` -> `/snowmobile-tours/#trail`, `/lodging` -> `/lodging/`, `/testimonials` -> `/about/`, everything else -> `/`). This is where the lost search authority comes back.
4. Verify in Google Search Console and Bing Webmaster; submit sitemap.xml; request indexing of the four tour pages.
   Prompt: "Read RESEARCH.md and lv_content.py. Apply the owner's confirmed hours/policies/shop details, regenerate with gen-leadville.py, deploy, verify every page 200. Then draft the 301 map for the two old domains as an nginx server block for review."

### Stage 2: booking and leads
5. If the owner wants online booking, embed the widget (FareHarbor/Peek/Xola) on /contact/ and each tour page, keeping the phone CTA above it.
6. Wire the request form to wt-leads at /l/ (nginx location + ALLOWED). Report taps and form submissions separately.
7. Add a reviews module that pulls the Google rating on a schedule instead of the hand-typed "as of" number.

### Stage 3: content that ranks (KB + fresh feed)
8. /kb/ guides, each question-shaped with FAQPage schema and the same photo standard: "Mosquito Pass by UTV: when it opens, what it is like above treeline"; "What to wear snowmobiling at 10,000 feet"; "Leadville altitude for visitors"; "Hagerman Pass road guide"; "Snowmobile vs snowbike vs winter UTV: which one"; "First-time UTV driver checklist"; "Winter storage checklist for sleds"; "Pre-season UTV service checklist"; "Leadville in September: aspens and the mining roads".
9. /conditions/ or /news/: a short dated note per week in season (snow depth, which roads opened, aspen color), pinging IndexNow. Cheap, and it is the only fresh signal a seasonal outfitter can send.
   Prompt: "Using RESEARCH.md and the FAQ answers already on the site as the fact base, write the nine /kb/ guides listed in roadmap/local/roadmap.md. No new facts unless sourced; cite the source in a note at the bottom of each page. Same shell, same photo pipeline, FAQPage + BreadcrumbList schema, add to sitemap and llms.txt."

### Stage 4: media and performance
10. Ask the owner for current-season photos and 2 to 3 short vertical videos per tour; replace the 2015 GoPro clips.
11. Core Web Vitals pass from a Windows box (never a scanner on the droplet): confirm LCP on the hero image under 2.5s on 4G, no CLS from fonts.
12. Markdown content negotiation in nginx (with approval) for the last Agents First points.

_Roadmap = the map. Nothing above is applied automatically; AWE is propose-only for this client site._
