With virtual pages, you can combine Kirby's file-based architecture with content from APIs, databases, excel sheets or any other source that's readable with PHP.
Since Kirby is a flat-file CMS, pages that make up your website usually exist as files and folders in the filesystem. This has many advantages: your web project can be version controlled, you don't have to deal with a database, it's easy to make backups, you can manually edit your content if you want, and last not least, it's also very fast.
With the new architecture in Kirby 3 you can now combine our native, file-based pages with pages from any other data source – from databases, external APIs, Excel sheets – you name them.
All virtual pages are seamlessly integrated in Kirby. Routing works out of the box, they are included in API requests and they are even manageable in the panel!
Simple virtual page
Add an ad-hoc virtual page quickly via a simple route
Content from an API
Enrich your site with content fetched from any API
Content from a database
Create pages from a database and edit, add or delete entries in the Panel
Content from a spreadsheet
Load data from a CSV file and create virtual pages for each row.
Content from an RSS feed
Load data from an RSS feed and create virtual pages for each item.
Merging content sources
Combine virtual content with content from the file system
Content locking with virtual pages
Prevent concurrent edits via the Panel