리뉴얼을 마치고 오픈한 첫 주는 대개 분위기가 좋습니다. 사이트는 빨라졌고, 디자인은 깔끔해졌고, 관리자 화면도 편해졌습니다.
그런데 2~3주쯤 지나 검색 유입 그래프를 보면 이상한 게 보입니다. 오픈 날을 기점으로 계단처럼 뚝 떨어져 있습니다. 절반이 날아간 경우도 드물지 않습니다.
원인은 대부분 하나입니다. 옛 주소가 끊겼습니다.
검색엔진은 페이지가 아니라 주소를 기억한다
검색엔진이 "이 페이지는 좋은 페이지"라고 쌓아 둔 평가는 주소에 붙어 있습니다. example.com/product/view.php?no=128이라는 주소가 3년 동안 받은 링크, 클릭, 체류 시간 같은 것들이요.
리뉴얼하면서 그 상품의 주소가 example.com/products/blue-mug로 바뀌었다고 해 봅시다. 사람 눈에는 같은 상품이지만, 검색엔진 입장에서는 이렇게 보입니다.
- 3년 된 좋은 페이지(
view.php?no=128)가 어느 날 사라졌다 (404) - 처음 보는 페이지(
blue-mug)가 새로 생겼다
새 페이지는 평가를 처음부터 다시 받아야 합니다. 이게 페이지 수백 개에서 동시에 일어나면 그래프가 계단처럼 떨어집니다.
301 리다이렉트는 이 둘을 이어 주는 장치입니다. "그 페이지는 영구히 이 주소로 옮겼다"고 알려 주면, 검색엔진은 옛 주소의 평가를 새 주소로 넘겨줍니다.
1단계: 옛 주소를 빠짐없이 뽑는다
가장 많이 놓치는 단계입니다. "우리 사이트 페이지는 메뉴에 있는 게 전부"라고 생각하기 쉬운데, 실제로 검색엔진이 알고 있는 주소는 훨씬 많습니다.
옛 사이트가 아직 살아 있을 때 아래 네 곳에서 주소를 모으세요. 오픈하고 나면 뽑을 수 없는 것도 있습니다.
| 출처 | 무엇이 나오나 | 어떻게 뽑나 |
|---|---|---|
| 구글 서치 콘솔 | 실제로 검색 유입이 있던 주소 | 실적 → 페이지 탭 → 내보내기 (기간은 최근 16개월) |
| 네이버 서치어드바이저 | 네이버에서 유입된 주소 | 리포트 → 검색 유입 → 페이지별 |
| 방문 분석 (GA4 등) | 검색 외 경로로도 들어오던 주소 | 페이지 및 화면 보고서 → 페이지 경로 내보내기 |
| 옛 사이트의 사이트맵 | 사이트가 스스로 알리던 주소 | 사이트주소/sitemap.xml 저장 |
넷을 합쳐 중복을 지우면 옛 주소 전체 목록이 됩니다. 스프레드시트 한 장이면 충분합니다.
여기에 한 열을 더 붙이세요. 최근 1년 검색 유입 수입니다. 서치 콘솔 내보내기에 클릭 수가 있습니다. 나중에 우선순위를 정할 때 씁니다.
2단계: 새 주소와 짝을 맞춘다
이제 옛 주소마다 옆 칸에 새 주소를 적습니다. 원칙은 하나입니다.
내용이 같은 곳끼리 잇는다.
- 옛 상품 상세 → 같은 상품의 새 상세
- 옛 회사 소개 → 새 회사 소개
- 옛 공지 글 → 옮겨 온 같은 글
- 없어진 상품 → 같은 카테고리 목록 (비슷한 상품이 있는 곳)
- 정말로 대응할 곳이 없는 페이지 → 억지로 잇지 말고 404로 둔다
많이 하는 실수가 전부 메인으로 보내기입니다. 옛 주소 500개를 한 줄 설정으로 메인에 몰아 보내면 편하긴 한데, 검색엔진은 이걸 "내용이 다른 곳으로 보냈다"고 보고 사실상 404처럼 처리하는 경우가 많습니다. 평가가 넘어가지 않습니다.
규칙으로 묶을 수 있는 건 묶는다
주소가 수천 개라면 한 줄씩 짝을 맞출 수 없습니다. 다행히 옛 주소에는 대개 패턴이 있습니다.
옛: /product/view.php?no=128
새: /products/128 (상품 번호를 그대로 쓰는 경우)
옛: /board/notice/read.php?id=45
새: /news/45
번호가 유지되면 규칙 한 줄로 수백 개를 처리할 수 있습니다. 그래서 리뉴얼 설계 단계에서 개발자에게 "옛 상품 번호를 새 주소에서도 쓸 수 있나요?"라고 한 번 물어보는 게 크게 도움이 됩니다. 번호가 바뀌면 옛 번호 → 새 번호 대응표를 따로 만들어야 합니다.
우선순위: 유입 상위 20%부터
모든 줄을 완벽하게 맞추기 어려우면 1단계에서 붙인 검색 유입 수로 정렬하세요. 검색 유입은 대개 일부 주소에 몰려 있어서, 정렬해 보면 위쪽 몇십 줄이 유입 대부분을 차지하는 경우가 많습니다. 이 주소들은 한 줄씩 눈으로 확인하고, 나머지는 규칙에 맡겨도 됩니다.
목록에서 자주 빠지는 주소
메뉴에 없어서 다들 잊지만, 실제로는 유입이 있는 주소들입니다.
- 모바일 전용 주소: 옛 사이트가
m.example.com처럼 모바일을 따로 운영했다면 그쪽 주소도 전부 목록에 넣어야 합니다. - 게시판 글: 공지, 후기, 자주 묻는 질문. 오래된 후기 글 하나가 꾸준히 검색 유입을 받는 경우가 많습니다.
- 파라미터가 붙은 주소:
?category=3,?page=2처럼 뒤에 붙은 값이 다른 페이지를 가리키는 경우. - 옛날 이벤트 페이지: 끝난 이벤트라도 외부 블로그에 링크가 남아 있으면 계속 들어옵니다. 이벤트 목록이나 현재 진행 중인 이벤트로 보냅니다.
- 대소문자·끝 슬래시 차이:
/About과/about,/news와/news/를 옛 서버가 모두 받고 있었다면 새 서버도 받아야 합니다.
3단계: 오픈 전에 확인할 것
리다이렉트 목록을 개발자에게 넘기기 전에 이것만 짚어 두세요.
- 301인지 302인지. 302는 "잠깐 옮겼다"는 뜻이라 평가가 넘어가지 않거나 늦게 넘어갑니다. 영구 이전은 301(또는 308)이어야 합니다.
- 리다이렉트가 두 번 이상 이어지지 않는지. 옛 주소 → 중간 주소 → 새 주소처럼 여러 번 튀면 느려지고, 검색엔진이 중간에 멈추기도 합니다. 한 번에 최종 주소로 가야 합니다.
- http → https, www 유무까지 한 번에 처리되는지.
http://example.com/a와https://www.example.com/a는 서로 다른 주소입니다. 옛 사이트가 둘 다 받고 있었다면 둘 다 새 주소로 한 번에 가야 합니다. - 이미지와 PDF도 목록에 있는지. 이미지 검색·카탈로그 PDF로 들어오던 유입이 생각보다 많은 업종이 있습니다.
4단계: 오픈 당일과 그 후 2주
오픈 당일에는 스프레드시트의 옛 주소를 실제로 하나씩 열어 봅니다. 상위 50개 정도는 손으로 확인하고, 나머지는 개발자에게 일괄 점검을 부탁하세요. 목록을 넣으면 각 주소의 응답 코드와 최종 도착 주소를 뽑아 주는 도구가 많아서 금방 끝납니다.
그다음 할 일:
- 새 사이트맵을 서치 콘솔·서치어드바이저에 제출합니다.
- 도메인까지 바뀌었다면 구글 서치 콘솔의 "주소 변경" 기능을 씁니다. 같은 도메인 안에서 주소만 바뀐 경우에는 쓰지 않습니다.
- 서치 콘솔의 "페이지" 보고서에서 404가 늘어나는지 1~2주 지켜봅니다. 여기 새로 뜨는 404가 목록에서 빠뜨린 주소입니다. 보이는 대로 목록에 추가하세요.
유입은 보통 오픈 직후 잠깐 흔들렸다가 몇 주 안에 원래 수준으로 돌아옵니다. 한 달이 지나도 회복이 안 되면 리다이렉트가 빠졌거나 잘못 걸린 곳이 남아 있다는 신호입니다.
견적 단계에서 물어볼 것
리다이렉트 작업은 견적서에 따로 적히지 않는 경우가 많습니다. 누가 할 일인지 정해지지 않으면 오픈 직전에 서로 미루다 빠집니다.
업체에 이렇게 물어보세요.
- 옛 주소 목록은 누가 뽑나요? (발주자인지 업체인지)
- 리다이렉트 설정은 견적 범위에 들어 있나요? 몇 건까지인가요?
- 오픈 후 404 모니터링을 몇 주 해 주나요?
이 세 줄이 계약서나 과업 범위에 들어가 있으면, 오픈 다음 달 그래프를 보고 놀랄 일이 크게 줄어듭니다. 범위를 문장으로 적는 방법은 추가 요구를 다루는 변경 절차에서, 리뉴얼과 새로 짓기를 가르는 기준은 홈페이지를 고칠지 새로 지을지에서 다뤘습니다.
정리
- 검색 평가는 주소에 붙어 있다. 주소가 바뀌면 이어 줘야 한다.
- 옛 주소는 옛 사이트가 살아 있을 때 서치 콘솔·방문 분석·사이트맵에서 뽑는다.
- 짝은 내용이 같은 곳끼리. 전부 메인으로 보내면 평가가 넘어가지 않는다.
- 301, 한 번에 최종 주소로, http·www까지 포함.
- 오픈 후 2주는 서치 콘솔의 404를 보며 빠진 주소를 채운다.