Skip to content

Virtual pages helper kit

'en' => [
        'id'      => 'some-uuid',
        'slug'    => 'slug-in-english',
        'content' => [...]

Opinionated boilerplate helper to make it easier to work with virtual pages in a multilingual kirby 3 setup.

Related plugins

return [
    'afbora.loader.roots' => [

Plugin Loader

by Ahmet Bora

With Kirby Loader you can load plugins from multiple roots. Thus, you can simplify the management of your plugins by grouping.
// hook
'page.product.update:after' => function () {
    // your code goes here

Template hooks

by Ahmet Bora

Template hooks allow you to manage hooks for page and file templates more easily.
use Beebmx\KirbyDB\DB;


Illuminate Database

by Fernando Gutiérrez

Use Laravel's illuminate/database package in Kirby

return [
    'debug'  => env('KIRBY_DEBUG', false),
    'secret' => env('SECRET_KEY'),
    'public' => env('PUBLIC_KEY'),


by Fernando Gutiérrez

Store project credentials and variables in a .env file and access them in Kirby
monolog()->info('test-' . time()), [
    'title' => $page->title(),
    'page'  => $page->id()


by Bruno Meilick

Use Monolog to log data to files, databases, notifications and more.
plop blueprint $ pages blogpost
plop template $ blogpost
plop content "Nice!" blog blogpost
plop content _ blog blogpost
plop snippet $ slideshow


by Bruno Meilick

CLI tool to generate and append to various files for Kirby3 CMS using Plop.js
    extends: plugin-redirects3xx


by Bruno Meilick

Setup HTTP status code redirects from within the Panel
$site->log('My message', 'error');


by Bart Vandeputte

A little log utility (KLogger wrapper)
$queue = kqQueue('queuename');
$job   = kqJob([
    'foo' => 'foo',
    'bar' => 'bar'



by Bart Vandeputte

Enable workers in Kirby that can do tasks in the background at scheduled intervals (cron) by working through queues of jobs


by Sam Serrien

Helper tool that enables ray ( on all extendable methods.
- kirby install
- kirby install:kit
- kirby install:repo
- kirby make:blueprint
- kirby make:collection
- kirby make:command


by Kirby Team

The Kirby command line interface helps to simplify common tasks with your Kirby installations.
└ methods
  └ file.php
  └ page.php
  └ site.php
  └ user.php

Methods Folder

by hana+nils

Methods Folder is a plugin to automatically register local methods provided in the folder site/methods just like Kirby accepts local …
<?php foreach ($notifications as $notification): ?>
    <?= $notification
      ->title() ?>
<?php endforeach ?>


by hana+nils

Tracker is a plugin to track content changes and create panel logs or front-end notifications in member areas.
kirbylog('Something happened', 'error');


by Johann Schopplich

Zero-dependency global kirbylog() helper for any content


by Michael Scheurich

This plugin logs all actions in the panel and displays them in a separate view.
'maintenance' => true

Maintenance Mode

by Moritz Ebeling

Switch your website to maintenance mode and it will only be visible to logged in users.


by Dieter Stokar

A small set of syntax extensions greatly expand expressiveness of Markdown. Helps where you'd need complex templates. See dedicated Doc …
// site/routes/my-awesome-route.php
use PresProg\RouteAttributes\Attributes\Get;

return #[Get('/hello')] function () {
    return '<h1>Hello world!</h1>';

Route Attributes

by Present Progressive

Use PHP8 attributes to define metadata for your custom routes in separate files.
class MigrationTest extends Migration
    public function up()
        $result = Db::query(
            'ALTER TABLE `my_table`
            ADD COLUMN `test` INT DEFAULT NULL;

        if (!$result) throw Db::lastError();


by Markus Denhoff

Migrations management (eg. for Databases)


by Markus Denhoff

Sentry real-time crash reporting for Kirby CMS sites

Other plugins by Bart Vandeputte