DRY year and month blueprints

I am working on a website with 10.000th of pages. Therefore I have split pages into year and month folders: news/2026/03/article-1/. the blueprints I am using are news-year and news-month. However, I have 4 more post types next to news, which are stories, videos, jobs and gyms.

I don’t want to create additional stories-year, … files. I thought I could solve this with an PHP-Blueprint. But I figured out that I don’t have access to $page. The only thing which really needs to change in the blueprint are probably template, create and maybe headline in the month blueprint:

title: Month
options:
  changeTemplate: false

sections:
  news:
    type: pages
    headline: Articles
    template: article
    create: article
    sortBy: date desc

Any ideas?

Use Routes: Routes | Kirby CMS

I honor your answer, Tobi. But I can’t make sense out of it. How would it help with blueprints in the panel?

I would not have individual pages for years and months, but have everything in one folder, and then use routes to delegate.

Got it! However, with 20.000+ articles I decided against a flat structure. This way the router remains fast even without cache. The frontend URL structure is without years/month/ but I am using it in the panel to keep everything fast.

In that case, you could simply do the following:

# pages/stories-month.yml
extends: pages/stories-year
title: Month

# [... everything else stays the same ...]