👩‍💻👨‍💻 We are a new team company! Learn more
Skip to content

Robots.txt

return [
    'bnomei.robots-txt' => [
        'content' => '...'
    ]
];

Manage the robots.txt from Kirby's config file

Related plugins

<html <?= $site->langAttr() ?>>
  <head>
    <meta charset="utf-8">
    <?= $page->htmlhead() ?>
  </head>
  ...

HTMLHead

by Bruno Meilick

Add a best-practice HTML head element to your templates, extendable with snippets

Seobility – Keyword check

by Bruno Meilick

Plugin to use the free and paid API of Seobility.net like the keyword check
<?php snippet('jsonld') ?>

Structured data

by Christian Fickinger

Advanced SEO for structured data to organize and connect microdata based on JSON Linked Data format (JSON-LD).

MetaKnight

by diesdas.digital

Win every SEO fight. MetaKnight is a handy SEO plugin for the flat-file CMS Kirby. It has mighty powers.
<?= $site
    ->schema('LocalBusiness')
    ->name('Hash&Salt')
    ->email('email@example.com')
?>

Schema

by Hash&Salt

Easily generate JSON schema for any kind of structured data in the RDFa specification.
<?php snippet('seo/meta') ?>

SEO

by Hash&Salt

A small plugin for generating meta data using shared controllers and field data. Also creates Facebook Opengraph and Twitter social sharing …
HeadlineWellKnown:
  type: headline
  label: well-known
  numbered: false

TheWellKnown:
  extends: omz13/wellknown

WellKnown

by David Somers

Provide files like /robots.txt, .well-known, etc.
return [
  'omz13.xmlsitemap' => [
    'cacheTTL' => 60,
    'includeUnlistedWhenSlugIs' => [...],
  ]
];

XML Sitemap

by David Somers

Generates a sitemap for search engines. Can be configured to include/exclude certain pages and more.
<html>
  <head>
    <meta charset="utf-8">
    <?= $page->metaTags() ?>
  </head>
  ...

Meta Tags

by Pedro Borges

HTML meta tags generator that supports Open Graph, Twitter Cards, and JSON Linked Data out of the box

Other plugins by Bruno Meilick

$page->AUTOID()

AutoID

by Bruno Meilick

Automatic unique ID for pages, structure objects and files including performant helpers to retrieve them. Bonus: Cache for collections and …
// kirby core
$page = page($id);

// ~10x faster lookup
$page = bolt($id);

Bolt

by Bruno Meilick

Provides a fast page lookup even in big content trees.
// kirby core
$page = page($somePageId);
// faster
$page = boost($somePageId);
// fastest
$page = boost($somePageDirUri);

Boost

by Bruno Meilick

Boost the speed of Kirby by having content files of pages cached, with automatic unique ID, fast lookup and Tiny-URL.

CloudConvert

by Bruno Meilick

Plugin to convert your files to other file types (i.e. mov to animated gif), using cloudconvert.com
return [
    'bnomei.securityheaders.headers' => [
        'X-Frame-Options'        => 'SAMEORIGIN',
        'X-XSS-Protection'       => '1; mode=block',
        'X-Content-Type-Options' => 'nosniff',
        ...
    ]
];

Content Security Policy

by Bruno Meilick

Simplify the content security policy headers setup for your website

Doctor

by Bruno Meilick

Check the health of your Kirby installation
env('APP_DEBUG');

DotEnv

by Bruno Meilick

Store project credentials and environment variables in a .env file and access them in Kirby
page('blog')->children()->feed([
    'title'       => 'Latest articles',
    'link'        => 'blog'
]);

Feed and Sitemap

by Bruno Meilick

Generate a RSS or JSON-Feed or XML-Sitemap from a collection of pages
<?= $page->thumbsUp()->ecco('👍', '👎') ?>

Field Ecco

by Bruno Meilick

Field method to echo strings based on the boolean value of a field
$page->file('ukulele.pdf')->fingerprint();

Fingerprint

by Bruno Meilick

File method and css/js helpers to add hashes to assets and files
<article id="{{ page.slug }}">
  <h2>{{ page.title }}</h2>
  {{ page.text }}
</article>

Handlebars Templates

by Bruno Meilick

Component, snippet and page method for semantic templates with Handlebars and Mustache
<html <?= $site->langAttr() ?>>
  <head>
    <meta charset="utf-8">
    <?= $page->htmlhead() ?>
  </head>
  ...

HTMLHead

by Bruno Meilick

Add a best-practice HTML head element to your templates, extendable with snippets
<?= $page->myfield()->htmlPurify() ?>

HTML Purifier

by Bruno Meilick

Static class method, Uniform-Guard and Field-Method to filter your "dirty" HTML inputs to "clean" HTML.

ImageOptim

by Bruno Meilick

Thumb component to optimize images using the ImageOptim Api

Janitor

by Bruno Meilick

Run jobs – like cleaning the cache – from within the Panel, PHP code or a cronjob
$key  = crc32($page->url());
$data = lapse($key, function () {
    return [1, 2, 3];
});

Lapse

by Bruno Meilick

Cache any data until the set expiration time

Mailjet

by Bruno Meilick

Send transactional SMS, transactional E-Mail and Campaigns with Mailjet
<?php if ($page->isMobile()): ?>
  Nice mobile phone!
<?php endif ?>

Mobile Detect

by Bruno Meilick

Static class and page methods for using the mobile detect lib
monolog()->info('test-' . time()), [
    'title' => $page->title(),
    'page'  => $page->id()
]);

Monolog

by Bruno Meilick

Use Monolog to log data to files, databases, notifications and more.

MySQL Cache Driver

by Bruno Meilick

MySQL based Cache-Driver
<?= $page->counterImage() ?>

Pageview Counter

by Bruno Meilick

Track Page view count and last visited timestamp

PHP Cache Driver

by Bruno Meilick

PHP based Cache-Driver
plop blueprint $ pages blogpost
plop template $ blogpost
plop content "Nice!" blog blogpost
plop content _ blog blogpost
plop snippet $ slideshow

Plopfile

by Bruno Meilick

CLI tool to generate and append to various files for Kirby3 CMS using Plop.js

Postmark

by Bruno Meilick

Send transactional E-Mail with Postmark
fields:
  # current page
  qrcode: qrcode

QR Code

by Bruno Meilick

Generate QRCodes. The included Panel field will show the QRCode and trigger download on click.
<?= $page->random('words', 'lorem', 5) ?>

Random

by Bruno Meilick

Kirby tag and page method to generate various random values
sections:
  recmodByUser:
    type: recentlymodified
    headline: Your Recently Modified Pages

Recently Modified

by Bruno Meilick

Kirby 3 Plugin to view recently modified pages by current User (or other collections)
sections:
  redirects:
    extends: plugin-redirects3xx

Redirects

by Bruno Meilick

Setup HTTP status code redirects from within the Panel

Redis Cache Driver

by Bruno Meilick

Redis based Cache-Driver

Seobility – Keyword check

by Bruno Meilick

Plugin to use the free and paid API of Seobility.net like the keyword check

SQLite Cache Driver

by Bruno Meilick

SQLite based Cache-Driver
$page->image('ukulele.jpg')->lazysrcset()

Srcset

by Bruno Meilick

Create responsive images using the picture element, including JavaScript-based lazy loading.
site()->stopwatch()->start('myevent');
// some code to profile
site()->stopwatch()->stop('myevent');

echo site()->stopwatch()->duration('myevent');

Stopwatch

by Bruno Meilick

Profile your Kirby 3 CMS code with precision in milliseconds (or seconds).