[워드프레스] 고유주소 변경 후 301 리디렉션 설정

0

워드프레스에서 고유주소를 설정한 후에 추후에 고유주소를 바꾸게 되면 고유주소 설정 전의 URL을 클릭하면 404 페이지 없음(404 Page Not Found) 오류가 발생할 수 있습니다. 고유주소를 기본으로 설정된 상태에서 다른 고유주소로 바꾸는 경우에는 오류가 발생하지 않습니다.

404 페이지를 찾을 수 없음 오류

이 경우 301 리디렉션(301 리다이렉트) 설정을 통해 이전 URL을 새로운 URL로 리디렉션시켜줄 수 있습니다. 이 방법을 사용하면 구글 랭킹을 유지시키면서 고유주소를 변경할 수 있습니다(“구글 검색 순위를 유지시키면서 도메인 이름을 변경하는 방법” 참고).

예를 들어, 이전 고유주소가 /year/month/day/post_title/이고 새로운 고유주소가 /post_title/이라면 다음과 같은 코드를 .htaccess 파일에 추가하면 됩니다.

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ http://example.com/$4

위의 코드를 자세히 살펴보면 정규식(정규표현식)을 이용하여 코드가 작성되었음을 알 수 있습니다. 그러므로 기본적인 정규식만 익혀도 다양한 상황에 대처할 수 있습니다.

다른 방법으로 Simple 301 Redirects 플러그인을 사용할 수 있습니다. 이 방법은 stackoverflow 글을 참고해보시기 바랍니다. 개인적으로 테스트해보니 이 방법이 잘 먹히지 않네요. %day%가 무슨 이유에서인지 y%로 바뀌어 버리네요.  Simple 301 Redirects 플러그인을 사용하는 경우 와일드카드를 활성화한 후에 위에 제시된 코드를 적절히 응용할 수 있을 것 같습니다(테스트는 해보지 않았습니다).

2019년 1월 업데이트: 이 글을 작성할 당시에 Simple 301 Redirects 플러그인의 와일드카드 사용에 약간의 버그가 있었지만 최근에 테스트해보니 예상대로 잘 작동하는 것을 확인했습니다. 워드프레스에서 301 리다이렉트를 쉽게 설정할 수 있는 Simple 301 Redirects 플러그인을 참고해보세요.

저는 한 블로그의 URL이 너무 길어서 고유주소를 가능한 짧게 변경하고 Simple 301 Redirects 플러그인을 사용하여 301 리디렉션시키려고 시도했지만 잘 안 되어 그냥 위에 제시된 코드를 조금 응용하여 해결했습니다. 정교한 정규식을 만들고 싶은 경우 RegexBuddy 프로그램을 사용해볼 수 있습니다. 전 이 프로그램을 꽤 오래 전부터 사용하고 있는데, 가끔 유용할 때가 있습니다.

참고로 고유주소를 변경하려면 워드프레스 대시보드에서 설정 > 고유주소에서 변경이 가능합니다.

참고:

※일부 글에 제휴링크가 포함될 수 있습니다._커피 한잔 값으로 블로그 운영을 후원하실 수 있습니다.