CMS Site Page Update Guide
This guide maps each website page to its exact CMS editing location, with annotated Keystatic-to-site workflows for fast, confident updates.
How To Use This Guide
- Find the page URL you want to update.
- Open the matching section below.
- Go to the exact CMS sidebar path and edit the listed field groups.
- Save, then verify the page(s) listed in that section.
Annotated Workflow Diagrams (Real UI Screenshots)
These workflows are built from actual Keystatic and site screenshots (not mockups), with annotations that highlight:
- where to edit in CMS
- what each field block controls on the website
- what to verify before publishing
1) Homepage Hero Update
2) Events List Update
3) Event Detail Update
4) Tracks Overview Update
5) FAQ Update
6) Partners Update
7) Run Groups Update
8) Track Pass Update
9) About Page Update
10) Contact Page Update
11) Getting Started Page Update
12) Ladies Intro Page Update
13) Instructors Page Update
14) Media Page Update
15) Referral Program Page Update
16) Gift Cards Page Update
17) Requirements Page Update
18) Privacy Policy Page Update
19) Terms Of Service Page Update
20) 404 Page Update
21) Track Guide Detail Update
22) Events Archive Update
Regenerate Or Expand Workflow Diagrams
- Update source screenshots:
- CMS screenshots:
docs/assets/content-update-guide/source-cms/ - Site screenshots:
docs/assets/content-update-guide/source-site/
- CMS screenshots:
- Edit workflow definitions in
scripts/generate-content-update-workflow-diagrams.mjs(titles, callout boxes, annotation text). - Regenerate diagrams:
npm run docs:generate-content-workflows
- Commit:
public/assets/content-update-guide/*.svgdocs/assets/content-update-guide/*.svgsrc/guides/cms-site-page-update-guide.md(if embed list or live-guide copy changes)docs/CMS_SITE_PAGE_UPDATE_GUIDE.md(if standalone docs copy should stay in sync)
CMS Sidebar Map (Where Things Live)
Events, Run Groups & TracksEventsRun GroupsTracksTrack Guides
PagesHome PageEvents PageTracks PageInstructor Requirements
Getting StartedGetting Started PageRun Groups PageRequirementsFAQ
ProgramsTrack PassReferral ProgramGift CardsParade LapsLadies Intro Page
AboutAbout PageMediaPartnersContact Page
Site SettingsEvent Detail DefaultsCompany InfoNavigationCancellation Policy
Legal & SystemPrivacy Policy PageTerms of Service Page404 Page
Shared Content That Affects Many Pages
Site Settings > Navigation- Controls header/footer/mobile navigation across the site.
Site Settings > Company Info- Drives shared values like
email,formspreeEndpoint, and tokenized values used in multiple pages.
- Drives shared values like
Events, Run Groups & Tracks > Events,Tracks, andRun Groups- Feed multiple routes (
/,/events.html,/events/[slug].html,/tracks.html, calendar feeds).
- Feed multiple routes (
Programs > Ladies Intro Page- Its price is used by tokenized content in other places.
Getting Started > Requirements- Provides the shared tech form URL fallback used on
/events/[slug].html.
- Provides the shared tech form URL fallback used on
Icon Picker Notes
- Fields labeled
IconorLucide Icon Namenow use a categorized icon picker in Keystatic. - You can search by icon name and pick directly from the modal; no manual slug memorization needed.
- Icon-heavy areas include
Run Groups > details[],Requirements > driver.cards[], andPrograms > Parade Laps > features[].
Route Coverage Quick Map
| Route | Primary CMS Source(s) |
|---|---|
/ | Home Page, Events, Tracks, Run Groups, Partners, Ladies Intro Page, Company Info |
/about.html | About Page, Tracks, Company Info, Events, Ladies Intro Page |
/contact.html | Contact Page, Company Info, Events, Tracks, Ladies Intro Page |
/events.html | Events Page, Events, Tracks, Run Groups |
/events/[slug].html | Events, Tracks, Run Groups, Cancellation Policy, Event Detail Defaults, Requirements, Company Info |
/events/archive.html | Events, Tracks |
/tracks.html | Tracks Page, Tracks |
/tracks/[trackId]/guide.html | Track Guides, Tracks |
/run-groups.html | Run Groups Page, Run Groups |
/faq.html | FAQ, Company Info, Events, Tracks, Ladies Intro Page |
/getting-started.html | Getting Started Page |
/ladies-intro.html | Ladies Intro Page, Company Info, Events, Tracks |
/instructors.html | Instructor Requirements, Company Info |
/partners.html | Partners |
/media.html | Media |
/track-pass.html | Track Pass |
/referral-program.html | Referral Program |
/gift-cards.html | Gift Cards, Company Info |
/parade-laps.html | Parade Laps |
/requirements.html | Requirements |
/privacy.html | Privacy Policy Page |
/terms.html | Terms of Service Page |
404 | 404 Page |
Page-By-Page Update Instructions
Home Page (/)
- CMS path:
Pages > Home PageEvents, Run Groups & Tracks > EventsEvents, Run Groups & Tracks > TracksEvents, Run Groups & Tracks > Run GroupsAbout > PartnersPrograms > Ladies Intro PageSite Settings > Company Info
- Main
Home Pagefield groups:heroupcomingEventswhySectiongettingStartedCtarunGroupsSectiontestimonialsSectionladiesSectioncommunitySectionstatsSectionpartnersSection
- Verify:
//events.html(if event cards/pricing changed)/partners.html(if partner cards changed)
About (/about.html)
- CMS path:
About > About Page(primary content)Events, Run Groups & Tracks > Tracks(linked track cards/content)Site Settings > Company Info,Events, Run Groups & Tracks > Events,Programs > Ladies Intro Page(tokenized values in copy)
- Main field groups:
herostorystatsvaluestrackscta
- Verify:
/about.html/tracks.html(if track data changed)
Contact (/contact.html)
- CMS path:
About > Contact PageSite Settings > Company Info(for email and Formspree endpoint)Events, Run Groups & Tracks > Events,Tracks,Programs > Ladies Intro Page(tokenized values)
- Main field groups:
heroformSectionformFieldsinfoCardssocialvalidationMessages
- Shared values:
Company Info > emailCompany Info > formspreeEndpoint
- Verify:
/contact.html- Submit test form in preview
Events List (/events.html)
- CMS path:
Pages > Events Page(hero and link labels)Events, Run Groups & Tracks > EventsEvents, Run Groups & Tracks > TracksEvents, Run Groups & Tracks > Run Groups
Events Pagefields:hero.titlehero.subtitlehero.calendarLinkTexthero.archiveLinkText
Eventsentry fields used heavily here:titletrackIdlocationdates.start,dates.end(display labels and duration are derived automatically)eventProfile.pricing.*eventProfile.runGroupsAvailableeventProfile.runGroupsSoldOutstatussellingFastfeaturedfeaturedTextregistrationUrl
- Run-group rule:
eventProfile.runGroupsAvailableandrunGroupsSoldOutmust use IDs that exist in theRun Groupscollection. The event editor options are sourced from that collection.
- Verify:
/events.html/events/[slug].htmlfor edited event(s)/events/archive.htmlif moving status/date boundaries
Event Detail (/events/[slug].html)
- CMS path:
Events, Run Groups & Tracks > Events(primary)Events, Run Groups & Tracks > Tracks(fallback location/media/map)Events, Run Groups & Tracks > Run Groups(labels/colors/rules)Site Settings > Cancellation PolicySite Settings > Event Detail DefaultsGetting Started > Requirements(shared tech form fallback URL)Site Settings > Company Info(contact email fallback)
Eventsfields commonly edited:title,trackId,locationdates(display labels and duration are derived automatically)eventProfile.pricing.*eventProfile.eventOptions[]eventProfile.runGroupsAvailable,eventProfile.runGroupsSoldOutspecialPrograms[]specialEventDetailseventDetailImages[]hotelcampingsoundLimitrequirementsSectionTitlerequirements[],requirementsLinkText,requirementsLinkHrefscheduleDownloadUrl,scheduleCardTitle,scheduleCardText,scheduleCardButtonTexttechFormUrl,techFormCardTitle,techFormCardText,techFormCardButtonTextimage(overrides the default track/event hero image)eventDetailImages[](additional ordered event photos shown below the download cards)statussellingFastfeatured,featuredTextregistrationUrl
Event Detail Defaultsfields:requirements,requirementsLinkText,requirementsLinkHrefinsurancepastEventMessage,pastEventCtaTextquestionsTitle,questionsText
- Fallback behavior:
- New event records prefill
requirementsLinkHrefandtechFormUrlwith the standard Just Track It URLs. - Leave
scheduleDownloadUrlblank to use the linked track’sfallbackScheduleDownloadUrl. - Leave optional schedule/tech card override text blank to use built-in defaults.
- Leave event-level
requirements[]empty to useSite Settings > Event Detail Defaults > requirements. - Leave
requirementsLinkHrefblank on an event to useSite Settings > Event Detail Defaults > requirementsLinkHref, then/requirements.html.
- New event records prefill
- Verify:
- Edited event detail page
/events.html/requirements.html(if tech form/requirements links changed)/terms.html(if policy wording changed)
Events Archive (/events/archive.html)
- CMS path:
Events, Run Groups & Tracks > EventsEvents, Run Groups & Tracks > Tracks
- Behavior:
- Archive is date/status driven from event content.
- Verify:
/events/archive.html/events.html
Tracks Overview (/tracks.html)
- CMS path:
Pages > Tracks Page(hero/intro/CTA copy)Events, Run Groups & Tracks > Tracks
Tracks Pagefields:hero.title,hero.subtitleintroTextcta.title,cta.text,cta.buttonText,cta.buttonHref
- Main fields:
id,name,displayName,locationarchived(hide from public track listings without breaking past event references)description,overviewlength,turns,statsfeatureswebsite,directions,mapaccommodations
- Workflow note:
- If a track is still referenced by any event, archive it instead of deleting it. Archived tracks stay valid for historical event pages but are hidden from
/tracks.htmland excluded from{{trackCount}}.
- If a track is still referenced by any event, archive it instead of deleting it. Archived tracks stay valid for historical event pages but are hidden from
- Verify:
/tracks.html/tracks/[trackId]/guide.html/events/[slug].htmlfor events using that track
Track Guide Detail (/tracks/[trackId]/guide.html)
- CMS path:
Events, Run Groups & Tracks > Track GuidesEvents, Run Groups & Tracks > Tracks(fallback hero/map/location data)
- Main
Track Guidesfields:slug(must match track id)subtitlemetaDescriptionheroImagecontent(Markdoc)
- Verify:
/tracks/[trackId]/guide.html/tracks.html
Run Groups (/run-groups.html)
- CMS path:
Getting Started > Run Groups Page(page hero/sections/CTA)Events, Run Groups & Tracks > Run Groups(group definitions used site-wide)
Run Groups Pagefield groups:heroimportantNoteprogressionSectionTitlecomparisonSectioncta
- Main fields:
id,name,shortName,color,displayOrderexperienceRequired,description,classificationNote,passingRulesfeatures[]additionalFeedetails[](label,value,icon)comparison
- Verify:
/run-groups.html/events.html/events/[slug].html
FAQ (/faq.html)
- CMS path:
Getting Started > FAQSite Settings > Company Info,Events, Run Groups & Tracks > Events,Tracks,Programs > Ladies Intro Page(tokenized values)
- Main fields:
slugcategoryquestions[](question,answer)
- Verify:
/faq.html
Getting Started (/getting-started.html)
- CMS path:
Getting Started > Getting Started Page
- Main field groups:
herowhatYouNeedbeforeEventeventDayregistercta
- Verify:
/getting-started.html
Ladies Intro (/ladies-intro.html)
- CMS path:
Programs > Ladies Intro PageSite Settings > Company Info,Events, Run Groups & Tracks > Events,Tracks(tokenized/derived values)
- Main field groups:
herofeatureImage,featureImageAltpricingperfectForschedulerequirementsbonuscta
- Verify:
/ladies-intro.html/(if tokenized ladies price text is used)
Instructors (/instructors.html)
- CMS path:
Pages > Instructor Requirements
- Main field groups:
herobenefitCardstrainingBadgeImage,trainingBadgeAlttrainingDescription,trainingFeaturescertificationsexperienceexpectationscontactEmailcta
- Verify:
/instructors.html
Partners (/partners.html)
- CMS path:
About > Partners
- Main fields:
id,name,categorydescription,offer,urllogodisplayOrdershowOnHomepage
- Verify:
/partners.html/(homepage partner strip)
Media (/media.html)
- CMS path:
About > Media
- Main field groups:
title,description,heroSubtitlefeatured[]featuredSectionTitle,featuredSectionSubtitlesocialSectionTitle,socialSectionTextsocialMediaphotographyPartnerpressSectionTitle,pressSectionText,pressContact
- Verify:
/media.html
Track Pass (/track-pass.html)
- CMS path:
Programs > Track Pass
- Main field groups:
name,heroSubtitleprice,perioddescriptionbenefitsvalueCardssavingsExamplessavingsNote,noMembershipNotepartnerDiscountsregistrationUrl
- Verify:
/track-pass.html
Referral Program (/referral-program.html)
- CMS path:
Programs > Referral Program
- Main field groups:
name,tagline,descriptionhowItWorks[](step,title,description, optionalbuttonText, optionalbuttonUrl)benefitsterms[]
- Verify:
/referral-program.html
Gift Cards (/gift-cards.html)
- CMS path:
Programs > Gift CardsSite Settings > Company Info(contact email)
- Main field groups:
name,tagline,descriptionhowToPurchaseoptions[]terms[]
- Verify:
/gift-cards.html
Parade Laps (/parade-laps.html)
- CMS path:
Programs > Parade Laps
- Main field groups:
herodescriptionpricefeatures[]howItWorks[]cta
- Verify:
/parade-laps.html
Requirements (/requirements.html)
- CMS path:
Getting Started > Requirements
- Main field groups:
herosidebardriverhelmetvehicletechInspectionconvertiblesctatechFormUrl
- Verify:
/requirements.html/events/[slug].html(if shared tech form URL changed)
Privacy Policy (/privacy.html)
- CMS path:
Legal & System > Privacy Policy Page
- Main field groups:
herointroParagraphs[]sections[]
- Verify:
/privacy.html
Terms (/terms.html)
- CMS path:
Legal & System > Terms of Service Page
- Main field groups:
herointroParagraphs[]sections[]
- Verify:
/terms.html
404 Page
- CMS path:
Legal & System > 404 Page
- Main field groups:
errorCodetitlemessageprimaryButtonsecondaryButtonquickLinksTitlequickLinks[]
- Verify:
- Non-existent URL in preview (for example
/this-page-does-not-exist)
- Non-existent URL in preview (for example
Feeds (Not Pages, But CMS-Driven)
/calendar.ics- Uses
Events+Tracks
- Uses
/events/[slug].ics- Uses
Events+Tracks
- Uses
Important Limits (Developer Update Required)
Some content is still hardcoded in templates and not currently editable from CMS:
- Many route-level SEO meta title/description values.
- Some hero/section framing copy on selected pages.
- Some fallback text in templates when CMS fields are empty.
If you cannot find a field in the CMS for visible page text, flag it as a developer task.
Page Publishing Checklist
- Edit the target CMS entry and save.
- Open preview and verify the exact route.
- Verify any linked/affected routes listed above.
- Check desktop and mobile.
- Confirm links, emails, and registration URLs.
- Merge only after preview matches intent.