부제 : SEO(Search engine optimization) 관점에서 바라본 URL(domain) 리다이렉트(Redirect), 리다이렉션(Redirection) 의 여러가지 방법


파치 웹 서버 (Using .htaccess for Redirection)를 이용한 방법

SEO(Search engine optimization) 관점에서 봤을 때 가장 유리한 방법이다. 물론 웹 서버가 아파치(Apache)여야 하는 단점이 있지만, 아파치의 웹서버 점유율이 꽤 높으니까 많은 사람들이 사용가능하리라 본다.
하지만, 티스토리같이 접근 제한이 많은 서비스의 경우는 사용하지 못하는 방법이기도 하다.


방법은 간단하다.

먼저 텍스트 파일을 하나 만들고(메모장이나 아무 텍스트 에디터로) 아래와 같은 내용을 쓴 다음 해당하는 디렉토리로 업로드하면 된다.
단지 파일 이름을 .htaccess 로 바꿔 주면 된다. (디폴트 아파치 웹 서버 설정상 그렇다. - 파일 확장자가 없다는 것에 유의하기를,..)

한 페이지만 특정 페이지로 가게 하려면( 해당 폴더에 넣으면 된다)

Redirect 301 /oldpage.html http://hmhm.net/index.php

도메인 전체를 특정 도메인으로 이동했을 경우(보통은 public_html 폴더 밑에 넣으면 된다)

Redirect 301 / http://hmhm.net/

www 가 붙은 것을 www 안 붙은 것으로 이동하고자 할 때 ( www.hmhm.net -> hmhm.net)

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^hmhm\.net
RewriteRule (.*) http://hmhm.net/$1 [R=301,L]


www 가 안 붙은 것을 www 붙은 것으로 이동하고자 할 때 ( hmhm.net -> www.hmhm.net)

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^hmhm.net [NC]
RewriteRule ^(.*)$ http://hmhm.net/$1 [L,R=301]


! 주의: .htaccess 파일에 "Options" 지시어를 사용하려면 "AllowOverride Options"가 필요하다. 따라서 위의 것이 제대로 작동되지 않으면 Options 가 있는 줄을 삭제하고 재시도 해보기 바란다.
! 참고로 위에서 쓰인 301은 HTTP status code로 영구적으로 옮겨졌다는 뜻이다.


그리고 SEO(Search engine optimization) 관점에서 본다면 자신의 도메인을 www 를 쓰든, 안 쓰든 한가지만 사용하는 것이 유리하다.
왜냐하면 www.hmhm.net 과 hmhm.net 으로 링크가 양분되면 다른 이들도 산술적으로 본다면 그 둘로 양분되서 링크를 걸 것이고 그러면 검색엔진 입장에서는 사이트의 인기는 절반으로 떨어지는 것처럼 보일테니까


HTTP status codes 에 대한 더 자세한 사항
아파치 웹 서버의 .htaccess files에 대한 더 자세한 정보

프로그래밍 언어(Using server side scripting for Redirection)를 이용하는 방법

이 방법은 특정 페이지에서 server side script(php, asp, jsp등)을 이용해서 HTTP 표준 redirection 을 사용하는 방법이다.

각 언어별로 아래와 같이 사용하면 된다.

PHP를 사용하는 경우
<?
header( "Location: http://hmhm.net/index.php" );
?>

JSP를 사용하는 경우
<%
response.sendRedirect("http://hmhm.net/index.php");
%>

ASP를 사용하는 경우
<%
response.redirect "http://hmhm.net/index.php"
%>


이 방법도 SEO(Search engine optimization) 관점에서 봤을 때 그리 나쁘지 않은 방법이지만, 웹 사이트가 통째로 옮겨지거나 도메인이 변경됐을 때 모든 페이지에 위와 같은 코드를 넣어야 하는 단점이 있다.


Http 태그(Using http meta tag for Redirection)를 이용하는 방법

이것은 HTML meta 태그중에서 refresh 태그를 사용하는 방법으로 가장 안 좋은 방법의 하나로 일명 납치 태그로 불리기도 했었지만, 너무나 쉽게 쓸 수 있고 어디로 옮겼으니 이쪽으로 오라는 것과 같은 간단한 설명문도 같이 사용할 수 있어서 괜찮은 방법중의 하나다.

하지만, SEO(Search engine optimization) 관점에서는 아주 안 좋은 방법이다. 자제하기를..

아래의 내용을 html 파일 <head></head> 사이에 넣으면 된다.

<meta http-equiv="Refresh" Content="5;url=http://hmhm.net">

Content="5 : 5초후에 이동
url=http://hmhm.net : 정해진 시간 후에 이동하게 될 페이지 설정


간단히 예를 들면 이런 식으로...
<html>
<head>
  <meta http-equiv="Refresh" content="10; url=http://hmhm.net/">
</head>
<body>
  Please follow <a href="http://hmhm.net/">link</a>!
</body>
</html>



바스크립트(Using client side scripting for Redirection)를 이용하는 방법

가장 안 좋은 방법으로 자바 스크립트를 지원하지 않는 브라우저도 있을 수 있고 client 에서 자바스크립트를 사용 못하게 할 수도 있어서 여러 모로 좋지 못한 방법이다.

SEO(Search engine optimization) 관점에서는 아주 안 좋은 방법이다.

html 파일안에 아래와 같은 내용을 넣으면 된다.

<script language="JavaScript">
document.location = "http://hmhm.net";
</script>



ⓒ 무단 복사/스크랩 금지, 링크 환영 (저작권 공지)
http://hmhm.net/trackback/194 관련글 쓰기
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST