사이트를 개편하면서 주소를 바꿨는데 몇 주 뒤 유입이 뚝 떨어졌다면 원인은 대부분 이전 주소로 들어온 방문자와 검색 로봇이 404 페이지를 만났기 때문입니다. 이 글은 404 페이지를 올바르게 만들고, 301 리다이렉트로 기존 가치를 새 주소로 넘기는 방법을 정리합니다.
1. HTTP 상태 코드 기초
| 코드 | 의미 | 사용 상황 |
|---|---|---|
| 200 | 정상 | 정상적으로 존재하는 페이지 |
| 301 | 영구 이동 | 주소를 영구히 바꿨을 때 |
| 302 | 임시 이동 | 잠시만 다른 주소로 보낼 때 |
| 404 | 페이지 없음 | 존재하지 않는 주소 요청 |
| 410 | 영구 삭제 | 의도적으로 완전히 삭제한 페이지 |
| 500 | 서버 오류 | 서버 측 문제 발생 |
2. 404 오류는 SEO에 얼마나 해로울까
404가 몇 개 있다고 해서 사이트 전체가 불이익을 받는 것은 아닙니다. 없는 페이지에 404를 돌려주는 것은 정상적인 동작입니다. 문제가 되는 경우는 다음과 같습니다.
- 외부 링크·검색 순위가 있던 페이지가 404가 된 경우: 쌓인 신뢰가 사라집니다.
- 내부 링크가 404로 연결된 경우: 방문자 이탈과 크롤링 낭비로 이어집니다.
- 사이트맵에 404 주소가 들어 있는 경우: 검색엔진에 잘못된 신호를 줍니다.
내부 링크 설계는 내부링크 전략 가이드, 사이트맵 관리는 sitemap·robots.txt 가이드를 참고하세요.
3. 301과 302, 언제 무엇을 쓸까
- 301: 주소 구조 변경, 도메인 이전, http→https 통일, www 통일처럼 영구적인 이동에 사용합니다. 기존 주소의 검색 신호를 새 주소로 넘기는 데 쓰입니다.
- 302: 점검 중 임시 안내 페이지처럼 일시적인 이동에 사용합니다. 영구 이동에 302를 쓰면 의도와 다르게 처리될 수 있습니다.
주의. 모든 404를 홈페이지로 301 리다이렉트하는 것은 권장하지 않습니다. 관련 없는 페이지로 보내면 방문자는 혼란스럽고, 검색엔진은 소프트 404로 판단할 수 있습니다. 내용이 대응되는 새 페이지가 있을 때만 1:1로 연결하세요.
4. 리다이렉트 맵 작성법
리뉴얼이나 주소 변경 전에 반드시 옛 주소 → 새 주소 대응표를 만듭니다.
- 기존 URL 전체 수집: 사이트맵, 크롤링 도구, 서치콘솔의 페이지 목록으로 모읍니다.
- 중요도 분류: 유입·순위·외부 링크가 있는 페이지를 우선순위로 둡니다.
- 1:1 매핑: 가장 내용이 가까운 새 페이지에 연결합니다.
- 대응 페이지가 없으면: 상위 카테고리나 관련 목록으로 연결하거나 404/410으로 둡니다.
- 적용 후 검증: 맵의 모든 주소를 실제로 접속해 상태 코드를 확인합니다.
| 옛 주소 | 새 주소 | 처리 |
|---|---|---|
| /blog/old-title | /blog/new-title | 301 |
| /service.php?id=3 | /services/web-design | 301 |
| /event-2024 | (대응 없음) | 410 또는 404 |
새 주소 구조를 설계하는 기준은 URL 구조 SEO 가이드에, 리뉴얼 전체 전략은 리뉴얼 시 SEO 순위 유지법과 홈페이지 리뉴얼 가이드에 정리되어 있습니다.
서버별 설정 예시
# Apache (.htaccess)
Redirect 301 /old-page https://example.com/new-page
# Nginx
location = /old-page { return 301 https://example.com/new-page; }
# Vercel (vercel.json)
{ "redirects": [{ "source": "/old-page", "destination": "/new-page", "permanent": true }] }
플랫폼 서비스는 관리자 화면에서 리다이렉트 메뉴를 제공하는 경우가 많으니 먼저 확인하세요. 서버 환경은 호스팅·SSL·CDN 가이드를 참고하면 이해가 쉽습니다.
리다이렉트 체인 피하기
A→B→C처럼 여러 번 거치는 연결은 속도를 느리게 하고 크롤링 효율을 떨어뜨립니다. 옛 주소가 항상 최종 주소로 한 번에 이동하도록 맵을 갱신하세요.
5. 친절한 404 페이지 만들기
방문자가 404를 만났을 때 사이트를 떠나지 않도록, 404 페이지는 길을 안내하는 페이지가 되어야 합니다.
- 명확한 문구: "페이지를 찾을 수 없습니다"처럼 상황을 짧게 설명합니다.
- 다음 행동 제시: 홈, 주요 서비스, 최신 글 링크를 보여줍니다.
- 검색창 제공: 콘텐츠가 많은 사이트라면 검색 기능을 넣습니다.
- 문의 경로 유지: 오류 신고나 문의 링크를 둡니다.
- 브랜드 톤 유지: 유머가 어울리는 브랜드라면 가볍게, 아니라면 담백하게 작성합니다.
- 상태 코드는 반드시 404: 디자인된 오류 페이지가 200으로 응답되면 소프트 404가 됩니다.
화면 설계와 동선은 홈페이지 UX 디자인 가이드를 참고하면 도움이 됩니다.
6. 정기 점검 루틴
- 월 1회 서치콘솔의 "페이지 색인" 보고서에서 404·리다이렉트 오류 확인 (서치콘솔 가이드)
- 네이버 서치어드바이저의 수집 현황에서 오류 확인 (서치어드바이저 가이드)
- 글 삭제·주소 변경 시 즉시 리다이렉트 맵 갱신
- 내부 링크 점검 도구로 깨진 링크 정기 확인
- 오픈 직전에는 오픈 전 검수 체크리스트로 링크와 리다이렉트를 최종 확인
자주 묻는 질문 (FAQ)
Q. 404 오류가 많으면 구글 순위가 떨어지나요?
존재하지 않는 페이지가 404를 반환하는 것 자체는 정상입니다. 다만 유입이나 외부 링크가 있던 페이지가 404가 되거나 내부 링크가 깨져 있으면 방문자 경험과 크롤링에 불리합니다.
Q. 삭제한 페이지는 301과 404 중 무엇이 좋나요?
대체할 만한 관련 페이지가 있으면 301로 연결하고, 의미 있는 대응 페이지가 없으면 404 또는 410으로 두는 것이 좋습니다. 관련 없는 페이지로 보내는 것은 피하세요.
Q. 301 리다이렉트는 얼마나 유지해야 하나요?
검색엔진이 새 주소를 충분히 인식하고 외부 링크가 정리될 때까지 보통 최소 1년 이상 유지하는 것을 권장합니다. 가능하면 계속 유지하는 편이 안전합니다.
Q. http에서 https로 바꿀 때도 301이 필요한가요?
네. http 주소로 들어오는 모든 요청을 대응하는 https 주소로 301 리다이렉트하고, 사이트맵·canonical도 https로 통일해야 합니다.
마무리
404와 리다이렉트는 평소엔 보이지 않다가 개편·이전 때 한꺼번에 문제가 터지는 영역입니다. 주소를 바꾸기 전에 대응표를 만들고, 바꾼 뒤에는 상태 코드를 직접 확인하는 것만으로 대부분의 순위 손실을 막을 수 있습니다.