intermediate6 min read
CMS Architecture for Real Estate
How to structure your CMS for real estate — listings, agents, neighborhoods, and property types.
Why real estate needs structured content
Real estate sites are data-heavy. Listings have dozens of attributes, agents need profiles, and neighborhoods need their own pages. A structured CMS keeps everything organized and makes filtering possible.
Recommended collections
Listings
The heart of any real estate site:
- Title (text, required) — property name or address headline.
- Address (text, required)
- Price (number) — listing price.
- Bedrooms (number)
- Bathrooms (number)
- Square footage (number)
- Description (rich text) — property details.
- Featured image (image)
- Gallery (multi-image) — property photos.
- Status (select) — for sale, under contract, sold, for rent.
- Property type (select) — house, condo, townhouse, land.
- Agent (reference) — link to the agent managing this listing.
- Neighborhood (reference) — link to the neighborhood.
- MLS number (text) — external ID for integration.
- Year built (number)
- Lot size (text)
Agents
- Name (text, required)
- Photo (image)
- Title (text) — e.g., "Senior Agent", "Broker".
- Phone (phone)
- Email (email)
- Bio (rich text)
- Specialties (multi-select) — luxury, commercial, first-time buyers.
- License number (text)
- Social links (url)
Neighborhoods
- Name (text, required)
- Description (rich text) — what makes this area special.
- Featured image (image)
- Average price (number)
- Walkability score (number)
- Schools nearby (text)
- Amenities (multi-select) — parks, restaurants, transit, shopping.
Testimonials
Client reviews are critical for agent credibility:
- Quote (text, required)
- Client name (text)
- Agent (reference) — which agent this review is for.
- Rating (number) — 1-5 stars.
- Date (date)
Key relationships
- Listings → Agent (single reference)
- Listings → Neighborhood (single reference)
- Testimonials → Agent (single reference)
- Listings → Property type (select field, or reference if property types have their own pages)
Tips for real estate CMS
- Use number fields for prices — not text. This enables sorting and filtering by price range.
- Gallery images should use multi-image — not a reference to a separate images collection.
- Plan for MLS integration — include an MLS number field so you can sync with external listing feeds.
- Separate sold from active — use a status field, not separate collections.
- Agent pages are important — give agents their own pages with listings automatically filtered to them.
industryreal-estatelistingsagentsproperty