My External Storage

Jan 5, 2018 - 2 minute read - Comments - hugo

Hugo内で古いURLから新しいURLにリダイレクトさせる

TL;DR

  • HugoでThemeを変更した時に記事のURLが変わってしまった。
  • 該当記事のMarkdownのFront matterにaliasesを設定しておくと、昔のURLにリダイレクトページが自動生成される。

Hugo | URL Management - Aliases
https://gohugo.io/content-management/urls/#aliases

記事のURLが変わってしまった

このブログはHugoで作成している。途中でThemeを変更しているのだが、いつの間にか記事のURLが変わっていた。

昔のURLにある記事はスタイルシートが適切に適用されず、微妙な見栄えになっていた。放置していてもよかったのだが、昔のURLのほうに検索流入が多数あるようなので、昔のURLにアクセスがあったときは新しいURLへリダイレクトするようにしておく。

Aliasesを設定して新しいURLにリダイレクトする

Hugo内でリダイレクトする場合は該当記事のFront Matteraliasesを設定する。(Front MatterというのはJekyllなどにもある概念らしい。初めて知った。)
aliasesにリダイレクトを設定したい昔のURLを記載しておくだけで新しいURLへリダイレクトできる。

Hugo | URL Management - Aliases
https://gohugo.io/content-management/urls/#aliases

TOMLで設定する場合

+++
title = "リダイレクトを設定しておきたい記事"
aliases = ["/post/2017/01/05/content-name/"]
+++

記事本文

YAMLで設定する場合

---
title = "リダイレクトを設定しておきたい記事"
aliases:
    - /post/2017/01/05/content-name/
---

記事本文

最後に

最近Google Search Consoleなどを導入したので、昔のURLに流入があることがわかった(そしてキーワードによっては検索結果の1ページ目に表示されていて、無視できないということも)。ブログも可視化が大事。 こんなブログでも誰かの参考になっているようで嬉しい。

参考

Hugo | Front Matter
https://gohugo.io/content-management/front-matter/

Hugo | URL Management - Aliases
https://gohugo.io/content-management/urls/#aliases