블로그를 옮겼다
원래는 티스토리 기술 블로그와 네이버 일상 블로그를 간간이 운영하고 있었다. 그런데 글이 여러 곳에 흩어져 있다 보니, 생각보다 꾸준히 관리하기가 어려웠다.
기술 글은 티스토리에 쓰고, 일상 글은 네이버에 쓰고, 또 따로 정리하고 싶은 내용은 메모장이나 노션에 남겨두는 식이었다.
하지만 시간이 지나면서 점점 이런 생각이 들었다.
“내가 쓰는 글인데, 왜 내가 관리하기 불편하지?”
그러다 보니 글을 꾸준히 쓰기보다는 블로그를 방치하는 시간이 길어졌다.
마침 친구인 세빈이가 sevin.dev라는 개인 블로그를 GitHub와 Markdown 기반으로 직접 만들어 운영하는 것을 봤다.
언젠가 개인 사이트를 만들어서 글을 관리하고자 사둔 sungmin.blog 도메인이 생각났고, 이참에 블로그를 직접 만들어서 관리하자는 생각이 들었다.
왜 직접 만들었나
기존 티스토리 스킨이 썩 마음에 들지 않았고, 그렇다고 마음에 드는 스킨을 찾고 커스터마이징하는 데 시간을 쓰는 것도 귀찮았다.
차라리 직접 만들면서 내가 원하는 구조를 잡는 게 낫겠다고 판단했다.
이번 블로그는 거대한 플랫폼을 만들겠다는 목표로 시작하지 않았다. 우선 필요한 것은 명확했다.
- Markdown 또는 MDX로 글을 작성할 수 있어야 한다.
- 글과 이미지를 Git으로 함께 관리할 수 있어야 한다.
- 정적 사이트로 빠르게 배포할 수 있어야 한다.
- 공개 글, 초안, 숨김 글의 상태가 분명해야 한다.
- 나중에 필요한 기능을 작은 단위로 붙일 수 있어야 한다.
이 기준에 맞춰 Astro를 선택했다. Astro는 정적 블로그를 만들기에 충분히 가볍고, 필요한 부분에만 React island를 얹을 수 있다는 점이 마음에 들었다.
게시판은 기본이다
네오플을 다니며 사수님이 이런 말을 해주신 적이 있다.
“웹 개발자라면 게시판은 기본이다. 그런데 기본이기 때문에, 어렵게 만들려고 하면 얼마든지 어렵게 만들 수 있다.”
이번에 블로그를 만들면서 그 말이 다시 떠올랐다.
물론 이 블로그가 엄청 복잡한 기능을 가진 게시판은 아니다. 회원가입도 없고, 관리자 페이지도 없고, 댓글 기능도 아직 없다.
하지만 글을 작성하고, 저장하고, 목록으로 보여주고, 상세 페이지에서 렌더링한다는 점에서 블로그도 결국 게시판의 한 형태라고 볼 수 있다.
단순해 보이지만 막상 직접 만들다 보면 생각할 게 꽤 많다.
- 글 데이터는 어디에 둘 것인가?
- URL 구조는 어떻게 가져갈 것인가?
- 카테고리와 태그는 어떻게 관리할 것인가?
- Markdown과 MDX는 어떻게 렌더링할 것인가?
- 작성일과 수정일은 어떻게 노출할 것인가?
- 검색 엔진에 잘 노출되려면 어떤 메타정보가 필요할까?
구조 자체는 복잡하지 않다
블로그도 결국 글 목록과 상세 페이지를 가진 게시판에 가깝다. 다만 이번에는 게시글 DB를 만들거나 관리자 페이지를 붙이는 대신, GitHub 저장소를 글의 원천으로 두는 방식을 택했다.
현재 글은 아래와 같은 구조로 관리한다.
src/content/posts/
└── blog-migration/
└── index.mdx
폴더 이름이 글의 slug가 되고, index.mdx의 frontmatter가 제목, 설명, 발행일, 태그, 공개 상태를 결정한다.
---
title: '블로그를 옮겼다'
description: '티스토리와 네이버에 흩어져 있던 글을 직접 만든 Astro 블로그로 옮기며 생각한 것들'
publishedAt: 2026-05-24T16:13:22+09:00
category: 'dev'
tags:
- blog
- astro
- markdown
status: 'published'
---
# 이후 마크다운 형식의 본문 작성
이 구조는 단순하지만, 글을 오래 관리하기에는 충분히 예측 가능하다. 새 글을 만들 때는 폴더를 하나 만들고 index.mdx를 작성하면 된다. 글 전용 이미지는 같은 폴더에 함께 넣으면 되니, 나중에 글을 옮기거나 정리할 때도 맥락이 흩어지지 않는다.
불편한 점도 있다
물론 아직 불편한 점은 있다.
- GitHub에 커밋하고 푸시해야 글을 발행할 수 있다.
- 댓글 기능은 아직 붙이지 않았다.
- 티스토리처럼 오늘 방문자 수를 바로 확인하는 재미는 없다.
- CMS가 없기 때문에 모바일에서 즉석으로 글을 수정하기는 어렵다.
특히 이전 블로그에서는 투데이 방문자 수를 보는 소소한 재미가 있었다. 지금 블로그는 서버 없이 정적 페이지를 서빙하는 구조라 같은 방식의 통계를 바로 제공하지 않는다.
그렇다고 방문자 통계를 위해 DB와 백엔드를 먼저 붙이고 싶지는 않았다.
관리할 것이 늘어나면 글을 쓰기 위한 블로그가 아니라 블로그를 관리하기 위한 프로젝트가 되기 쉽다. 우선은 Vercel Analytics로 큰 흐름만 보고, 실제로 필요해졌을 때 기능을 추가하는 편이 낫다고 판단했다.
오버엔지니어링을 피하기
요즘 개발하면서 자주 생각하는 기준이 있다.
쉽게 풀 수 있는 문제를 일부러 어렵게 가져가지 말자.
회사에서 배운 것 중 하나도 비슷하다. 복잡한 구조가 항상 좋은 구조는 아니고, 지금 필요한 만큼만 단단하게 만드는 것이 더 나을 때가 많다.
이번 블로그도 그 기준에 맞춰 만들었다. 댓글, 알림, 통계, 인기 글 같은 기능은 모두 욕심내면 만들 수 있다. 하지만 지금 가장 중요한 것은 글을 꾸준히 쓰고, 읽는 사람이 불편하지 않게 보여주는 것이다.
그래서 첫 버전의 목표는 명확하게 잡았다.
- 글을 안정적으로 작성하고 서빙한다.
- 공개 범위를 정확하게 관리한다.
- 검색과 SEO에 필요한 기본 구조를 갖춘다. 특히 AI 시대의 검색 구조를 잘 파악한다.
- 나중에 필요한 기능을 붙일 수 있는 여지를 남긴다.
그래도 재밌었다
최근에는 장기적으로 가져가는 프로젝트를 주로 하고 있었는데, 이번처럼 빠르게 결과를 볼 수 있는 작업을 하니 오랜만에 재미있었다. 아주 어렵거나 대단한 것을 만든 것은 아니지만, 예전부터 생각해왔던 블로그를, 앞으로 내가 꾸준히 사용할 공간을 직접 만들었다는 점에서 의미가 있었다.
블로그를 옮겼으니 이제 중요한 것은 다시 글을 쓰는 일이다. 이후에 필요한 편의 기능은 천천히 하나씩 추가하고, 시리즈로 업데이트해보면 좋을 것 같다.
새롭게 시작하는 마음으로 기존 글은 옮기지 않기로 했다. (사실 귀찮기도 하다ㅋㅋ)
앞으로 다양한 경험이나 생각을 잘 기록하자.
Comments
0 comments