Best Practices for Using Grav as a Blog?

I am looking into using Grav to manage my website, including a blog (the blog will be its own section, i.e. a directory called in the Grav structure, with the url of

I’m trying to figure out how best to structure and then display the posts/pages within the blog section. I’ve used some other other flat file CMSes in the past, most recently Kirby. I do worry that putting all of the posts in the same level of the blog directory could slow down the performance of loading the page. I seem to recall that happened to me with Kirby (I exported posts from past blogs as text files for Kirby), so I did end up organizing them in directories by year. We’re talking a few hundred posts, not thousands, though they span about 14 years at this point. I am an infrequent/inconsistent blogger at best. :wink:

I saw someone else with a similar question on the forum, but I’m not yet sure if I want to go this direction or not. I have a few questions.

  1. It does seem a bit clunky to have to add a line f or the collection for each year, in order to avoid showing the years themselves as pages in the list. I’d like to avoid that if possible. (Also, I can’t get it to work, but let’s put that aside for now, because that’s presumably a solvable problem if I decide to go that direction.)
  2. I like having the date in the url for an individual post. Is there any way to accomplish this without putting the posts in directory by year, month, etc?
  3. I worry about title collisions if the posts are all in one directory. If I gave two posts the same title, it’s possible to create a directory called 03.some-title and 10.some-title, but I am not how Grav would react, since the number is not part of the URL, therefore both could be considered the asme. I tried a quick test, and it did not seem like it handled it well. It seemed to prevent Grav from loading the posts in that directory. And yet, I don’t know how to tell if a title has been used before, without scanning the directory myself, so how could one be sure to avoid it?

Any suggestions that anyone could offer would be appreciated.