Taxonomie-URLs in Hugo anpassen

14. Juni 2026 · Programmierung · andreas · Kein Kommentar

Seit der Umstellung von WordPress läuft das Autoren-Archiv des Blogs weiterhin unter der von WordPress verwendeten “/authors”-URL.

Taxonomie-URLs in Hugo anpassen

In jedem Beitrag ist im Front Matter der Wert “author” gesetzt und dieser in der “hugo.toml” als eigene Taxonomie definiert:

Frontmatter
--- title: 'title' slug: 'slug' date: 9999-12-31 00:00:00 author: andreas draft: true tag: --- text
hugo.toml
... [taxonomies] txauthor = 'author' ...

Da es sich (bis auf wenige Beiträge) um ein deutschsprachiges Blog handelt und ich auch schon einige andere beim Umzug übernommene Dinge über Bord geworfen habe, sollte auch das Autoren-Archiv nach “/autor” umziehen.

Die einfachste Lösung wäre sicherlich, die Taxonomie selbst von “author” in “autor” umzubenennen, da sich aus dem Namen der Taxonomie aber auch Variablen (z.B. “.Params.Author”) ableiten, wollte ich die Verwendung eines deutschen Begriffs - und auch das Mixen von deutschen und englischen Begriffen im Front Matter - vermeiden und an dieser Stelle beim englischen “author” bleiben.

Der erste (nur teilweise funktionierende Ansatz) war das Setzen eines Permalinks für die Taxonomie in der Permalinks-Sektion der “hugo.toml”:

hugo.toml
... [taxonomies] txauthor = 'author' ... [permalinks] author = '/autor/:slug' ...

Nach dieser Änderung wurden die einzelnen Autorenseiten zwar wie gewünscht unter z.B. “/autor/andreas/” angelegt, die Autoren-Übersicht wurde aber weiterhin unter “/author” erzeugt.

Ein erster (funktionierender) Lösungsansatz war das Anlegen einer “_index.md”-Datei im neu erstellten Verzeichnis “/content/author/” mit folgendem Inhalt:

_index.md
--- url: '/autor/' ---

Dies funktioniert zwar, aber das Anlegen des zusätzlichen Verzeichnisses mitsamt Datei zum Umbiegen der URL ist irgendwie unschön und verteilt die Definition der zu erstellenden URLs auf verschiedene Stellen, was sicherlich irgendwann einmal beim Thema “Wartbarkeit” Kopfzerbrechen bereitet.

Eine elegantere Lösung fand sich im Beitrag Taxonomy terms page permalink - how to change it? des Hugo-Forums - eine getrennte Angabe des Definition eines Permalinks für den Bereich “taxonomy” und “term”:

hugo.toml
... [taxonomies] txauthor = 'author' ... [permalinks] ... [permalinks.taxonomy] author = '/autor/' [permalinks.term] author = '/autor/:slug' ...

Damit funktioniert das Erzeugen der Taxonomie-Übersicht an der richtigen Stelle, es muß keine zusätzliche Datei mitsamt Verzeichnis angelegt werden und die komplette Permalink-Konfiguration bleibt in der “hugo.toml”.