vibeyour website Hire us
All prompts
WordPress Fitness Gym 15.8k chars

Vibe Code a Gym Website

Free vibe coding prompt to build a WordPress gym site with booking. Class schedule, online booking, memberships, trainer profiles, and ExerciseGym schema. Full fitness setup.

Tested with: ChatGPT, Claude · Updated 2026-08-11 · License: do whatever you want, it's yours
wp-gym-fitness.prompt · 15.8k chars
Plan and produce a complete WordPress site architecture for a fitness gym
or studio with class booking, memberships, and trainer profiles. Output
should be production-ready.

═══════════════════════════════════════════════════════════════
BUSINESS DETAILS
═══════════════════════════════════════════════════════════════
- Gym name: [GYM NAME]
- Type: full-service gym / boutique studio / CrossFit box / yoga / pilates
- City: [CITY]
- Locations: [N] (1+ studios)
- Class types: [LIST]
- Trainers: [N]
- Goal: drive trial signups, convert to memberships, retain via class
 participation

═══════════════════════════════════════════════════════════════
BRAND
═══════════════════════════════════════════════════════════════
- Brand colors: bold dark (#0a0a0a) + cream highlight (#f4f1ec) + electric
 yellow or coral accent. Athletic and high-contrast. AA-contrast for
 body.
- Type: heavy condensed display (Bebas Neue, Anton) for big headlines +
 Inter for body. Optional italic serif accent for tension.

═══════════════════════════════════════════════════════════════
PLUGIN STACK (WP-CLI)
═══════════════════════════════════════════════════════════════
 wp plugin install --activate 
 ameliabooking 
 memberpress 
 memberpress-stripe 
 wordpress-seo 
 advanced-custom-fields 
 wp-rocket 
 fluent-crm
- Booking: Amelia (best UX for class booking + capacity + waitlist) OR
 BookingPress. Alternative: embed MindBody / TeamUp if existing system.
- Memberships: MemberPress OR Paid Memberships Pro
- Email: FluentCRM

═══════════════════════════════════════════════════════════════
DATA MODEL
═══════════════════════════════════════════════════════════════
- Amelia handles: services (class types), employees (trainers),
 customers (members), bookings
- CPTs (custom alongside Amelia):
 - `trainer`, bio, certifications, specialties, photo, schedule
 (relationship to Amelia)
 - `class_type`, class name, description, intensity (taxonomy),
 duration, equipment_needed, what_to_expect
 - `location` (if multi-studio)
 - `transformation` (before/after testimonial)
- Taxonomies: `intensity` (Beginner / All Levels / Advanced),
 `class_category` (Strength / Cardio / Yoga / Mobility / HIIT)

═══════════════════════════════════════════════════════════════
SITE MAP
═══════════════════════════════════════════════════════════════
1. Home (with strong trial CTA)
2. Classes (schedule + filter by class type / trainer / time)
3. Class detail pages (description, what to expect, sample workout,
 typical attendees)
4. Memberships (pricing tiers)
5. Personal Training (1:1 sessions, separate pricing)
6. Trainers directory
7. Locations (if multi-studio)
8. Schedule a Visit / Free Trial
9. Transformations (success stories)
10. About (gym story, founder, philosophy)
11. Blog (training tips, recipes, member spotlights)
12. Contact
13. Member Login (MemberPress dashboard)

═══════════════════════════════════════════════════════════════
HOMEPAGE, BLOCK MARKUP
═══════════════════════════════════════════════════════════════
1. Hero with action photo + bold trial CTA ("Start your 7-day trial for
 $7" or similar) + secondary "View class schedule"
2. Why members love us (3 USPs: community, results, no judgment)
3. Class types preview (6 cards with photo, name, intensity)
4. Trainers preview (4 trainers with photo + name)
5. Membership tiers (3-card pricing)
6. Transformations strip (3 before/after with real client testimonials)
7. Visit info card (location, hours, parking)
8. Newsletter signup (workout tips + class updates)

═══════════════════════════════════════════════════════════════
CLASS SCHEDULE PAGE (most important UX)
═══════════════════════════════════════════════════════════════
- Weekly grid view (Mon-Sun across, class times down side)
- Each cell: class name + trainer first name + capacity remaining
- Color-coded by class category (with accessible color contrast)
- Filter chips above grid: All / Class type / Trainer / Time of day
 (morning/afternoon/evening) / Intensity
- Click class → opens modal with: full description, sample workout
 preview, "Book this class" button
- Today view (default on mobile, with current/next class highlighted)
- Sticky "Book a free trial" CTA on mobile
- Smooth JS filtering (no library)

═══════════════════════════════════════════════════════════════
CLASS DETAIL PAGE
═══════════════════════════════════════════════════════════════
- Hero with class action photo
- Class name, duration, intensity, equipment
- "What to expect" 3-paragraph description
- Sample workout preview (5 exercises with sets x reps)
- Typical attendees (beginner-friendly? competitive?)
- Trainer cards (lead trainers for this class)
- "Book a class" CTA (links to Amelia booking)

═══════════════════════════════════════════════════════════════
TRAINER PAGE
═══════════════════════════════════════════════════════════════
- Hero with portrait
- Certifications strip (typeset, not logos)
- Specialties + classes taught
- Bio (long-form)
- Schedule (when this trainer teaches)
- "Book PT session" CTA (Amelia)

═══════════════════════════════════════════════════════════════
MEMBERSHIPS PAGE
═══════════════════════════════════════════════════════════════
- 3-card pricing: Drop-in / 10-pack / Unlimited Monthly / Annual
 Unlimited
- Family / sibling discounts
- Featured "Trial offer" card ("$7 for 7 days unlimited")
- Member dashboard preview
- FAQ (cancellation, freeze, equipment access)

═══════════════════════════════════════════════════════════════
EMAIL FLOWS (FluentCRM)
═══════════════════════════════════════════════════════════════
- Welcome series (3 emails, 7 days) after trial signup
- Class reminders (24h before booked class)
- Trial-ending nudge (last day of $7 trial)
- Inactive member re-engagement (no class in 14 days)
- Monthly newsletter (member highlights, new classes)
- Birthday email with free class

═══════════════════════════════════════════════════════════════
MARKETING & RETENTION
═══════════════════════════════════════════════════════════════
- Referral program: "Refer a friend = 1 free month" (custom or via
 ReferralCandy)
- Local SEO: Google Business Profile claimed
- Instagram Reels embedded on class detail pages
- Member spotlights (monthly blog posts)

═══════════════════════════════════════════════════════════════
SEO & SCHEMA
═══════════════════════════════════════════════════════════════
- Schema: SportsActivityLocation, ExerciseAction
- Local SEO: "Gyms in [CITY]", "[Class type] classes near me"
- Class types as searchable keywords

ADDITIONAL SEO REQUIREMENTS (implement all of these):

On-Page SEO for Every Page:
- Yoast/RankMath meta title template: "[Page Title] | [Site Name]" (under 60 chars)
- Meta description per page: 150-160 chars, include primary keyword + CTA
- Exactly ONE H1 per page — use the real, human headline; keep keywords in the title and meta, not the visible H1
- Logical H2 > H3 heading hierarchy, never skip a level
- Headings should include secondary keywords naturally,
  keep the section's real, human label (keywords in title and meta, not stuffed headings)
- Every image must have a descriptive alt attribute with keywords
- Internal links between related content using descriptive anchor text

Structured Data (JSON-LD via Yoast/RankMath + manual where needed):
- Primary schema types: ExerciseGym, HealthClub
- BreadcrumbList on all pages
- FAQPage schema on any page with an FAQ/accordion section
- Article schema on all blog posts (auto via Yoast)
- Validate schema with Google Rich Results Test before launch

Open Graph & Social Sharing:
- og:title, og:description, og:image, og:url on every page
- twitter:card=summary_large_image on every page
- Default OG image set in Yoast; per-page overrides for key landing pages
- OG images should be 1200x630px, branded, with clear text

Content SEO:
- Write real, useful body copy for every page (not just headings and CTAs).
  Every major section needs at least 2-3 sentences of descriptive text
  that search engines can index.
- Blog content strategy: 10 seed articles targeting long-tail keywords
  related to "gym with class booking". List the titles and target keywords.
- Use the primary keyword once or twice where it reads naturally; keep the rest in titles and meta, never stuffed.
- Every CTA should use descriptive anchor text with the service keyword.

Technical SEO:
- XML sitemap split by post type (auto via Yoast)
- Canonical tags on all pages (auto via Yoast)
- robots.txt: allow all, point to sitemap
- 301 redirects plan for any renamed/moved content
- Breadcrumbs enabled via Yoast + schema
- Clean permalinks: pick one post-permalink base that fits the site (do not force /blog/ on a post-centric site); /%postname%/ is fine for pages
- Lazy load all images below the fold, eager load hero/LCP image
- Core Web Vitals targets: LCP < 2.5s, CLS < 0.1, INP < 200ms

SECURITY, ACCESSIBILITY & HONESTY (required):
- Escape all output (esc_html/esc_url/esc_attr), sanitize all input (sanitize_text_field + wp_unslash), and use a nonce + current_user_can() on every form handler and custom action. Emit JSON-LD with wp_json_encode().
- Target WCAG 2.2 AA: visible :focus-visible states, <label for> on every field, full keyboard operability, and @media (prefers-reduced-motion: reduce) around all motion.
- Never fabricate business data, testimonials, ratings, credentials, or stats; leave labeled {{TODO}} placeholders for anything the user has not supplied.
- PLUGIN INSTALL: some listed plugins are premium or not in the wordpress.org directory, so a single `wp plugin install` will error out. Split the list into free (wp.org) vs premium (upload/license), verify each slug, and note that gallery/group ACF fields and ACF Blocks need ACF Pro.
- Commit to ONE paradigm: a block theme (theme.json + block templates) OR a classic theme/builder — never mix them. If a plugin already owns a post type or feed (inventory, sermons, courses, job listings, podcast feeds), extend it — do not re-declare that CPT or emit a second, conflicting schema block.

Local SEO:
- Full NAP (Name, Address, Phone) in footer, consistent across all pages
- Google Business Profile integration (link in footer + schema)
- Location keywords in at least 3 page headings
- Embedded Google Map on contact/location page
- Target keywords include city/region: "gym with class booking in [City]"

═══════════════════════════════════════════════════════════════
PERFORMANCE
═══════════════════════════════════════════════════════════════
- WP Rocket + ShortPixel + Cloudflare
- Class schedule should load in < 1.5s
- Mobile-first (most members book on phones)
- Object cache (Redis) for Amelia query performance

═══════════════════════════════════════════════════════════════
ANTI-PATTERNS TO AVOID
═══════════════════════════════════════════════════════════════
- No "MELT FAT FAST!" / "TRANSFORM YOUR BODY!" filler
- No fake before/after photos
- No emojis in class names (no fire/lightning emojis)
- No autoplay video with sound on hero
- No script/handwritten fonts
- No fake "[NAME] just signed up!" social-proof popups
- No countdown timers on "Trial ends soon!" unless real
- No "no pain, no gain" / "no excuses" filler
- No "before/after" pairs that look obviously photoshopped
- No real CrossFit / NASM certification logos, typeset names

═══════════════════════════════════════════════════════════════
DELIVERABLE
═══════════════════════════════════════════════════════════════
1. Site map
2. WP-CLI install commands
3. Amelia configuration (services + employees + capacity + waitlist)
4. MemberPress tier setup + Stripe
5. CPT (trainer + class_type) ACF JSON
6. theme.json
7. Homepage block markup
8. Class schedule page (with weekly grid + filters)
9. Email automation (5 flows)
10. Referral program setup
11. Launch checklist (20 items)

This free prompt gives ChatGPT or Claude a full build plan for a gym website with online class booking, covering a weekly class schedule, a booking flow, membership pricing, trainer profiles, and a free-trial offer that captures leads. It is built for gyms and studios that want prospects to see the schedule, grab an intro pass, and book a class without a phone call. The output is a complete WordPress specification, not a template with placeholder classes.

What does the gym website prompt build?

The plan puts the schedule and the trial offer front and center. The homepage leads with a free-trial or intro-week offer and a look at today’s classes. A class schedule page shows a day-and-time grid that links each session to booking, and class description pages explain the format, intensity, and what to bring. Trainer profiles list certifications and specialties, a membership pricing table compares plans side by side, and a facility gallery plus member testimonials build trust. A contact page with an embedded map and a short FAQ close it out, each delivered as Gutenberg markup on a shared theme.json.

Who is this gym prompt for?

It fits independent gyms, boutique studios, CrossFit boxes, yoga and pilates studios, and personal-training operations that live or die on class attendance and trials. Front-desk staff keep the schedule current, and the plan works as a brief for a developer wiring up the booking tool. Before you commit, what a WordPress build costs is posted up front, and our other free AI website prompts cover related local businesses. If you would rather train clients than build a site, our WordPress build service can launch it for you.

What’s inside the prompt?

  • A brand block for your gym’s name, colors, vibe, and the members you want to attract
  • A stack recommendation using a class-booking tool such as TeamUp, Amelia, or Bookly, plus Yoast SEO and WP Rocket
  • A data model for classes, trainers, and memberships plus class-type and level taxonomies
  • A theme.json design system tuned for bold imagery, a legible schedule grid, and strong calls to action
  • Gutenberg markup for the homepage, schedule, class descriptions, trainers, pricing, gallery, and contact
  • A free-trial and intro-offer funnel wired to a lead form and email follow-up
  • ExerciseGym and HealthClub structured data, an XML sitemap, and keyword targets for “gym near me” and class-type searches
  • Core Web Vitals goals, caching notes, and a launch checklist for a booking-driven site

Frequently asked questions

Can members book a class online through the site?

Yes. The schedule links each session to a booking tool like TeamUp, Amelia, or Bookly, so a member reserves a spot from their phone and you see the roster fill without answering the desk phone. The prompt covers embedding or integrating whichever tool you already use.

Does the class schedule stay easy to update?

The schedule is a day-and-time grid your staff can edit as classes change, and it pulls from the same class data used on the description pages. Cancel a session or add a pop-up class and it updates in one place rather than across three pages.

Can I offer a free trial or intro pass to capture leads?

A free-trial or intro-week offer sits at the top of the homepage with its own lead form, so a first-time visitor trades an email for a pass. Those leads flow into an email follow-up sequence, which is where most gym signups actually come from.

Can I show membership tiers and pricing clearly?

The pricing page is a side-by-side comparison table for your membership plans, with features and monthly rates laid out so a prospect can pick a tier without a sales call. You control whether to show exact prices or a “starting at” figure.

How does ExerciseGym schema help my gym rank locally?

The site is marked up as an ExerciseGym with your address, hours, and class types, which helps search engines and AI answers place you for “gym near me” and specific class searches. Combined with reviews and a Google Business Profile, it strengthens your local presence.

How to actually run this.

01

Copy the whole thing

All of it. Do not trim it down, every line is in there for a reason.

02

Swap in your details

Find the BUSINESS DETAILS part and drop in the real business. Name, what they do, all of it.

03

Paste and wait

Drop it into Claude for the first pass, or v0 if it is a landing page. Give it a minute.

04

Clean it up

Tweak the boring 10 percent. Spacing, mobile, that one cringe line. Ship it.

What’s next: from generated code to a website that works

The prompt did the hard 90 percent. What’s left is the boring 10 percent that turns a folder of code into a site people can actually find and trust. Here’s the whole checklist, in order.

1. Buy a domain

Grab your name at a registrar like Namecheap, Cloudflare, or Porkbun — about $10 to $15 a year for a .com. Skip the ten-year prepay and the upsells; you just need the domain and, ideally, the free WHOIS privacy most registrars now include.

2. Put it online

If the AI built you a static site (HTML, CSS, and JavaScript), you can host it for free: drag the folder into Netlify or Vercel, or connect a GitHub repo, then point your domain at it. If it built a WordPress theme, you need WordPress hosting — pick a managed host, install WordPress, upload the theme, and connect the domain. Either way, turn on HTTPS; it’s free and automatic on every modern host.

3. Wire up the parts AI skips

Generated sites almost always ship with a contact form that goes nowhere and a fake “success” message. Connect it to a real endpoint (Formspree, Web3Forms, or a plain mailto link) so leads actually reach you. While you’re in there: add a favicon, swap the placeholder images for your own compressed photos, and open the site on your phone to catch whatever breaks on a small screen.

4. Do the basic SEO and AI-search setup

This is what gets you found on Google and cited by ChatGPT, Perplexity, and AI Overviews. The essentials: a unique title tag and meta description on every page, one clear topic per page, an XML sitemap submitted to Google Search Console, basic structured data (Organization and FAQ schema), and an llms.txt file so AI crawlers can read you. If that reads like a foreign language, our SEO optimization service does it as a flat-fee pass, and our free SEO checklist walks the DIY route step by step.

5. Make it fast

AI builders love shipping four-megabyte images and render-blocking scripts. Compress your images, lazy-load anything below the fold, and run the page through PageSpeed Insights until Core Web Vitals turn green — speed lifts both rankings and conversions, so it’s the rare fix that pays twice. Our speed optimization service handles it if you’d rather not.

6. Get found locally, and measure it

Add analytics (GA4, or a lighter option like Plausible) so you can see what’s working instead of guessing. If you serve a local area, set up a Google Business Profile and use the exact same business name, address, and phone number everywhere — that consistency is what lands you in the map pack and in local AI answers.

7. Keep it alive

A website isn’t set-and-forget, especially on WordPress. Budget for backups, security, and updates so a routine plugin update doesn’t take the site down six months from now. Our care plans cover all of it from $290 a month, or you can do it yourself — you own all the code either way.

When it’s worth handing off

If any of these steps stall you — and hosting, DNS, and SEO stall a lot of people — that’s exactly what we’re for. We build the whole thing at a flat fee, ship it live, and hand you the code on GitHub, having read every line the AI wrote. Or take the free prompts and run with it yourself. Both outcomes are genuinely fine with us.

More from the stash.

You read. We build.

No free weekend? We will build it for you.

This is the exact prompt we would use. Flat fee, real deadline, code is yours.

Have us build this one Fixed fee · Fixed timeline