워드프레스를 사용하다보면 기본설정된 주소를 문자에서 숫자로 숫자에서 문자로 또는 특정 패턴으로 변경하고 싶은 경우가 있다. 검색키워드를 보다 쉽게 찾을 수 있도록 문자형식이 검색엔진최적화(SEO)에 좋다고는 하지만, 한글의 경우 상황에 따라 문자열이 길어지거나 깨져보일 수 있고, 브라우저에 따라 동일한 환경을 제공하지도 않는 문제가 있어 기존 문자로 된 주소를 숫자로 바꾸고자 자료를 찾아보게 되었다.
연관된 URL을 참조하는 경우가 있으므로 이런 작업을 빈번히 할 것은 못되고 가능한 초기에 어떤 방식으로 관리할 지 결정하여 세팅한 후 유지하는 것이 바람직 하다. 그럼에도 불구하고 어떤 이유에서든 반드시 변경이 필요한 경우가 있다면 아래 방법을 사용할 수 있다. 나의 경우는 별도로 플러그인을 설치하지 않고 기본 기능만 사용하여 변경 및 페이지 찾지 못하는 문제도 카테고리, 슬러그, 내비게이션 메뉴의 URL 정보를 일치시키는 것으로 정리하였다.
고유주소 변경하는 방법
방법 1: 플러그인 사용
- Permalink Manager Lite: 이 플러그인은 커스텀 URL 구조를 만들 수 있도록 도와줍니다. 설치 후 설정을 통해 한글이 아닌 숫자나 영문으로 URL을 변경할 수 있습니다.
- SEO Slugs: 이 플러그인은 자동으로 슬러그를 최적화하여 URL에서 불필요한 단어를 제거해줍니다. 한글을 영문으로 변경해주는 기능도 있습니다.
- Slugify: 한글을 포함한 다양한 언어의 슬러그를 영문으로 변환해주는 플러그인입니다.
방법 2: 워드프레스 설정 변경
- 고유주소 설정:
- 워드프레스 대시보드에서 “설정” > “고유주소”로 이동합니다.
- “기본”이나 “숫자형” 등의 옵션을 선택하면 URL에 숫자가 포함됩니다.
- 커스텀 구조를 사용할 경우, 예를 들어
/archives/%post_id%
와 같이 설정하면 숫자가 포함된 URL을 사용할 수 있습니다.
- 포스트 작성 시 슬러그 수정:
- 글을 작성할 때, ‘편집’ 버튼을 눌러 슬러그를 직접 영문이나 숫자로 수정할 수 있습니다.
방법 3: 코드 수정
워드프레스 테마의 functions.php
파일에 코드를 추가하여 한글 슬러그를 자동으로 영문으로 변환하는 방법입니다. 다음은 예제 코드입니다:
function sanitize_title_with_dashes($title, $raw_title = '', $context = 'display') {
$title = strip_tags($title);
// Add your own sanitization logic here
$title = preg_replace('/[^a-zA-Z0-9\s]/', '', $title); // 영어와 숫자만 남기기
$title = preg_replace('/\s+/', '-', $title); // 공백을 대시로 바꾸기
$title = strtolower($title); // 소문자로 변경
return $title;
}
add_filter('sanitize_title', 'sanitize_title_with_dashes', 10, 3);
이 코드는 한글을 제거하고 영문과 숫자만 남기도록 합니다.
요약
- 플러그인을 사용하여 한글 URL을 영문이나 숫자로 변환.
- 워드프레스 설정에서 고유주소를 변경하거나, 글 작성 시 슬러그를 직접 수정.
functions.php
파일을 수정하여 커스텀 변환 로직 추가.
한글대신 숫자로 바꿀 경우 장점
우선 내가 기존의 문자로 된 것을 숫자 형식으로 바꾸려고 한 이유는 워드프레스에서 URL에 한글 대신 숫자나 영문자를 사용할 경우 아래와 같은 이점이 있다고 보았기 때문이다.
- SEO(검색 엔진 최적화)
- 검색 엔진 인덱싱 시 일부 검색 엔진은 한글 URL을 제대로 인덱싱하지 못할 수 있고,영문이나 숫자 URL이 인덱싱이 더 잘 되기 때문에 검색 엔진에 더 친화적일 수 있다.
- URL 길이가 한글은 인코딩되면 길어질 수 있는데 영문이나 숫자 URL은 더 짧고 깔끔해 보이며, 이는 검색 결과에서 더 나은 클릭률을 유도하기 때문이다.
- 링크 공유 및 사용 편의성
- 링크 공유은 한글 URL은 소셜 미디어나 이메일 등에서 공유할 때 인코딩된 긴 문자열로 변환될 수 있어 가독성 떨어질 수 있으나 영문이나 숫자 URL은 공유할 때도 깔끔하게 유지된다.
- 브라우저 호환성을 고려할 때 모든 브라우저가 한글 URL을 동일하게 처리하지 않고 영문이나 숫자 URL이 브라우저 간 호환성 문제가 적다.
- 사용자 경험
- 가독성면에 있어 영어를 사용하는 사용자나 한글에 익숙하지 않은 외국인 사용자들에게 더 친숙하고 이해하기 쉬운 URL을 제공한다.
- 입력의 편의성면에 있어 사용자가 URL을 직접 입력해야 할 경우 영문이나 숫자가 좀더 쉽다.
- 서버 및 시스템 호환성
- 서버 로그 및 분석 시 서버 로그 파일이나 웹 분석 도구에서 한글 URL은 인코딩되어 나타나기 때문에 분석하기 어렵다.
- 파일 시스템 호환성에 있어 일부 파일 시스템은 한글을 제대로 처리하지 못하므로 영문이나 숫자 URL은 이러한 시스템과의 호환성을 보장한다.
- 안정성과 예측 가능성
- URL 안정성에 있어 한글 URL은 인코딩 문제나 브라우저 호환성 문제로 인해 깨지거나 제대로 작동하지 않을 가능성이 크다.
- 예측 가능성면에서 영문이나 숫자로 구성된 URL은 더 예측 가능하며, URL의 구조만 보고도 내용을 유추하기 쉽다.
고유주소 변경 후 기존 URL 정리
URL을 숫자로 전환한 후 이전에 한글로 되어 있던 URL을 찾아서 바뀐 주소로 대체해야 정상적으로 페이지에 링크가 될 것이다. 다만, 나의 경우는 워드프레스 내 올린 글의 내부URL의 경우 별도의 변경 없이 알아서 숫자로 바뀐 URL로 잘 연결되었다. 외부에서 기존 URL을 참고하는 경우가 있다면 아래 방법을 활용하여 관리할 수 있다.
1. 플러그인 사용하여 리디렉션 설정
리디렉션을 설정하면 이전 한글 URL을 새로운 숫자 URL로 자동으로 연결할 수 있다. 이렇게 하면 기존 링크를 클릭하는 사용자는 자동으로 새로운 URL로 이동하게 된다.
- Redirection 플러그인: 이 플러그인은 쉽게 301 리디렉션을 설정하고 관리할 수 있게 도와주며, 한글 URL에서 숫자 URL로 리디렉션을 설정한다.
- Simple 301 Redirects: 간단한 인터페이스로 리디렉션을 설정할 수 있는 플러그인이다.
2. 데이터베이스에서 직접 변경
워드프레스 데이터베이스에서 한글 URL을 숫자 URL로 직접 변경할 수 있다. 이는 주의가 필요한 작업이지만, 한 번에 여러 URL을 변경할 수 있는 방법이다. 잘 아는 경우가 아니라면 이 방법은 추천하지 않는다. 예를 들어, 한글 URL을 숫자 URL로 대체하는 아래와 같은 SQL 쿼리를 실행할 수 있다.
UPDATE wp_posts SET post_content = REPLACE(post_content, 'old-korean-url', 'new-number-url');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'old-korean-url', 'new-number-url');
UPDATE wp_options SET option_value = REPLACE(option_value, 'old-korean-url', 'new-number-url');
주의: 데이터베이스를 수정하기 전에 반드시 백업을 해야 한다.
3. 검색 및 대체 플러그인 사용
워드프레스 플러그인 중에는 콘텐츠 내에서 특정 문자열을 검색하고 대체할 수 있는 플러그인이 있다.
- Better Search Replace: 이 플러그인은 워드프레스 데이터베이스에서 특정 문자열을 검색하고 대체할 수 있다. 한글 URL을 숫자 URL로 일괄 변경할 수 있다.
- Search Regex: 포스트, 페이지, 커스텀 포스트 타입 등에서 URL을 검색하고 대체할 수 있다.
4. 수동 변경
규모가 작은 사이트의 경우 수동으로 URL을 변경할 수도 있습니다. 각 포스트나 페이지를 편집하여 URL을 새로 바꿀 수 있다.
5. .htaccess 파일을 통한 리디렉션 (Apache 서버의 경우)
Apache 서버를 사용 중이라면 .htaccess
파일을 통해 리디렉션 규칙을 설정할 수 있다.
RewriteEngine On
RewriteRule ^old-korean-url$ /new-number-url [R=301,L]
요약
URL을 숫자로 전환한 후 기존 한글 URL을 새로운 숫자 URL로 리디렉션하거나 대체하는 작업은 필수적이다. 이를 위해 리디렉션 플러그인, 데이터베이스 직접 수정, 검색 및 대체 플러그인, .htaccess 파일 등을 사용할 수 있다. 이러한 방법을 통해 사용자 경험을 유지하고 SEO에 부정적인 영향을 최소화할 수 있지만 이미 외부 참조하고 있는 글이 많거나 오래 사용한 사이트라면 이러한 변경이 오히려 이득보다 실이 많을 수 있으니 신중히 의사결정하여 진행할 필요가 있다.