# Best way to split content into 2 "types"?

**URL:** <https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382>\
**Category:** support\
**Created:** [July 21, 2025, 3:32am UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382 "2025-07-21T03:32:07Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![herk](https://avatars.discourse-cdn.com/v4/letter/h/e9a140/32.png) [@herk](https://discourse.gohugo.io/u/herk)\
**Post date:** [July 21, 2025, 3:32am UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/1 "2025-07-21T03:32:07Z")

</div>

Hi,

I am trying to create a personal blog that has 2 different “types” of content:

- posts
- links

Where a “post” is a standard blog post and a “link” is a link to something I’ve found that is interesting. A “link” has 2 custom fields (taxonomies?):

- site (domain of link)
- format (article / video / podcast)

I would like to use the built-in tags system, but I want to be able to list the tags for all posts separate from the tags for all links. Maybe the url structure is `/posts/tags/` and `/links/tags/`, but it doesn’t have to be.

I tried using sections to accomplish this, but I couldn’t find a good way to cleanly separate the “types” of content.

Any help would be greatly appreciated!

---

<div class="post-metadata">

**Author:** ![jhvanderschee](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/jhvanderschee/32/18241_2.png) [@jhvanderschee](https://discourse.gohugo.io/u/jhvanderschee)\
**Post date:** [July 21, 2025, 11:05am UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/2 "2025-07-21T11:05:54Z")

</div>

You can use sections for this:

> **[Sections](https://gohugo.io/methods/site/sections/#article)**
>
> Returns a collection of top-level section pages.

I would not say that it is the BEST way… but it is how I would do it. It is a relatively simple way if you want to keep your frontmatter consistent within sections (which is important to me).

---

<div class="post-metadata">

**Author:** ![jmooring](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/jmooring/32/4214_2.png) [@jmooring](https://discourse.gohugo.io/u/jmooring)\
**Post date:** [July 21, 2025, 12:08pm UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/3 "2025-07-21T12:08:58Z")

</div>

> [@herk](#):
>
> but I want to be able to list the tags for all posts separate from the tags for all links

Do the two content types really share a taxonomy, or can you model the content with multiple taxonomies? It seems like:

- Posts might have a “tags” taxonomy
- Links might have a “format” taxonomy

---

<div class="post-metadata">

**Author:** ![herk](https://avatars.discourse-cdn.com/v4/letter/h/e9a140/32.png) [@herk](https://discourse.gohugo.io/u/herk)\
**Post date:** [July 21, 2025, 6:53pm UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/4 "2025-07-21T18:53:46Z")

</div>

I tried using sections, but I’m not able to list tags for each section without adding some logic to the taxonomy page

---

<div class="post-metadata">

**Author:** ![herk](https://avatars.discourse-cdn.com/v4/letter/h/e9a140/32.png) [@herk](https://discourse.gohugo.io/u/herk)\
**Post date:** [July 21, 2025, 6:54pm UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/5 "2025-07-21T18:54:33Z")

</div>

Both posts and links will have “tags”. Only links will have “format” and “site”.

---

<div class="post-metadata">

**Author:** ![jmooring](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/jmooring/32/4214_2.png) [@jmooring](https://discourse.gohugo.io/u/jmooring)\
**Post date:** [July 21, 2025, 7:10pm UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/6 "2025-07-21T19:10:58Z")

</div>

Well, if you want to list the tags per content type, and not an aggregate display, create two taxonomies:

[taxonomies]  
link\_tag = ‘link\_tags’  
post\_tag = ‘post\_tags’

Then set permalinks in your site config.

---

<div class="post-metadata">

**Author:** ![herk](https://avatars.discourse-cdn.com/v4/letter/h/e9a140/32.png) [@herk](https://discourse.gohugo.io/u/herk)\
**Post date:** [July 24, 2025, 12:48am UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/7 "2025-07-24T00:48:33Z")

</div>

Thanks! That worked. For future searchers, this is what I ended up with:

```auto
taxonomies:
  tag: tags
  link_tag: 'link_tags'

permalinks:
  taxonomy:
    link_tags: /links/tags/
  term:
    link_tags: /links/tags/:slug/

```

---

<div class="post-metadata">

**Author:** ![system](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/system/32/1_2.png) [@system](https://discourse.gohugo.io/u/system)\
**Post date:** [July 26, 2025, 12:48am UTC](https://discourse.gohugo.io/t/best-way-to-split-content-into-2-types/55382/8 "2025-07-26T00:48:53Z")

</div>

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