URL과 고유주소(Permalink) 그리고 SEO

홈페이지나 블로그의 주소를 보면 알파벳, 기호, 숫자 등이 포함된 이해할 수 없는 URL이 있는 반면, 숫자 또는 영어 문장형태로 알아보기 쉬운 URL이 있습니다. 어떤 URL 형식이 더 좋은지, 어떻게 설정하는 것인지 알아보도록 하겠습니다.
우선 예제를 통해 살펴보도록 하겠습니다. 아래 두 URL은 일반적인 '블로그의 게시글을 볼 때' 예상되는 URL입니다.
① http://mydomain.com/blog/view.php?idx=1234&cat=programming&page=1
② http://mydomain.com/blog/programming/seo-best-practice
일반 사용자들에게는 ①이 의미 없는 URL로 보일 수 있지만 사실은 사용자가 요구한 게시글을 보여주기 위한 정보가 URL에 담겨 있습니다.
mydomain.com과 blog까지는 대충 알아보겠는데 그 뒤에 나오는 내용들이 좀 이해하기 힘듭니다.
먼저 물음표(?)가 나오는데 이것은 URL에 특정 정보를 담고 있다는 뜻입니다. 이때 URL 뒤에 붙어 있는 정보는 「변수명=값」의 형태로 사용하며 이런 정보를 여러개 나열할때 그 사이에 「&」를 추가합니다.
「idx=1234&cat=programming&page=1」를 해석해 보면,
・idx는 1234 : 데이터베이스에 저장되는 게시글의 고유번호 정보를 담고있습니다.
・cat는 programming : 게시글의 카테고리 정보를 담고 있습니다.
・page는 1 : 현재 보고 있는 글이 목록 몇 페이지에 나오는지에 대한 정보를 담고 있습니다.
②와 비교하여 추가적인 작업이 필요없는 장점이 있지만, 알아보기 어려운 URL과 검색엔진최적화에 좋지 않은 단점이 있습니다.
또, 게시글이 늘어나면 제일 뒤에 붙어있는 「page=1」 값이 변하게 되어 동일한 게시글임에도 URL이 바뀌게 됩니다.
②의 경우, 조금만 관심을 가지고 URL을 확인해본다면 이해할 수 있을 정도로 쉬운 URL입니다.
'블로그(Blog) 게시글 중에서 프로그래밍(Programming) 관련글로 SEO의 모범 사례(SEO Best Practice)에 대한 글이 겠구나...'
일반적으로 URL은 서버의 디렉토리 구조를 파악하기 위해 사용하지만(물음표 뒤의 정보전달 문자열을 제외했을 때), ②의 경우는 쉬운 URL을 위해 디렉토리 구조 뿐만아니라 정보 전달을 위한 값을 동시에 사용하고 있습니다.
외부적으로는 URL에 물음표와 추가 정보가 없어보이지만 사실 웹서버에서는 이 URL로부터 필요한 정보를 찾아내고 가공한 후, ①의 URL처럼 해당 페이지를 호출하고 그 결과를 사용자에게 돌려줍니다.
이를 위해 프로그래머는 ①에서는 필요없었던 추가 작업(웹서버에 .htaccess 파일을 설정하고 URL을 분석하여 필요한 페이지를 요청)을 하게됩니다.
프로그래머에겐 ①이 좀 더 쉽고 빠르게 작업할 수 있는 방법이지만, 최근 검색엔진최적화(SEO) 정책에선 ①보다는, 키워드의 나열로 알아보기 쉽고 URL이 변하지 않는 ②를 사용할 것을 권장하고 있습니다.
여기에서 URL이 ②처럼 변하지 않고, 항상 동일하게 사용하는 것을 고유주소 또는 고유URL(퍼머링크:Permalink)이라고 합니다.
퍼머링크(permalink)는 인터넷에서 특정 페이지에 영구적으로 할당된 URL 주소를 뜻한다. 이 주소는 한 번 정해지면 영원하다는 의미에서, 영구적인(permanent) 주소라는 뜻의 permanent link를 줄여 만든 말이다. 영구 링크라는 번역이 원의에 가깝지만, 한국에서는 고유 링크나 고유 주소라는 명칭이 광범위하게 퍼져 있다.
퍼머링크를 사용하는 대표적인 사례는 블로그에서 볼 수 있다. 시간이 지남에 따라 새로운 내용이 추가되면서 블로그의 글은 위치가 쉽게 변하므로, 각각의 글에 영원히 고정된 주소를 제공하는 것이다. - From 위키백과
URL이 어떻게 구성되어 있고 어떤 형식의 URL이 좋은지 알아보았으니 이제 고유주소를 설정하는 방법에 대해 간단히 알아보겠습니다.
고유주소 설정을 위에서는 위에 잠깐 언급이 되었던 .htaccess 파일을 수정해야 합니다. 이 파일을 에디터로 열어서 mod_rewrite라는 아파치 웹서버의 모듈을 사용하도록 설정하는 것입니다.
※ mod_rewrite의 자세한 설정 방법은 아파치 웹서버의 「URL 재작성 지침서」를 참고하세요.
<Ifmodule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?permalink=$1 [QSA, L]
</IfModule>
위의 내용을 간단히 설명하면, 사용자가 요구한 URL이 디렉토리, 파일이 아닌 경우 index.php 파일을 호출하고 입력된 URL을 변수로 넘겨주라는 뜻입니다.
이런식으로 mod_rewrite 모듈을 사용하여 사용자가 요구한 URL을 분석하고 특정 웹페이지를 호출해 주는 것이 가능합니다.
최근에 많이 사용하는 MVC 패턴의 프레임워크에서는 위의 예제처럼 모든 사용자의 요구를 index.php로 넘겨주고, index.php에서 다시한번 URL을 분석하여 해당 페이지를 호출하도록 하고있습니다.
이와 관련한 내용은 「MVC 패턴의 PHP 프레임워크 잘~ 사용하기」 포스팅에서 확인하실 수 있습니다.
②와 같은 고유주소를 사용하면서 SEO와 관련된 또하나의 이슈는 '과연 고유주소에 한글을 사용하는 것이 좋은가' 입니다.
구글 검색엔진의 경우, URL 주소에 포함된 단어도 키워드로 판단하고 있으므로, 의미없는 정보나 숫자보다는 영어나 한글로 된 URL을 사용하는 것이 SEO에 도움이 됩니다.
하지만 URL에는 한글(영어 알파벳 이외 언어)을 사용할 수 없기에 한글을 사용할 경우 인코딩(Encoding)을 해야하고, 이렇게 인코딩된 URL은 '한글'이 '%ED%95%9C%EA%B8%80'로 보이게 됩니다.
이는 브라우저에 따라, 또는 SNS에 공유할때 URL 주소가 마치 깨진것처럼 보이기에 미관상 좋지 않은 단점이 있습니다. 또, 경우에 따라서는(사용자가 인코딩이 되지 않은 URL 사용 시) 페이지를 찾지 못하는 결과를 초래하기도 합니다.
그러므로 개인적으로는 한글보다는 영문을 이용하는 것을 추천합니다.
지금 여러분의 홈페이지나 블로그는 SEO를 위해 고유주소를 사용하고 있습니까?
댓글 달기