Blog & Site Editor

Publish blog posts and manage your course's public pages — no code required.

Your Public Course Page

Every venue organization gets a public course page at /courses/[slug]. This is the outward-facing page for your course — it shows your course info, upcoming events, blog posts, booking links, and any custom content sections you've added. Think of it as a lightweight website for your course, hosted directly on tplgolf.

Blog Posts

Blog posts are managed through the CoursePost model. Each post has a title, body, and published flag. Unpublished posts are drafts — visible only to managers in the dashboard. Published posts appear on your public course page, sorted by date.

Creating a Post

Step 1Draft Your Post

Go to the Site Editor in your org dashboard and click "New Post." Write a title and compose the body using the rich-text editor. Add images, links, and formatted text as needed.

Step 2Preview

Use the preview mode to see how the post will look on your public course page. Check formatting, images, and links before publishing.

Step 3Publish

Toggle the published flag to make the post live. It immediately appears on your public course page. You can unpublish at any time to pull it back to draft status.

Tip
Use blog posts for course condition updates, event recaps, pro tips, tournament announcements, and seasonal promotions. Regular content keeps your public page fresh and gives you material to link in email campaigns.

Site Content Sections

Beyond blog posts, your public course page is composed of editable content sections managed through the CourseSiteContent model. Each section is a JSON-based block that you can customize from the Site Editor.

Available Sections

  • Hero: The banner at the top of your course page. Set a heading, subheading, and background image.
  • About: A description of your course — history, features, amenities, and anything that sets you apart.
  • Hours & Rates: Operating hours, greens fees, cart fees, and any membership pricing you want to display publicly.
  • Contact Info: Address, phone, email, and social media links.
  • Upcoming Events: Auto-populated from your outings and events. Shows the next upcoming events with registration links.
  • Blog Feed: Auto-populated from your published blog posts. Displays the most recent posts with links to the full content.

Editing Sections

Open the Site Editor and select a section to edit. Each section has its own set of fields — text inputs, image uploaders, and toggle switches. Changes are saved as a draft until you publish. The JSON-based storage means sections are structured data, not free-form HTML, which keeps your public page consistent and well-formatted regardless of the content you enter.

Note
Some sections (Upcoming Events, Blog Feed) are auto-populated from your data. You can customize their display settings — how many items to show, sort order, and visibility — but the content itself comes from your events and posts.

Public Page URL

Your course page lives at /courses/[slug] where the slug is your org's URL-friendly identifier. Share this link on your website, Google Business listing, and social media. It serves as a central hub for tee time bookings, event registration, and course information.