Dental clinic sites need service pages, doctor profiles, and a before/after gallery -- none of which need a dedicated database table in jekcms. Here's how to build all three with posts, post_meta, and a custom theme template.
Dental clinic websites have a specific set of requirements: local SEO for neighborhood searches, before/after photo galleries, an easy way to request an appointment, and schema markup that surfaces opening hours in Google. jekcms doesn't ship dedicated services, team, or gallery database tables for this — and it doesn't need to. Everything below is built on the standard posts/post_meta tables and a custom theme template.
Service Pages
Dental clinics typically offer 8-12 core services — implants, whitening, orthodontics, and so on. Each one is a regular jekcms post (or a dedicated category), with the procedure details, pricing range, and FAQ written directly in the editor. There's no need for a separate services table: a category called "Services" with a custom single-post template gives you the same result — each service gets its own URL, its own featured image, and content the clinic can edit from the standard post editor.
Doctor Profiles
Doctor profiles work the same way — a post per doctor, with credentials, specialization, and bio written as regular content or stored as post meta if you want them to appear in a structured layout (a bio box, a credentials list) rather than inline in the body. There's no dedicated team table with built-in credential/specialization/education columns; if a theme wants that structure, it defines its own post-meta keys for it.
Before/After Gallery
jekcms doesn't have a dedicated gallery table with paired before/after image fields. The practical approach: store the before and after images as two attached media items (or two custom fields on the post), and build a simple comparison-slider component in the theme's JavaScript. Patient consent for using treatment photos is handled outside the CMS entirely — that's the clinic's responsibility, not something jekcms tracks.
Appointment Requests
jekcms doesn't ship a built-in appointment-booking or calendar system. A contact-form-style request (name, preferred service, preferred date/time as free text or a simple date field) that emails the clinic is realistic to build on top of the standard form handling; true calendar availability with double-booking prevention is beyond what the CMS provides out of the box and would need a dedicated booking tool or a custom integration.
Local SEO and Schema
This is where you have to be precise about what jekcms actually generates. The built-in output_schema() helper produces general-purpose schema — Article, Organization, FAQPage, BreadcrumbList — not clinic-specific types. There's no automatic Dentist, Physician, or MedicalProcedure schema. If you want those specific types for local search visibility, you write the JSON-LD yourself (in a code block in the editor, or in the theme template) following Google's documented schema for the relevant type, using the clinic's actual name, address, phone, and hours.
What This Setup Realistically Delivers
Built this way, a dental clinic site gets solid on-page SEO fundamentals (fast pages, proper Article/Organization schema, clean URLs) from jekcms itself, plus whatever clinic-specific schema and booking flow you add on top. None of the specialized dental-industry pieces — service listings, doctor bios, before/after comparisons — need a bespoke database schema; they're all standard jekcms content with a theme that presents it the way a clinic site should look.