Crescentek

Custom CMS

Built around your content, not WordPress's.

When off-the-shelf WordPress plugins or generic page builders fight your actual content shape — properties, clinicians, case studies, exhibitions, fleets, tariffs — a custom CMS fits like a bespoke suit. Define the schema, get the admin UI, ship the frontend.

schema.ts
1
const
Property = defineType({
name: "property",
fields: [
{ name: "address", type: "string", required: true },
{ name: "price", type: "number", required: true },
{ name: "bedrooms", type: "number", required: true },
{ name: "status", type: "enum", required: true },
{ name: "images[]", type: "media", required: true },
{ name: "listed_on", type: "date" },
]
})
Admin · New property
2
address*
14 Sandymount Ave, D4
price*
€785,000
bedrooms*
3
status*
For sale
images[]*
8 files
listed_on
2026-03-14
yourbrand.ie/properties
3
For sale
14 Sandymount Ave, D4
3 bed·€785,000
Listed 14 March
1Define schema
2Admin auto-generated
3Frontend consumes
When custom CMS pays off

Five scenarios where off-the-shelf fails.

Estate agent with a complex listing model
WordPress plugins treat properties as shoehorned "products". You need property-specific fields (BER rating, viewing slots, Daft feed sync, PRA compliance status), custom filters (price × beds × BER × area), agent-based routing.
Typical stack
Laravel + Nova admin · Postgres · map integration
Agency with case-study-driven site
Each case study has unique shape — metrics, collaborator credits, image galleries, embedded videos, related projects. Every WordPress page builder results in inconsistent, brittle layouts. Custom fields enforce consistency.
Typical stack
Next.js + Keystone CMS · component-based content blocks
Events venue with complex scheduling
Recurring events, ticket tiers, capacity management, performer bios, venue maps, sales windows. Generic events plugins handle 40% of this. Custom handles 100%.
Typical stack
Django admin + Stripe tickets · ICS feeds
Multi-location clinic / professional service
Clinician profiles, practice specialisations, availability per location, insurer acceptance, GP referral flows, patient intake forms. Each clinic branch has slightly different rules.
Typical stack
Laravel Filament · role-per-location access · audit trail
Product configurator / bespoke manufacturing
Customers spec a product (materials × dimensions × finishes × options) and get a tailored quote. Pricing rules nested, quote PDF generation, inventory implications.
Typical stack
Node + Strapi · React frontend · rules engine
Decision framework

Custom CMS vs WordPress vs Headless — pick honestly.

Pick WordPress if
Content model is standard (pages, posts, simple categories). Team already knows WordPress. Budget is tight. Growth to moderate — not enterprise.
Pick Headless (Sanity/Strapi) if
Content lives in multiple places (web + app + digital signage + email). Developer team is comfortable with React/Next.js. Editorial team can learn a new interface.
Pick Custom CMS if
Your content shape doesn't fit standard molds. Business rules are specific (pricing, permissions, workflows). You'll invest long-term — custom builds for 3-5+ year horizons.
How we build custom CMS projects

Content modelling first. Code second.

Most custom CMS projects go sideways in the first 2 weeks because people skip modelling and start coding. We invert that.

01
Content audit
Map every type of content you publish today — pages, articles, products, cases, team bios, whatever. Discover edge cases early.
02
Schema design
Turn each content type into a defined schema with fields, types, required/optional, relationships. Written before a line of code.
03
Workflow modelling
Who creates, who reviews, who publishes? Role-based permissions, approval chains, audit trails mapped now — bolted on later = painful.
04
Admin UI prototype
Functional admin panel using Nova/Filament/Strapi/Keystone based on schema. Editors click around a real prototype before frontend exists.
05
Frontend consumption
Next.js/Nuxt/Laravel-Blade frontend consuming the CMS data. Designed to reflect content structure, not fight it.
06
Training + handover
Editor training sessions, documented workflows, ongoing support tier. Custom doesn't mean mysterious.
The security + compliance picture

Built-in enterprise-grade governance.

Role-based access
Editor, reviewer, admin, read-only — each with granular permissions per content type and even per record.
Audit trails
Every change logged: who, when, what field, old value, new value. Essential for regulated industries.
Version control
Content versions kept indefinitely. Revert, compare, restore. No "accidentally overwrote the about page" disasters.
GDPR + data residency
Hosted in EU regions by default. Data export, deletion workflows, consent tracking all built to your compliance needs.
Draft/review/publish states
Content moves through states with notifications at each transition. No accidental publishes.
Two-factor auth
Mandatory 2FA for admin access. Enterprise SSO (SAML/OIDC) for larger orgs.
API rate limiting
Public API endpoints protected against scraping and abuse. Per-API-key throttling for integrations.
Encrypted at rest
Database encryption, S3 server-side encryption for media, TLS 1.3 in transit. All standard.
Frequently asked

Custom CMS questions.

Entry point around €18,000 for a simple single-content-type site with admin + frontend. Typical business project €30,000–€90,000 depending on content model complexity, integration count, and permissions depth. Enterprise builds scale beyond that — we scope per engagement.
No — we build on mainstream frameworks (Laravel, Next.js, Django, Strapi) so any competent dev agency can maintain it. We provide full source, deployment access, and comprehensive handover documentation. If you move, you move cleanly.
Hosting typically €80–€400/mo depending on scale. Ongoing dev/maintenance is either retainer-based (from €800/mo for minor updates) or project-based for new features. No per-seat or platform licensing fees.
Simple single-content-type: 6–10 weeks. Mid-complexity (3–5 content types, integrations): 12–20 weeks. Enterprise-scale: 6+ months. We give honest estimates after scoping, not before.
Yes — migration is a workstream in every project. Export existing content, transform to match new schema, import with URL redirects preserved. Typical migration adds 1–3 weeks depending on content volume.

Describe your content. We'll model it.

Free 45-minute scoping call — you describe the shape of your content and business rules, we come back with a rough content model, recommended stack, and realistic timeline/budget range.