카테고리 구조를 정리하거나 사이트 디자인을 바꾸다 보면 기존 글의 URL이 바뀌는 경우가 있습니다. 잘못 처리하면 방문자는 404를 만나고 검색 엔진 노출에도 부정적 영향을 받을 수 있습니다. 이 글에서는 실제 워드프레스 환경에서 적용 가능한 단계별 방법과 주의사항을 정리해, 카테고리를 변경하더라도 기존 글 주소(또는 그 저장된 트래픽)를 최대한 안전하게 유지하는 방법을 안내합니다.
변경 전 준비 단계
1) 현재 URL 목록과 트래픽 현황 백업
- 먼저 사이트의 현재 퍼머링크 구조와 게시글 URL 목록을 정리합니다. 플러그인(예: “Export All URLs”, “Screaming Frog” 등)이나 워드프레스 REST API로 목록을 추출할 수 있습니다.
- Google Search Console, Analytics에서 트래픽이 많은 URL을 우선 파악하세요. 중요한 페이지부터 우선 보호합니다.
- 테스트용 백업(파일 및 DB)을 만들어 두면 실수 시 복구가 가능합니다.
2) 변경 목표와 전략 결정
- 카테고리를 바꾼 뒤에도 URL에 카테고리가 포함되게 할지(예: /%category%/%postname%/), 아니면 카테고리를 제거하고 /%postname%/만 쓸지 결정합니다.
- URL 구조를 바꿀 경우엔 반드시 301 리다이렉트를 준비합니다. 가능하면 변경 전 리다이렉트 계획을 확정하세요.
실제 적용 방법
방법 A — 퍼머링크 구조 유지(카테고리만 재정렬)
퍼머링크 구조에서 %category%를 유지하고 단지 분류만 바꾸는 경우, 게시글의 최종 URL은 새 카테고리에 따라 변경됩니다. 이때도 기존 URL을 자동으로 보장해주지는 않으므로 리다이렉트 설정을 권장합니다.
방법 B — %category% 제거하거나 URL 패턴 변경
퍼머링크에서 카테고리 부분을 제거하면 모든 게시글 URL이 바뀝니다. 이 경우 반드시 모든 이전 URL에서 새로운 URL로 301 리다이렉트를 구성해야 합니다.
301 리다이렉트 구현 방법
아래 방법 중 상황에 맞는 것을 선택하세요.
- 플러그인 사용 (권장, 초보자용)
Redirection(무료), Rank Math 또는 Yoast SEO의 리다이렉트 기능을 사용하면 개별 URL 또는 정규식 기반 다수 리다이렉트를 쉽게 처리할 수 있습니다. - Apache(.htaccess) 직접 설정
대규모 규칙을 서버 레벨에서 처리할 때 유용합니다. 예시:
서버에 따라 .htaccess 편집 전 백업을 꼭 하세요.RewriteEngine On RewriteRule ^old-category/(.*)$ /new-category/$1 [R=301,L] - Nginx 설정
Nginx 환경에서는 서버 설정 파일에 규칙을 추가합니다. 예시:rewrite ^/old-category/(.*)$ /new-category/$1 permanent; - 데이터베이스/코드로 일괄 처리
개발자 도움을 받아 게시물 메타를 기반으로 리디렉션 맵을 생성하거나 functions.php를 통해 프로그램적으로 리디렉트할 수 있습니다. 실수로 사이트가 먹통되지 않도록 스테이징 환경에서 먼저 테스트하세요.
정규식(Regex) 예시 — 여러 URL을 한 번에 전환
Redirection 플러그인 같은 곳에서 사용할 수 있는 예시 정규식:
Source URL (Regex): ^/old-category/(.*)$
Target URL: /new-category/$1
Match: Regex
Action: 301
정규식 사용 시 의도치 않은 매칭을 방지하려면 작은 범위로 테스트 후 적용하세요.
변경 후 해야 할 작업들
- 모든 내부 링크(메뉴, 위젯, 관련 글 위젯 등)를 업데이트하여 새 URL로 연결되게 합니다.
- XML 사이트맵을 갱신하고 Google Search Console, Bing Webmaster Tools에 제출(submit)합니다.
- Search Console의 “URL 검사” 또는 “인덱스 요청”으로 주요 페이지를 다시 색인 신청할 수 있습니다.
- 404 로그를 모니터링하고 리다이렉트가 누락된 URL을 빠르게 추가하세요. Redirection 플러그인은 404 기록을 보여줍니다.
- 사이트 속도나 크롤링 오류 등 변화가 있는지 Analytics와 Search Console을 통해 4~8주간 추적합니다.
체크포인트 — 변경 전/후 확인 목록
- 백업(파일/DB) 완료
- 중요 트래픽 페이지 목록 확보
- 리다이렉트 계획(개별 또는 정규식) 수립
- 스테이징 환경에서 먼저 테스트
- 리다이렉트 적용(301) 및 동작 확인
- 내부 링크, 메뉴, 빵부스러기(breadcrumb) 업데이트
- 사이트맵 갱신 및 Search Console 제출
- 404 모니터링 및 추가 수정
- 트래픽/인덱스 상태 1~2달 모니터링
자주 묻는 질문(FAQ)
1) 301 리다이렉트를 쓰면 SEO에 영향이 전혀 없나요?
301 리다이렉트는 검색 엔진에 영구 이전을 알리는 표준 방법이며, 대부분의 경우 기존 페이지의 신호(링크 가치 등)를 이후 URL로 전달합니다. 다만 구조 변경, 내부 링크 변경, 크롤링 패턴 변화 등 복합 요인으로 단기적인 순위 변동은 발생할 수 있으므로 모니터링이 필요합니다.
2) 카테고리를 변경하지 않고도 URL을 바꾸지 않을 수 있나요?
퍼머링크에서 %category%를 사용하면 카테고리 변경 시 URL이 바뀔 가능성이 큽니다. URL을 절대 그대로 유지하려면 퍼머링크 구조를 /%postname%/처럼 카테고리를 포함하지 않도록 변경하거나, 게시물의 슬러그(postname)를 수동으로 설정해 기존 URL과 동일하게 유지하는 방법이 있습니다. 다만 퍼머링크 구조 변경도 리스크가 있으니 사전 계획을 권장합니다.
3) 게시글이 아주 많을 때 대량 리다이렉트는 어떻게 처리하나요?
대량의 URL을 처리할 때는 정규식 기반 리다이렉트가 유용합니다. Redirection 같은 플러그인에서 정규식 규칙을 쓸 수 있고, 서버 레벨(.htaccess 또는 nginx)에서 규칙을 적용하면 성능상 이점이 있습니다. 그러나 정규식은 잘못 작성하면 의도치 않은 페이지를 전부 리다이렉트할 수 있으니 작은 범위로 먼저 테스트하세요. 복잡한 매핑이 필요한 경우 CSV로 맵을 만들어 플러그인에 업로드하거나 개발자에게 스크립트를 의뢰하는 것도 방법입니다.
마무리
카테고리 변경은 사이트 구조를 정리하고 사용자 경험을 개선할 수 있는 좋은 기회지만, 기존 URL을 그대로 둘 수 없을 때는 방문자와 검색 엔진을 보호하기 위한 준비가 필요합니다. 핵심은 사전 목록화, 301 리다이렉트 준비, 내부 링크 업데이트, 사이트맵 제출, 그리고 변경 후 모니터링입니다. 가능한 한 스테이징 환경에서 먼저 검증하고 변경을 적용하세요.
추가로 현재 사용 중인 퍼머링크 구조나 서버(Apache/Nginx) 환경을 알려주시면, 보다 구체적인 리다이렉트 예시를 제공해 드릴 수 있습니다.
답글 남기기