블로그 주소 규칙, 첫 글 올리기 전에 정해 둘 네 가지

2026.10.14 · 밥

블로그를 열면 글 쓰는 데 정신이 팔려서 주소는 대충 넘어가기 쉽다. 근데 주소는 글이 검색에 걸리고 나면 고치기가 제일 번거로운 부분이다. 옛 주소로 들어오는 사람과 링크를 새 주소로 하나하나 넘겨 줘야 하니까.

그래서 블로그 주소 규칙은 첫 글 올리기 전에 정해 두는 게 편하다. 정할 건 네 가지다. 글 주소를 어떤 모양으로 만들지, 사이트 대표 주소를 무엇으로 할지, 글마다 canonical 을 어떻게 달지, 나중에 주소를 바꿔야 하면 어떻게 넘길지. 아래 내용은 2026년 10월 14일에 연 구글 검색 센터 문서와 이 블로그 주소를 실제로 찔러 본 응답을 기준으로 적었다.

첫 글 전에 이 네 가지만 정해 두면 된다
첫 글 전에 이 네 가지만 정해 두면 된다

블로그 글 주소는 어떤 모양으로

구글의 URL 구조 문서는 긴 ID 숫자 대신 뜻을 알 수 있는 낱말을 쓰라고 권한다. 낱말 사이는 하이픈(-)으로 나누고, 밑줄(_)이나 낱말을 붙여 쓰는 건 권하지 않는다고 적혀 있다.

대소문자도 챙기자. 같은 문서에 따르면 구글은 주소의 대소문자를 구분해서 /APPLE 과 /apple 을 다른 주소로 본다. 서버가 둘을 같은 페이지로 보여 준다면 한쪽으로 통일하라는 얘기다. 처음부터 소문자만 쓰면 이 고민이 없다.

한글 주소는 어떨까. 같은 문서는 독자가 검색하는 언어의 낱말을 쓰라고 하고, 링크의 href 에 넣을 때 한글처럼 ASCII 범위 밖에 있는 글자는 퍼센트 인코딩하라고 한다. 한글 주소가 안 된다는 얘기는 아니다. 다만 인코딩하면 꽤 길어진다. 이 PC 에서 node 로 '블로그-주소-규칙' 을 인코딩해 보니 65글자가 됐다. 영어로 쓴 blog-url-rules 는 14글자다.

나는 첫 글을 올리기 전에 이렇게 정했다. 글 주소는 짧은 영어 키워드 3~5단어로, 소문자와 숫자와 하이픈만 쓴다. 그리고 주소에 분류 이름을 넣지 않는다. 분류는 나중에 바꿀 일이 생기는데, 주소에 분류가 들어 있으면 분류를 바꾸는 순간 주소도 같이 바뀌어 버리니까. 이 글 주소가 /blog-url-rules/ 인 것도 이 규칙대로다. 규칙을 정한 뒤로는 사이트를 만드는 빌드 스크립트가 다른 모양의 주소를 막게 해 뒀다. 사람이 실수로 대문자를 넣어도 올라가기 전에 걸린다.

대표 블로그 주소를 하나로 모으기

같은 글이 여러 주소로 열리는 경우가 생각보다 많다. www 가 붙은 주소와 안 붙은 주소, http 와 https 가 대표적이다. 구글의 중복 URL 통합 문서도 여러 호스트 이름과 http, https 를 중복이 생기는 예로 든다. 그리고 영구 리디렉션을 리디렉션 대상이 대표 주소가 돼야 한다는 강한 신호로 본다고 적었다.

이 블로그도 처음 공개한 날 밤에 확인해 보니 www 붙은 주소와 안 붙은 주소가 둘 다 200 으로 같은 글을 보여 주고 있었다. 검색엔진에 등록하기 전에 www 쪽을 www 없는 주소로 301 영구 이동하게 바꿨다. 오늘 다시 찔러 본 응답은 이렇다.

> curl.exe -sI https://www.textverse.kr/blog-topic-three-conditions/?a=1
HTTP/1.1 301 Moved Permanently
Location: https://textverse.kr/blog-topic-three-conditions/?a=1

> curl.exe -sI http://textverse.kr/blog-topic-three-conditions/
HTTP/1.1 301 Moved Permanently
Location: https://textverse.kr/blog-topic-three-conditions/

