안녕하세요. 린치핀소프트 한광희입니다.

이번 포스트는 “고유주소”에 대한 글입니다.

고유주소(Permalink)란?

워드프레스에서 생성되는 콘텐츠(포스트,페이지,이미지) 등의 URL 입니다. 워드프레스를 통해 생성된 콘텐츠를 외부의 사람들이 접근하려면 URL과 같은 고유의 주소를 통해서야만 브라우저를 통해 콘텐츠를 참조 할 수 있습니다. 오늘은 이 고유주소에 대한 소개와 고유주소 설정 방법에 대해서 알려드리겠습니다.

워드프레스의 경우 고유주소를 설정하는 다양한 방법이 있습니다.

제가 작성한 블로그의 경우 URL이 “ http://www.linchpinsoft.com/워드프레스-소개/” 이런식으로 블로그 포스트의 주소를 설정합니다.

http://www.linchpinsoft.com/ 까지가 홈페이지의 주소 이며 그뒤의 “워드프레스-소개” 가 블로그의 특정한 글을 나타내는 주소입니다.

이렇게 URL이 블로그나 페이지의 타이틀 또는 성격을 대표하게끔 할때는 몇가지 장점이 있습니다.
20150808_permalink2

<고유주소의(Permalink)의 예 >

첫번째로는 SEO(Search Engine Optimization)에 친화적인 콘텐츠가 됩니다. 구글과 같은 검색엔진에서 웹 페이지를 수집하고 평가할때, 보통 콘텐츠를 대표하는 키워드나 내용이 해당 콘텐츠의 URL에 포함될 경우 검색엔진에서는 해당 페이지를 더 잘 파악할수 있다고 합니다. 검색엔진에서 잘 파악되고 구조적으로 콘텐츠가 제작되어 발행되면, 검색엔진 사이트에서 해당 웹 페이지가 검색결과로 노출된 확률이 증가합니다.

두번째로는 URL에 핵심키워드 또는 내용을 포함하므로 사용자가 해당 URL을 통해 포스트가 어떠한 정보를 포함할지 그 대강을 예측하여 도움을 줄 수 있습니다.

아래는 구글검색에 의하여 제가 작성한 블로그 포스트가 검색결과로 노출된 화면을 일부 캡춰하였습니다.아래 검색결과처럼 포스트의 타이틀과,요약과 URL이 나타나서 검색결과를 통해 웹페이지를 유입하는 이용자에게 부가적인 정보를 줄수 있다는 점이 있습니다.

그리고 누가보더라도 www.linchpinsoft.com/?p=132 라는 URL보다는 www.linchpisnoft.com/워드프레스-댓글-관리하기 라는 URL이 더 보기좋고 직관적이라고 느끼실 겁니다.

 

screenshot-www.google.co.kr 2015-08-08 15-08-20

1. 워드프레스의 기본 설정 고유주소

워드프레스를 처음 설치하고 포스트를 작성후 해당 고유주소를 보면 www.linchpinsoft.com/?=17 처럼 www.도메인.com/?=post_id 의 틀을 사용하게 됩니다.

이를  “Ugly Permalink” 라고 합니다. 이를 더 명시적이고 직관적인  www.linchpisnoft.com/워드프레스-댓글-관리하기 이런식으로 바꾸기 위해서는 “Pretty Permalink”형식을 차용해야 합니다.

이때 “Pretty Permalink”를 차용하기위해서는 요구 조건이 있습니다. 현재 워드프레스가 구동중인 웹 서버(Web Server)가 “아파치(Apache)”일 경우 아파차 서버의 “mod_rewrite” 모듈이 설치되어 있어야 합니다. 이에 대한 확인방법은 다양하지만 php 페이지를 이용해 간단하게 살펴볼수 있습니다.

워드프레스가 구동되는 디렉토리나 또는 웹서버의 www 또는 html 폴더 내에 phpinfo.php 페이지를 하나 만듭니다.(페이지 이름은 변경하셔도 됩니다)

그 후 해당 php파일에 다음과 같은 코드를 삽입합니다

<?php

// Show all system information.
phpinfo();

?>

위의 간단한 내용을 입력후 저장하여 브라우저를 통해 phpinfo.php 페이지에 접속하면 현재 php,mysql,apache 등 웹서버환경에 대한 정보를 보여줍니다.

