1000 pages with 30,000 tags

Hello everyone, I’ve encountered a dilemma and decided to seek advice from the community regarding possible solutions. I have an average-sized website about shopping malls, which serves as a directory listing what stores are there, whether there’s a cinema, etc. There are about 1,000 malls listed on the site, and approximately 30,000 stores categorized as taxonomies. Importing and exporting this data isn’t really an issue, but I’m concerned about two things:

  1. Will Hugo take too long to build such a large site?
  2. If I don’t use any kind of CMS on top, will I run into issues with duplicate tags, such as “adidas” and “adidas shoes”? And when creating a new mall, I’ll only discover these duplicates after the fact…

Alternatively, should I consider using tags only for major brands (I think there might be up to 1,000 of those), while treating individual stores simply as part of the content on each mall’s page (as an additional field)?

I asked this question hoping to hear from someone who may have faced a similar challenge. Perhaps, for Hugo, this isn’t even an issue at all. In any case, thank you in advance for your response.

I do not think the build time will be a big issue for this site. But test and see, Hugo scales linear up to quite big sites.

Regarding taxonomies, do you want to have a page for each store that list all the malls they are at?

If yes, then taxonomies are the perfect tool for that.

If no, I recommend you add stores as params in the frontmatter.

Taxonomies take time to build, if you do not need them it’s no point in spending time on it.

A good CMS can help you with handling lists of terms by allowing you to pick from a list. Avoiding different spellings etc.

For my own projects I tend to skip CMS. I would likely add a list of stores as a data set with all the store names. Then in my template I would add a check to see if the values in each post match the data set. If not I would output a warning.

2 Likes

So, ignoring your questions for a moment, in my head taxonomies are mostly useful for many to many relations where you typically have much fewer terms than pages.

So, cinema would be a good tag. But when you say store, is that more like a brand/chain? As in; the Adidas chain has a store in these malls? If so, 30.000 sounds like a lot (to be useful).

2 Likes

Thank you all very much for the recommendations! In the end, I settled on this option:

---
shops:
  - type:
      - Clothes
    stores:
      - Adidas
      - Zara
      - Nike
---

After all, shops are primarily content on a page rather than taxonomy, as @bep correctly pointed out.
And if we ever want to implement search or sorting by a specific shop, it won’t be a problem :smile:

Taking this opportunity, I would like to give credit to TinaCMS. After a couple of attempts, I was able to add such a field to the admin panel, even though I had no prior experience with JavaScript (thank God for GPT!).

chrome_lhONLeaCGq-ezgif.com-optimize

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.