1 OAK MLS
Features

Blog & Content Management

Create and manage blog posts, market reports, and neighborhood guides for your site

Blog & Content Management

The blog system lets you publish articles, market reports, neighborhood guides, press releases, and just-sold stories directly on your agent site.

Enabling the Blog

Toggle the blog feature in your workspace settings:

  1. Go to Dashboard → Settings → Features
  2. Enable Blog
  3. Click Save

This adds /blog to your site navigation and enables the blog management dashboard.

Feature flag: features.blog

Post Categories

CategorySlugDescription
BlogblogGeneral articles, updates, and insights
Market Reportmarket-reportMarket analysis, trends, and statistics
Neighborhood Guideneighborhood-guideArea profiles and local insights
PresspressPress releases and announcements
Just Soldjust-soldSold property success stories

Creating a Post

  1. Go to Dashboard → Blog
  2. Click New Post
  3. Fill in the post details:
    • Title — Headline for the post
    • Category — Select from the 5 categories above
    • Excerpt — Short summary shown on blog index and cards
    • Body — Full article content (rich text)
    • Featured Image — Hero image for the post (uses MediaPicker)
    • Tags — Optional tags for organization
    • Listing IDs — Associate specific listings with the post
    • Service Area — Link to a service area for neighborhood guides
  4. Click Save as Draft or Publish

Post Status Lifecycle

StatusDescription
draftNot visible on public site. Editable.
publishedLive on the public site. Has published_at timestamp.
archivedHidden from public site. Preserved for reference.

Slug Auto-Generation

Post slugs are auto-generated from the title. You can customize the slug before publishing. Slugs are checked for uniqueness within the workspace via the /api/dashboard/posts/check-slug endpoint.

AI Blog Post Generation

If AI Content Generation is enabled (features.aiContentGeneration), you can generate blog posts from listing context:

  1. Open a post in the editor
  2. Click Generate with AI
  3. The AI will create content based on:
    • The post category
    • Associated listings (property details, location)
    • Your agent profile and service areas
  4. Review, edit, and publish

API: POST /api/dashboard/ai/generate-blog-post

Homepage Integration

Latest Posts Section

Display recent blog posts on your homepage:

// workspace.settings.site.latestPosts
{
  enabled: true,
  sectionTitle: "Latest Insights",      // Default heading
  sectionSubtitle: "Stay informed...",  // Optional subtitle
  maxPosts: 3,                          // 1-6 posts (default: 3)
  categories: ["blog", "market-report"], // Optional filter
  showViewAllLink: true                 // Link to /blog
}

Configure via Dashboard → Website → Home in the Latest Posts section.

Blog Page Hero

Customize the blog index page hero image and text:

// workspace.settings.site.pages.blog
{
  hero: {
    imageUrl: "https://...",
    headline: "Real Estate Insights",
    tagline: "Market trends and local expertise"
  },
  showArticleSpotlight: true  // Show agent spotlight at end of articles
}

Public Routes

RouteDescription
/blogBlog index page with all published posts
/blog/[slug]Individual blog post page

The blog index displays posts sorted by published_at descending, with category filtering and featured post highlighting.

API Endpoints

EndpointMethodDescription
/api/dashboard/postsGETList posts (with filtering, pagination)
/api/dashboard/postsPOSTCreate a new post
/api/dashboard/posts/[id]GETGet post details
/api/dashboard/posts/[id]PATCHUpdate a post
/api/dashboard/posts/[id]DELETEDelete a post
/api/dashboard/posts/check-slugGETCheck slug availability
/api/dashboard/ai/generate-blog-postPOSTAI-generate blog content

SEO

Each post supports individual meta fields:

  • meta_title — Custom page title (falls back to post title)
  • meta_description — Custom description (falls back to excerpt)
  • og_image_url — Custom social share image (falls back to featured image)

On this page