This package is abandoned and no longer maintained. No replacement package was suggested.

Kirby 3 Plugin to check health of your CMS installation.

2.1.0 2022-02-22 13:26 UTC


With Kirby 3.7 introducing an improved system view most important checks have been covered. Thus I will not continue to work on this plugin.

Kirby 3 Doctor

Release Downloads Build Status Coverage Status Maintainability Twitter

Plugin to check health of your CMS installation

Commercial Usage

Support open source!

This plugin is free but if you use it in a commercial project please consider to sponsor me or make a donation.
If my work helped you to make some cash it seems fair to me that I might get a little reward as well, right?

Be kind. Share a little. Thanks.

‐ Bruno
Github sponsor Patreon Buy Me a Coffee Paypal dontation Hire me


  • unzip as folder site/plugins/kirby3-doctor or
  • git submodule add site/plugins/kirby3-doctor or
  • composer require bnomei/kirby3-doctor



Usage Kirby Panel

This plugin will register a Panel Area "Doctor". Many thanks to @Daandelange for PRing this feature. Alternatively you could also add the button to perform the checks on any other view.

    type: doctor
    label: Perform checks
    # progress: Performing checks...

Usage Kirby API (post Authentification)

let doctor = fetch('')
  .then(response => response.json())
  .then(json => {

Provided Checks

  • CheckPHPVersion (laminas): Kirby installation requirements
  • CheckPHPExtension (laminas): Kirby installation requirements
  • CheckKirbyFolders (laminas): Read/Write-Access to core Kirby folders
  • CheckGitFolder: No public .git folder
  • CheckHtaccess: Has a .htaccess file
  • CheckKirbyAccount: Has at least one account
  • CheckKirbyCacheSize: Cache folder not too big
  • CheckKirbyLicense: License exists (on non localhost)
  • CheckKirbyMediaSize: Media folder not too big
  • CheckKirbySystem: Kirby build-in system checks
  • CheckKirbyVersion: Is Kirby up-to-date
  • CheckSSL: Using https scheme

Custom Checks

You can add custom checks or disable build checks using the checks setting in the config file.

return [
    '' => [
        "MyNamespace\\MyClass" => true, // enable new
        "Bnomei\\CheckKirbyCacheSize" => false, // disable build-in
    // ...

You can also use your own plugin to define checks (since 1.2.0). Many thanks to @fabianmichael for the great idea.

Kirby::plugin('my/plugin', [        // your plugin
  '' => [       // required option id
    "MyNamespace\\MyClass" => true, // enable new

Contribute: You have an idea for a check or a plugin defining a check? Please create a new issue or submit a PR.

Settings Default Description
expire 24*60 minutes to cache the results and not run tests again
debugforce true will expire the cache every time if option('debug') is true as well.
checks [] example: ["MyNamespace\\MyCheckClass" => true, "Bnomei\\CheckGitFolder" => false] Attention: Namespaces must use \\-notion.
log.enabled true will create a log file if Kirby Log Plugin is installed as well.
log callback to kirbyLog()



This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.



It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.