Typed blocks and fields
A page is a list of blocks.
Each block declares its fields —
text, rich text, number, date, link, media, repeater —
and validates on save.
No free-form HTML soup
Features
Written as capabilities, not slogans.
Each one exists because a site we operate needed it.
Editing
A page is a list of blocks.
Each block declares its fields —
text, rich text, number, date, link, media, repeater —
and validates on save.
No free-form HTML soup
A draft is rendered through the same publish path as the live page, so what you approve is what ships.
Same renderer, not a mock
Every save is a revision with author and timestamp.
Compare any two, restore one, publish the restored state.
Nothing is lost silently
Set a date to publish or to withdraw.
The queue does the work;
no visitor request triggers it.
Queue driven
Uploads are re-encoded to WebP and AVIF, cut to the sizes the layout uses, and written into the markup with width and height.
No layout shift
The menu is content.
Renaming a page writes the redirect automatically, so old addresses keep resolving.
Addresses stay valid
Operating
Editor, reviewer and administrator.
The login follows the CTPF standard layout and always carries a two-factor field.
/controller/login
Each site keeps its own navigation, theme tokens, legal pages and publish target.
One backend
The index is built at publish time and shipped as a file, so on-site search costs no database at request time.
Built, not queried
Other CTPF systems read published content;
an external process can file new content for review.
Token based
Sitemap, feeds and the 403 / 404 / 50x pages are part of the build, not an afterthought in the vhost.
Complete tree
A release is written beside the live tree and switched over in one step.
The previous release stays for the way back.
Switch, do not patch
CDPCMS is operated as part of the CDP platform by CertThor PlatForms Ltd.