Premium Plugins for Kirby CMS
Digital Products (Since 2024)
I had never sold a digital product before. Not a template, not an icon pack. That changed in early 2024 – and over two years, that debut grew into a small ecosystem: four commercial plugins for Kirby CMS, a license server on Cloudflare Workers, a customer portal, and a website with plugin documentation. My little big side project.
It All Started with a Prompt (But Not the Way You Think)
To better understand different AI libraries, tap into new models via API, and generally gain experience with AI, I built an alternative UI for ChatGPT in 2023. Around the same time, the spark was lit to try my hand at a "pro plugin" with great editor experience. At that point, all my Kirby plugins were open source. For a first commercial plugin, the answer was obvious: a bridge between AI models and the Kirby Panel. It was only a matter of time before someone would try this – so I wanted to be first.
Looking back, Kirby Copilot started out pretty basic. A text field for prompts, a button, generated text. Nice, but without context more of a gimmick. The real strength came with the ability to reference field values from the blueprint as placeholders: {{ title }}, {{ date }}. This gave the AI knowledge of the page’s content and let it build on it meaningfully.
Early sales were low. AI in the CMS space was still a niche within a niche in 2024. But the plugin was also a learning project for me – how do large language models work, how do you build good UIs around them, how do you even sell digital products?
Over the months, the Copilot grew alongside its users. Version 2.5 brought multi-field generation and custom blocks support – instead of individual fields, entire page structures could be generated at once. Version 3 added inline suggestions: ghost text that appears as you type and can be accepted with Tab. Since then, all API requests run through a server-side proxy, so API keys never leave the browser.
Today, with over 100 licenses, the Copilot is my best-selling plugin. Two years ago, I would never have expected that!
“Is There Something Like Yoast SEO for Kirby?”
The most common question during WordPress-to-Kirby migrations isn’t about blocks or templates – it’s about SEO. Specifically: Yoast’s SEO report. Clients want to visually assess their pages by readability and search engine criteria, and stick with what they know. Yoast SEO is the undisputed heavyweight in the WordPress universe. Here too, editor experience plays a fundamental role – how do you translate that into the Kirby galaxy?
Yoast SEO’s analysis logic is open source. It runs in the browser and doesn’t need a server. With some adjustments, I was able to port it to the Kirby Panel. Kirby SEO Audit evaluates pages against 28 criteria – 17 for SEO, 8 for readability, 3 specific to Kirby. The analysis runs locally in the browser. Since no external APIs are called, there are no privacy concerns either. That fits well with the Kirby philosophy.
The Page Preview the Panel Didn’t Have Until Kirby 5
For years, one of the ten most requested features for Kirby was a live preview in the Panel that shows unsaved changes in real time. It sounded doable, but turned out rockier to implement than expected.
A live preview walks a fine line between usefulness and gimmick, between editorial empowerment and distraction. I think I pulled it off – you can switch between mobile, tablet, and desktop views, and clicking in the preview opens the corresponding Panel page instead of following the link.
In December 2025, the Kirby team announced their own live editor for version 6 – including synced scrolling and viewport switching. My plugin had clearly filled the right gap. In the community Discord, Nico Hoffmann from the core team commented:
@Johann it was too good to not get sherlocked eventually
Getting sherlocked is just about the most flattering way to have your plugin made obsolete. A shame for future plugin sales, but clearly I inspired the Kirby devs! While the Live Preview handed its future to Kirby 6, the real surprise success came from the opposite direction: not building something new, but rethinking an existing plugin from the ground up.
The Surprise Hit: DeepL-Powered Translations
Secretly, it was the Kirby Content Translator that got the ball rolling. As a free open-source plugin – DeepL-powered translation of fields in the Kirby Panel – I was so happy with the user experience that it first got me thinking about building commercial plugins at all. The UX felt so right that I overhauled the plugin from scratch and turned it into a pro version: recursive translation of all nested blocks, layouts, and structure fields. One-click translation of entire pages. Beyond DeepL, AI models from OpenAI, Anthropic, or Google can also be used as the translation engine.
In a short time, the Content Translator reached over 100 licenses – the fastest growth of my four plugins. Translation is apparently a more universal need than I thought. From federal ministries to open-source projects to cultural institutions in France.
The Ecosystem Under the Hood
Building plugins is one thing. Selling them is another. Behind the four plugins is an ecosystem that grew over two years: a website, interactive playgrounds where people can try the plugins directly in the Panel without buying, a license server, and a customer portal. Designing the documentation and test environments felt like it took as long as building the plugins themselves.
At the core is a license server that I host with Nitro on Cloudflare Workers. A D1 database stores all licenses. When someone purchases a plugin through Paddle, the server processes the webhook, creates the license, and sends a confirmation email. The entire flow – from clicking "Buy" to an activated license in the Panel – runs automatically.
Through the Kirby Tools Hub, buyers can view their licenses and use upgrade discounts. Activation happens directly in the Kirby Panel: enter your email and license key, done. Initially, it required a private Composer registry with authentication – cumbersome for everyone. Today, all plugins are open source on GitHub and available on Packagist, following the same model as Kirby itself: code open, license for production.
A fair licensing model was important to me: one license, unlimited projects, no subscription. When Kirby ships a major release though, the plugins usually follow suit – and a new license generation begins. Existing customers get an upgrade discount.
I switched payment providers once. Lemon Squeezy was my starting point – easy and quick to integrate. After the acquisition by Stripe, the platform stagnated though. In early 2026, I migrated to Paddle. The checkout is now an overlay directly on kirby.tools, no redirect.
Who Actually Uses This?
As of March 2026, 380 licenses are in circulation, spread across four plugins. No marketing budget, no ads, no cold outreach. The plugins sell through the Kirby community, word of mouth, and search engines. A big thanks goes above all to Kirby’s plugin marketplace, which provides me with a central funnel.
What surprises me most – who uses my plugins. Among the licensees are:
- openDesk – the digitalization project of the German Federal Ministry of the Interior
- Schwarz Group – the corporation behind Lidl and Kaufland
- Zammad – one of the best-known open-source helpdesk solutions
- BBBank, Debeka, EnBW, and Bosch
Is It Worth It?
That depends on your frame of reference. The development effort doesn’t pay off if you think in hourly rates. But that was never the benchmark. Plugin sales are also a way to cross-fund my unpaid open-source work – donations that wouldn’t reach me otherwise.
What is worth it is what emerged along the way. A deep understanding of payment systems, licensing, and serverless infrastructure. And above all: a warm exchange with fellow developers. My biggest worry was not being able to meet expectations – after all, I offer a 30-day refund policy. If nobody has been dissatisfied enough to want their money back so far, the plugins can’t be entirely dysfunctional.
And an ecosystem that works. From the webhook to the activated license in the Panel – I built every component myself, made every decision myself. That’s what fulfills me most about this project: the certainty of having created something of my own that also shows in the sales numbers.
What’s Next
What plugin comes next? Honestly, I don’t have an idea for a new one right now. But maybe you do? Drop me a line – I’m all ears.