옮길 때 경로와 쿼리를 그대로 붙여 보내는 게 중요하다. 어떤 글로 들어왔든 첫 화면으로 보내 버리면 들어온 사람은 원래 보려던 글을 다시 찾아야 하니까.

www 를 붙일지 말지는 어느 쪽이든 괜찮다. 하나로 정하고 나머지를 그쪽으로 보내는 게 중요하다.

canonical 은 글마다 자기 주소로

canonical 은 head 에 넣는 link 태그로, 비슷하거나 같은 페이지 중 어느 주소가 대표인지 알려 주는 표시다. 위의 중복 URL 통합 문서는 rel="canonical" 을 지정한 주소가 대표가 돼야 한다는 강한 신호라고 설명한다. 강한 신호라는 거지 명령은 아니다. 구글이 다른 주소를 고를 수도 있다.

같은 문서에서 챙길 건 두 가지다. 대표 페이지에도 자기 자신을 가리키는 canonical 을 넣으라는 것, 그리고 상대 주소도 받기는 하지만 https:// 부터 시작하는 전체 주소를 쓰라는 것. 이 블로그 글은 이렇게 들어가 있다.

<link rel="canonical" href="https://textverse.kr/blog-topic-three-conditions/">

끝 슬래시도 그냥 넘기지 말자. 확인해 보니 이 블로그는 슬래시 없이 치면 슬래시 붙은 주소로 보내는데, 코드가 301 이 아니라 307 이었다.

> curl.exe -sI https://textverse.kr/blog-topic-three-conditions
HTTP/1.1 307 Temporary Redirect
Location: /blog-topic-three-conditions/

구글의 리디렉션 문서를 보면 301 과 308 은 영구, 302 와 303 과 307 은 임시 리디렉션으로 나뉜다. 임시 리디렉션은 원래 주소를 검색 결과에 보여 주는 쪽으로 다룬다고 적혀 있다. 규칙만 보면 좀 아쉬운 부분이지. 대신 이 블로그는 글 안 링크와 canonical 이 모두 슬래시 붙은 주소라서, 슬래시 없는 주소가 검색에 잡힐 일은 적을 거라고 보고 있다. 이건 내 짐작이고 검색 결과로 확인한 건 아직 없다. 처음부터 내부 링크, canonical, 사이트맵을 같은 모양으로 맞춰 두는 게 제일 안전하다.

블로그 주소를 바꿔야 한다면 301

규칙을 정해도 바꿔야 할 일은 생긴다. 그때 쓰는 게 서버 쪽 영구 리디렉션이다. URL 변경이 있는 사이트 이전 문서는 가능하면 301 이나 308 같은 영구 리디렉션을 쓰라고 하고, 서버 쪽 설정이 안 될 때만 다른 방법을 보라고 한다.

리디렉션을 얼마나 둘지도 적혀 있다. 되도록 오래, 보통 적어도 1년은 두라고 하고, 사용자 입장에서는 계속 두는 걸 권한다. 주소를 옮기면 검색 유입이 한동안 흔들릴 수 있는데, 같은 문서는 이게 정상이고 순위는 시간이 지나면 자리를 잡는다고 설명한다. 중간 크기 사이트는 새 주소가 결과에 자리 잡기까지 몇 주 이상 걸릴 수 있다고 하니, 옮긴 다음 날 유입이 줄었다고 놀랄 필요는 없다는 얘기. 대신 아예 안 옮겨도 되는 게 제일 편하다. 그래서 첫 글 전에 정하자는 거다.

첫 글 전에 할 일

첫 글을 올리기 전이라면 오늘 이것만 하자. 글 주소를 영어 소문자와 하이픈으로 할지 한글로 할지 정하고, 분류를 주소에 넣을지 정한다. www 를 쓸지 정하고 나머지 주소가 그쪽으로 301 되는지 curl 이나 브라우저 개발자 도구로 직접 확인한다. 글 하나를 열어 canonical 이 전체 주소로 자기 자신을 가리키는지 본다.

이미 글이 꽤 쌓였다면 지금 규칙이 마음에 안 들어도 서두르지 말자. 옛 주소를 하나하나 새 주소로 301 해 줄 각오가 섰을 때 옮기면 된다.

다음엔 혼자 운영하는 웹게임 서버를 월 54달러에 맞춰 구성을 고른 얘기를 하려고 한다.