When I created the current iteration of my website[1], I started out just adding some custom export formatting advice to the default ox functions. I couldn't resist add some additional functionality, though, and it takes refreshingly little work: There's one function that iterates through the Org source files and uses the built-in Org functions to query the files for tags, title, date, and so on. The result is memoised in a list, and then various other functions iterate through that list to generate index page, tag listing, and so on.
I started working on ox-hugo exactly to have an Org export solution that exports the content + meta-data. If you look at the screenshots on the ox-hugo homepage (linked in BeetleB's comment), you'll see what I mean.
Ask me anything about it.