이때 Configuration 항목 아래 apache의 Loaded Modules 항목에서 “mod_rewrite”가 있는지 확인하면 됩니다. 이때 해당 항목이 존재하면 현재 아파치에서 Pretty Permalink를 지원할수 있게 환경이 구성된 것입니다.

 

 

 

screenshot-52.68.215.28 2015-08-08 18-55-10

 

대부분 웹 호스팅 또는 일반적인 아파치의 설정에서는 위의 모듈을 기본적으로 로드합니다. 그럼 고유주소의 여러 구조에 대햇 알아보겠습니다.

고유주소는 “설정” -> “고유주소”항목에서 설정할수 잇습니다.

고유주소는 6가지 옵션으로 설정할 수 있습니다.각 옵션에 대한 설정은 하단 스크린샷의 URL 예시를 보면 쉽게 이해하리라 생각합니다.

제가 추천하하고 많은 분들이 사용하시는 설정이 Post Name 입니다. Post Name은 페이지나 포스트를 작서할때 페이지나 포스트의 타이틀 아래 “고유주소”또는 “slug”라고 하는 항목에 기입되는 이름을 의미합니다.보통 따로 설정하지 않으면 포스트의 제목과 동일하게 설정되고, 이는 포스트 작성화면에서 이용자가 수정할 수 있습니다.

screenshot-codex.wordpress.org 2015-08-08 15-11-22

단, Post Name의 경우 기존에 등록된 포스트와 같으면 URL 충돌이 이러나므로 워드프레스 시스템에서는 뒤에 (1),(2)와 같이 중복되지 않도록 숫자를 붙이는 경우도 있습니다.

Post Name 형식이 좋은 선택이 아닐경우에는 Custom Structure 를 선택하여 고유주소를 설정하는 구조를 직접 지시할수 있습니다.

이때, “Structure Tag”를 이용하여 지정할수 있습니다.

Structure Tag List

%year%
%monthnum%
%day%
%hour%
%minute%
%second%
%post_id%
%postname%
%category%
%author%

 

위에서 지원하는 structure tag를 이용해 고유주소 형식을 설정할 수 있습니다.

Custom Sturcture(사용자정의 구조) 에서 ” /%year%/%monthnum%/%day%/%postname%/ ” 이런식으로 입력하면 년/월/일/포스트 제목 순으로 URL을 구성할 수 있습니다.

이때 주의 할게 있습니다.

사용자정의 구조를 ” /%year%/%monthnum%/%day% ” 이런식으로 작성하게 되면 하루에 작성된 모든 블로그를 보여주는 카테고리 페이지와 포스트의 싱글 URL이 충돌이 나게 되므로 좋지 못한 고유주소 입니다. 이와 유사한 구조를 꼭 차용해야 한다면,  “/%year%/%monthnum%/%day%/%hour% ” 와 같이 뒤에 %hour%을 붙여서 충돌요소를 회피할수 있습니다.

 

.htaccess 관련사항

아파치 웹 서버에서 mod_rewrite 모듈이 로드되어도 워드프레스 시스템이 .htaccess 파일에 접근할수 없거나 수정할수 없으면 위의 Pretty Permalink 스타일의 고유주소를 사용할수 없습니다.

이때는

1. .htaccess 파일이 존재하는지 살펴보고 없다면 생성한다. 이때, .htaccess 파일은 워드프레스의 index.php파일과 동일한 디렉토리(폴더)에 있어야 한다.

2. .htaccess 파일을 처음 생성하는 경우

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

의 코드를 삽입하여 추가 한다.

3. .htaccess 파일을 워드프레스가 접근하고 수정할 수 있는지 Permission(접근 권한)을 체크한다.

4. 위의 사항이 정상적으로 반영되면 “설정” -> “고유주소” 메뉴에서 고유주소 환경을 설정한다.

 

위의 조치를 따라 취해주시면 됩니다. 간혹, .htaccess 파일의 접근권한이 제대로 정의되어 있지 않아서 고유주소페이지에서 수정되어야 하는 내용을 알려줄때가 있습니다. 이 내용을 복사하여 .htaccess 파일에 덮어쓰시면 됩니다. 또한 웹 서버가 IIS 나 Nginx 처럼 아파치와 다를경우 다른 조치 방법을 취해야 합니다. 이는 wordpress codex 문서를 참조해주세요.