Jekyll에서 Hugo로 블로그를 이전하고 나서 쾌적하게 활용하고 있는데 한 가지 문제점이 발생했다. 바로 404 문제! Google Search Console
로 블로그 유입을 분석하던 도중에 Not Found(404)
에러 숫자가 급격하게 증가하는걸 발견하게 되었다.
Jekyll과 Hugo의 링크 불일치
그 이유를 살펴보니, 기존에 Jekyll에서 사용하던 링크와 새로운 Hugo에서의 링크의 불일치로 인해서 발생한 문제였다. 예를들어 파일명이 ‘2023-04-03-my-first-post.md’의 경우 Jekyll에서는 ‘junchive.kr/2023-04-03-my-first-post’로 URL를 지정했지만, Hugo에서는 ‘junchive.kr/posts/blog/2023/First-Post’로 URL을 정했기 때문이다. 설정이나 템플릿 상에서 이걸 어떻게든 해결해보려 했으나, 쉽지 않아서 방치하다가 우연히 Hugo Aliases
기능을 알게 되어서 드디어 수정하게 되었다.
해결 방법은 생각보다 단순!
사실 한번 인터넷 상에 뿌린 URL은 변경하지 않는 편이 가장 좋다. Nickolas Kraus 행님이 말하길…
| It is generally considered best practice to never change the URL of a resource on the internet. (대충 해석하면 한번 뱉은 말은 주워담는거 아니다 라는뜻)
왜냐하면 Kraus 행님도 말하듯이 원래 지정하던 링크가 바뀌면 404 에러를 발생시키고 SEO에 부정적인 영향을 끼친다는 점 때문이었다. 그치만 뭐 어쪄겠는가… 이미 저질러진 상황이니 일단 고쳐보도록 하자!
Hugo Aliases 사용법
---
aliases: ["/2023-04-03-my-first-post/"]
---
처럼 적어주면 ‘https://junchive.kr/2023-04-03-my-first-post'로 접속시 자동으로 ‘junchive.kr/posts/blog/2023/First-Post’로 보내준다. 포스트 양이 조금 많긴 하지만 차근차근 해봐야지 뭐!