Jack Baty

Director of Unspecified Services

A different URL for posts

UPDATE I changed my mind. Since there's no good way to remove the monthly process for journal posts, I may as well keep doing it for regular posts, too.


I enjoy using Kirby CMS for this blog, but the way I've set things up means that the beginning of each month requires blueprint changes and manual creation of new folders. I'm sure I'm doing things wrong, but I've been too lazy to figure it out.

I prefer a URL format of /YYYY/MM/post-slug/, and by default Kirby's URLs match its content location1, so posts need to go in /content/2_posts/2024/MM/. The posts.yml blueprint includes this (in July, 2024):

parent: kirby.page("posts/2024/07")

This forces new posts to be created in the proper folder, but also means that I had to change the "07" to "08" in the .yaml file this morning and deploy the change. I also had to manually create a new "08" folder on the server, because the blueprint expect it. The same is true for my Journal folders. Oh, and I need to change the new folders' permissions to 775 because of how users are set up on the server.

It's not difficult to do this, but it's a pain and I always forget, so I'm moving things so that the URL no longer includes the month. So, this post is /2024/a-different-url-for-posts/. I'm letting Kirby handle the actual content files, so I don't really care where they go.

There, I've just spent an hour and saved myself 5 minutes a month 🙄. Who knows, maybe someone will read this and show me some simple way to manage this. I hope so.


  1. There are ways to add routes in Kirby, but I find it confusing and prefer to avoid the abstraction.