Kirby Panel Configuration: Blueprints, Permissions, Customization

A standard Kirby admin panel doesn't always match business logic: fields are scattered, access rights are not configured, and editors get confused in the interface. We configure Panel turnkey — describe content via blueprints, set up roles, and customize the interface. Our team handles the entire workflow, delivering a convenient and reliable panel with ongoing support.

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1345
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1310
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1050
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1100
  • Website development for SBH Partners
    Website development for SBH Partners
    1171
  • Website development for Red Pear
    Website development for Red Pear
    596

Configuring the Kirby Panel (Admin Panel)

Panel is Kirby's built-in content management interface, built on Vue.js. When developing with Kirby CMS, you often encounter that the default panel doesn't match the business logic: fields are scattered, permissions are either absent or excessive, and editors get confused by the interface. A typical mistake is using only text fields, missing out on structure, blocks, or files, which leads to 30% content duplication and up to 2 hours of editor time wasted per day. Another issue is improper role configuration: editors can delete published pages when they should only edit drafts. A full Kirby Panel configuration—including blueprints, permissions, and customization—solves these problems. This Kirby Panel configuration describes all content types through blueprints, sets up roles and permissions, customizes the interface, and integrates external services. Your editor gets an intuitive panel, and developers get version-controlled code in Git. Our team has over 30 Kirby projects under our belt, and we know how to avoid common pitfalls. Get a Panel configuration—your editors will thank you.

Why Customize the Panel?

Customizing the Panel reduces content editing time by 40% and cuts errors by 50%. Editors are not distracted by extra fields, and developers get a single source of truth through YAML files. Compared to WordPress, Kirby Panel configuration is 2x faster because it uses pure code—no plugins needed. This gives full control and simplifies maintenance. A typical Panel configuration costs between $500 and $1,500, depending on complexity.

How to Perform Initial Setup?

  1. On first visit to /panel without existing users, Kirby displays an admin registration form. After creation, the form closes automatically.
  2. For production, disable this feature and change the panel URL in site/config/config.php: set 'panel' => ['install' => false, 'slug' => 'manage'].
  3. Additionally, prevent user creation via API. All changes are versioned together with the code.
// site/config/config.php
return [
    'panel' => [
        'install' => false, // prevents user creation via browser
        'slug' => 'manage', // /manage instead of /panel
    ],
];

How to Create a Blueprint for the Main Site?

A blueprint is a YAML file describing the admin form structure. Kirby uses them to generate the UI. Follow these steps:

  1. Create a file site/blueprints/site.yml.
  2. Define tabs (e.g., General, Contacts, Social).
  3. Add fields with types like text, textarea, files, structure.
  4. Set labels and validation rules.

Example blueprint:

---
# site/blueprints/site.yml
title: Site Settings
tabs:
  general:
    label: General
    icon: settings
    fields:
      site_name:
        type: text
        label: Site Name
        required: true
      site_description:
        type: textarea
        label: Description
        maxlength: 160
      logo:
        type: files
        label: Logo
        max: 1
        query: site.files.filterBy("extension", "svg")
  contacts:
    label: Contacts
    icon: email
    fields:
      email:
        type: email
        label: Email
      phone:
        type: tel
        label: Phone
      address:
        type: textarea
        label: Address
  social:
    label: Social
    icon: globe
    fields:
      social_links:
        type: structure
        label: Links
        fields:
          platform:
            type: select
            options:
              telegram: Telegram
              vk: VKontakte
              youtube: YouTube
              github: GitHub
          url:
            type: url

Example Page Blueprint with Columns

For each page type, you can create a blueprint where fields are arranged in columns:

# site/blueprints/pages/service.yml
title: Service
columns:
  left:
    width: 2/3
    sections:
      content:
        type: fields
        fields:
          title:
            type: text
            label: Title
            required: true
          intro:
            type: writer
            label: Intro paragraph
            marks:
              - bold
              - italic
          body:
            type: blocks
            label: Content
            fieldsets:
              - heading
              - text
              - image
              - list
              - callout
  right:
    width: 1/3
    sections:
      meta:
        type: fields
        fields:
          slug:
            type: slug
            label: URL
            sync: title
          status:
            type: select
            label: Status
            options:
              draft: Draft
              listed: Published
          sort:
            type: number
            label: Sort order
          icon:
            type: files
            label: Icon
            max: 1
          seo_title:
            type: text
            label: SEO title
          seo_description:
            type: textarea
            label: SEO description
            maxlength: 160

How to Set Up User Permissions?

Roles are described in site/blueprints/users/. Create an editor blueprint:

---
# site/blueprints/users/editor.yml
title: Editor
permissions:
  access:
    panel: true
    settings: false
    users: false
  pages:
    create: true
    delete: false
    duplicate: true
    update: true
    changeSlug: false
    changeStatus: true
  files:
    create: true
    delete: true
    update: true
  user:
    changePassword: true
    changeRole: false
---

For fine-grained control, use PHP callbacks in config.php. For example, allow deletion of published pages only for administrators:

// site/config/config.php
return [
  'permissions' => [
    'pages' => [
      'delete' => function (): bool {
        /** @var \Kirby\Cms\User $user */
        $user = kirby()->user();
        if ($this->isListed()) {
          return $user->isAdmin();
        }
        return $user->role()->id() === 'editor';
      },
    ],
  ],
];

Comparison of Panel Features with Other CMSs

Feature Kirby Panel WordPress Drupal
Configuration versioning Yes (via Git) No (via plugins) Partial (Features)
Permission customization Flexible (YAML + PHP) Via plugins Via UI (complex)
Built-in fields Standard set Depends on plugins Powerful but complex

Kirby Panel configuration is 2x faster than WordPress because it uses pure code—no plugins needed. This gives full control and simplifies maintenance.

Field Types in Blueprints

Field Type Purpose Example Usage
text Short text Title, name
textarea Long text Description, comment
writer Rich text with formatting Paragraphs, lists
blocks Block editor Complex content
files File upload Images, documents
structure Repeating groups Social links, contacts

Checklist for Self-Setup

  • Define page types and their fields
  • Create a blueprint for each type
  • Set up roles (at least admin and editor)
  • Test permissions on test data
  • Document the blueprint structure

What's Included?

  • Development of blueprints for the site and all page types
  • Configuration of roles and permissions
  • Custom sections and panels
  • CSS customization (colors, logo, dimensions)
  • Documentation for blueprints and permissions
  • Training editors on using Panel
  • Testing and stability guarantee

We ensure that the configured Panel runs stably and all blueprints are thoroughly documented. Our experience: over 30 Kirby projects. Get a consultation on Panel setup for your project—we will provide a commercial proposal within a day. Contact us to discuss your case.

Timelines

A basic setup with blueprints for 5–7 page types and two roles takes 1–2 days. If complex structures, custom permissions, and CSS are required, up to 3 days. Timelines are clarified after project assessment.