Projects on Pico: when a flat-file CMS solves the task
Imagine: you need a simple business card website, but WordPress seems bloated, and setting up the admin panel takes time. Pico CMS is a flat-file CMS on PHP that stores content in Markdown files, works without a database, and launches on any hosting in 5 minutes.
We have been developing projects on Pico for over 10 years and have delivered more than 50 websites — from landing pages to corporate business cards. Below we will break down when Pico is the best choice and how we approach development.
What is Pico CMS and what projects is it suitable for?
Pico CMS is a minimalist flat-file CMS on PHP. Its core consists of a few thousand lines of PHP, without an ORM, without abstraction layers, without an admin interface. Content is stored in Markdown files, templates are written in Twig.
Pico is suitable for projects where simplicity matters more than functionality: library documentation, a developer's portfolio, a product landing page, a personal blog, a static API for JAMstack. It deploys in 5 minutes and runs on any PHP hosting.
Pico is not suitable for websites with user-generated content, complex access rights, or large volumes of structured data.
Why is Pico faster than traditional CMS?
Pico generates pages on the fly from Markdown without database queries. This delivers minimal response time (TTFB) — usually 20–30 ms — and low server load. In addition, Pico is easily cached at the web server level.
For example, when using Nginx, you can configure full-page caching. Development on Pico costs less because it does not require expensive hosting or licenses — you save at every stage.
How much savings does Pico provide compared to WordPress?
The cost of development on Pico is usually 30–50% lower than on WordPress, thanks to the absence of a database and the simplicity of the architecture. Hosting for Pico can cost 2–3 times less, since the simplest PHP hosting is enough.
Website maintenance also requires fewer resources: updating content via Markdown files does not take much time, and backup comes down to copying the folder with files.
Site structure
mysite/
content/ # Markdown-контент (аналог pages/ в Grav)
index.md # главная страница → /
about.md # → /about
services/
index.md # → /services
web-dev.md # → /services/web-dev
blog/
index.md
post.md
themes/
my-theme/ # активная тема
plugins/ # плагины
config/
config.yml
lib/ # ядро Pico (не трогать)
vendor/
index.php
Page frontmatter
---
Title: Разработка веб-сайтов
Description: Создание сайтов под ключ на современных технологиях
Author: Команда
Robots: index,follow
Template: service
Tags: web, php, frontend
---
## Разработка сайтов
Текст страницы в **Markdown**.
---
Navigation and structure
Pico automatically builds a pages array in Twig — all pages of the site:
{# Навигация первого уровня #}
{% for page in pages if page.id|split('/')|length == 1 and not page.hidden %}
<a href="{{ page.url }}" class="{{ current_page.id == page.id ? 'active' : '' }}">
{{ page.title }}
</a>
{% endfor %}
Configuration
---
# config/config.yml
site_title: Мой сайт
base_url: https://mysite.com
theme: my-theme
date_format: d.m.Y
timezone: Europe/Minsk
rewrite_url: true
pages_order:
by: alpha # alpha | date | meta
asc: true
content_dir: content/
content_ext: .md
---
How do we develop projects on Pico?
The work process includes four stages:
- Analysis and design — we draw up a sitemap, define templates, and agree on the structure of Markdown files.
- Markup in Twig — we create templates from scratch or adapt an existing theme. We use Tailwind or pure CSS, and connect JavaScript as needed.
- Content integration — we fill pages with content, prepare images, and configure plugins (for example, for a sitemap or RSS).
- Testing and deployment — we check link correctness, responsiveness, and performance. We upload to hosting via FTP or Git.
Typical mistakes when working with Pico
A common mistake is trying to use Pico for projects with dynamic content where an admin panel is needed. Pico has no management interface, so all changes are made through files. If you have several authors without technical skills, it is better to choose another CMS.
The second mistake is an incorrect content structure: Pico uses nested folders for URLs, and if you do not configure rewrite_url: true, links will have ?page=.... We recommend enabling clean URLs right away.
Comparison of Pico CMS with other flat-file systems
| Parameter | Pico CMS | Grav | Eleventy |
|---|---|---|---|
| Template language | Twig | Twig | Liquid / Nunjucks |
| Database | No | No | No |
| Admin panel | No | Yes (plugin) | No |
| Load time | < 50 ms | < 100 ms | < 50 ms |
| Community | Small | Large | Large |
| Learning curve | Low | Medium | Medium |
What is included in the work and typical projects
- Installation and configuration of Pico CMS on your hosting
- Development of a responsive template with custom design
- Domain and SSL connection
- Configuration of clean URLs and robots.txt
- Image optimization and CSS/JS minification
- Documentation on working with the file structure
- Handover of source code and access rights
- 30-day warranty for bug fixes
| Type | Templates | Timeline |
|---|---|---|
| Landing page | 1–2 | 3–7 days |
| Portfolio | 3–5 | 1–2 weeks |
| Blog/documentation | 4–6 | 1–2 weeks |
| Corporate business card | 4–7 | 1–3 weeks |
Contact us to discuss your project — we will assess the task and propose the optimal solution. Order a consultation on implementing Pico on your existing website.







