Webside Agent-Native CMS
A compact, modern PHP CMS for humans and agents. I develop it on my own, for the projects of my agency Webside, so that new projects never have to rewrite the admin panel, content, media, user security, SEO, REST API and MCP layer again. It does not impose a design: use its minimal PHP frontend, your own theme, or feed a separate frontend.
- PHP 8.1+
- and SQLite. No Composer, no Node.js.
- 3 steps
- Browser installer on standard shared hosting.
- 1 protocol
- Every write goes through the Capsule Ledger.
- Off
- REST API, MCP and AI after install, until you switch them on.
One CMS, two kinds of users.
People work in the admin panel; agents work over MCP. Both reach the same content through the same write protocol, and both are held to the same security rules.
- Minimal PHP starterComes with the package; live right away
- Your own PHP themeTemplates under site/, core untouched
- Astro · Next · NuxtHeadless, through the REST API
Webside Agent-Native CMS
content · people · sites · for humans and agents- DashboardHealth at a glance
- ContentPages and posts
- MediaChecked uploads
- SEOMeta, sitemap, hreflang
- AuthorsPeople and roles
- MultilingualCanonical, prefixed languages
- Atomic capsuleA change is accepted as one unit
- IdempotencyThe same operation never applies twice
- Result ledgerOutcomes are kept
- RecoveryAccepted work resumes after a crash
- Content
- Settings
- Forms
- Audience
- Audit logs
- PHP 8.1+No Composer, no Node.js
- SQLiteOne file, snapshot before migrations
- Shared hostingRuns on standard hosting
- Backup & restoreDatabase, or database + media
- Cookie consentNecessary · analytics · marketing
- FormsInbox with new / read / archived
- EmailPHP mail · SMTP · Amazon SES API
- Audience exportMailerLite · Brevo · Mailchimp · beehiiv
Agents with clear boundaries.
An AI agent connected over MCP can list, read, create and update content, run a read-only audit of the site and, if you allow it, work with media, navigation, theme tokens and SEO settings. Every one of these abilities is a separate switch, and all of them start switched off.
- Drafts first. Content created by an agent is saved as a draft; a person publishes it.
- A secret for every write. Writes and draft reads always require the MCP
X-Secret. Secrets are shown once and stored as a hash. - No delete tool. There is deliberately no MCP tool that deletes content.
- No new way out. The media tool only accepts files the client sends directly; the server never downloads from a URL, so MCP opens no SSRF surface. The user tool cannot read or change passwords, 2FA secrets or recovery codes.
One way to write.
Since 3.0, every write in the CMS, whether content, settings, authors, forms or audience configuration, goes through one protocol. A request is first accepted as an atomic capsule. A permanent operation ledger makes sure the same operation is never applied twice and keeps its result.
The same protocol is run by a native C drain when the environment allows it and by a pure PHP drain when it does not. These are not two database paths: the data format, the ledger and the result semantics are identical. If the C engine cannot run, the CMS falls back to PHP without losing data. Reads skip all of this and come straight from SQLite and a small file cache, which is cleared after each write.
How this site uses it.
- The 3.1.4 core in
engine/runs unmodified; everything specific to this site lives in its own theme undersite/, so upgrades replace one folder. - Turkish is the default language without a prefix and English lives under
/en; every page is paired with its translation through hreflang. - The newsletter’s publishing map is worked out on the server from the plan and the date, with no database writes.
- The UTM and QR tools run entirely in the browser; the CMS never sees what visitors type.
- Old WordPress addresses were moved over with 301 redirects, one hop each.
How it got here.
- 2.4Audience collection and one-way export to MailerLite, Brevo, Mailchimp and beehiiv.
- 2.5Cookie consent with separate categories, a form inbox and the Amazon SES API.
- 3.0The Capsule Ledger: one write protocol, run by native C or PHP.
- 3.1Broad MCP management, every scope off by default.
- 3.1.4Security and multilingual SEO maintenance: stricter login limits, trusted proxies only, SVG off by default, canonical language URLs.
These security controls reduce risk; they are not an independent penetration test or a guarantee of zero vulnerabilities.
Curious about Webside?
Webside Agent-Native CMS is currently a private release that I use in my agency Webside’s projects. Write to me if you would like to hear more.