// Kirby CMS Integration
AI ready structured data for
AI ready structured data for
Kirby CMS.
Kirby is a flat-file content management system built with PHP. It stores all content in text files and folders rather than in a database. This file-based architecture means no database queries on page load, no database configuration required during setup, and no SQL-related security vulnerabilities.
With enhancely, your Kirby site becomes instantly readable for AI systems like ChatGPT, Perplexity, and Google AI Overviews. The plugin generates rich JSON-LD structured data automatically, without touching your existing content.
graph LR A["Browser Request"] --> B["Kirby CMS"] B --> C["kirby-enhancely Plugin"] C --> D["enhancely API"] D --> E["JSON-LD"] E --> C C --> F["Kirby Cache"] F --> C B --> G["HTML + JSON-LD"] H["Panel Update"] -.-> I["Cache Invalidation"] I -.-> F
// How it works
One line. Done.
The plugin handles everything automatically via Kirby’s native architecture.
01
API Request
enhancely analyzes your page content via API when a visitor requests a page.
02
JSON-LD Generation
JSON-LD is generated based on your actual content — no hallucinations, no made-up data.
03
Native Caching
Kirby’s built-in cache stores the response, so subsequent requests are instant.
04
Auto-Invalidation
Cache clears automatically when you update content in the Panel.
// Features
What you get.
1
One-Line Integration
Add <?= enhancely() ?> to your template. That's it. Seriously.
ET
ETag Caching
Only fetches new data when content actually changed. Uses Kirby's native cache.
AI
AI Ready
Instantly visible to ChatGPT, Perplexity, Google AI Overviews, and all search engines.
// Getting started
Quick setup.
01
Create account
Create your enhancely account and get your API key
02
Install plugin
composer require enhancely/kirby-enhancely
03
Configure API key
Add your API key to site/config/config.php
04
Add to template
Add <?= enhancely() ?> to your template's <head>
Installation
Via Composer (recommended)
composer require enhancely/kirby-enhancely
Via Git Submodule
git submodule add https://github.com/enhancely/kirby-enhancely.git site/plugins/kirby-enhancely
Configuration
return [
'enhancely.apiKey' => 'your-api-key-for-example-com'
];
Usage
Add one line to your template’s <head> section:
<?= enhancely() ?>
That’s it. The function outputs a complete <script type="application/ld+json"> block.
Compatibility & Requirements
PHP 8.2 or higher
Kirby 4.x or 5.x
enhancely account with API key for your domain
// FAQ
Kirby CMS & enhancely
Kirby CMS & enhancely
FAQ.
Kirby is a flat-file CMS built with PHP that stores all content in text files and folders instead of a database. This means no database queries on page load, no database configuration during setup, and full version control of content via Git. Kirby is known for its clean architecture, a powerful Panel for content editors, and complete template freedom — developers are not locked into any frontend framework. It requires PHP 8.2+ and is popular with agencies and developers who value simplicity, performance, and full control.
Kirby does not include built-in Schema.org markup generation. While developers can manually create JSON-LD in PHP templates, maintaining structured data across all pages, content types, and languages requires significant ongoing effort. Every content model change means updating schema logic. enhancely provides a native Kirby plugin (installable via Composer or Git submodule) that adds a single function call to your template's section — from there, all 806 Schema.org types are generated and validated automatically for every page.
Two options: via Composer (recommended) with a single command, or as a Git submodule. After installation, add one line to your template's head-section — that's the complete setup. The plugin outputs a application/ld+json block with validated schema for every page. Requires PHP 8.2+ and works with Kirby 4.x and 5.x. No database needed since Kirby is flat-file based.
Yes. enhancely reads the rendered page output, not Kirby's internal content structure. This means it works with any template, any blueprint, and any content type — articles, products, team pages, events, FAQs, custom block types. Whether you use Kirby's blocks field, layouts, structure fields, or custom fields, enhancely generates the appropriate schema markup automatically based on what appears on the rendered page.
Every piece of markup passes through a 3-layer curation pipeline before deployment. Layer 1 (Validity) checks against the full Schema.org specification — all 806 types, every property, every value range. Layer 2 (Factuality) cross-references structured data against your actual page content — no hallucinated data, no invented prices, no phantom opening hours. Layer 3 (Compliance) verifies Rich Result eligibility against Google, Bing, and AI search engine guidelines. Peer-reviewed research (Dang et al., Semantic Web Journal, IOS Press, 2025) showed that without such a pipeline, 40–50% of AI-generated markup is invalid or non-compliant.
Yes. Multiple JSON-LD blocks on a single page are valid and supported by all major search engines — Google, Bing, and others evaluate and merge all structured data blocks they find. enhancely adds additional, validated markup without conflicting with or overwriting your existing schema. If enhancely detects invalid or outdated markup from other sources, Schema Healing can automatically identify and repair it — so legacy schema from previous tools or manual implementations gets fixed and kept current.
Stop leaving
bots hungry.
Your content is already great for humans. Let us make it perfect for bots.