리디렉션(redirect)이란 무엇인가요? 각 리디렉션의 차이와 SEO 영향을 설명해주세요.

작성자: | 작성일: 2023년 7월 31일 | 미분류

리디렉션(redirect)은 사용자가 사이트나 페이지를 방문할 때 자동으로 다른 URL로 이동하는 메커니즘입니다.

사이트 이동이나 URL 변경 시 리디렉션에 대해 알고 있다면 SEO를 위한 중요한 시기입니다. 이때 여러 종류의 리디렉션을 어떻게 사용해야 할지 궁금할 수 있습니다.

이 글에서는 SEO 관점에서 리디렉션의 의미와 개요부터 권장하는 종류와 효과의 차이, 그리고 구체적인 설정 방법까지 자세히 설명하겠습니다.

리디렉션이란 대체로 무엇인가요? 어떤 의미인가요

What Is A Redirect Anyway? What Do You Mean

리디렉션(redirect)은 사용자가 특정 사이트나 페이지를 방문했을 때 자동으로 다른 URL로 이동되는 메커니즘입니다.

예를 들어, 관리하는 사이트의 URL이 새로운 URL로 변경되었다고 가정해 봅시다. 이 때 아무런 조치를 취하지 않으면 기존 사용자들은 계속해서 기존 URL에 접속하게 되고 새로운 사이트나 페이지를 볼 수 없게 됩니다.

이는 리디렉션이 필요한 순간입니다. 리디렉트를 설정함으로써, 이전 페이지에서 자동으로 새 페이지로 전환할 수 있어 사용자를 새 페이지로 안내할 수 있습니다.

다른,

  • 사용하는 장치에 따라 별도의 URL
  • 결제 완료 후 페이지 자동 전환

리디렉트는 다른 목적으로도 사용됩니다.

리디렉트의 중요성

리디렉트를 설정하는 목적 중 하나는 사용성 문제를 피하는 것입니다.

리디렉트 없이 기존 사이트에서는 사용자가 오래된 정보를 계속해서 볼 수 있습니다. 또한, 기존 사이트가 닫힌 상태(404)라면 사용자는 새 사이트로 이동해야 합니다.

리디렉트를 올바르게 설정하면 이러한 사용성 저하를 방지할 수 있습니다.

리디렉트는 SEO 측면에서도 중요합니다. URL을 변경할 때 리디렉트를 설정하지 않으면 Google을 비롯한 검색 엔진은 새 페이지를 다른 페이지로 간주하여, 이전까지 축적한 평가가 초기화될 수 있습니다.

리다이렉트를 올바르게 설정하면 구버전 페이지에 대한 검색 엔진 평가가 새로운 페이지로 이전되므로, 랭킹 등 성능에 대한 거의 손실 없이 마이그레이션할 수 있습니다.

Purpose of N Redirect

그러나 사이트 개편 중 리다이렉트에 주의해야 할 다른 사항들도 있습니다. 사이트 개편 시 SEO에 대해 숙지해야 하는 포인트를 다음 자료에서 요약하였으니 참고하시기 바랍니다.

리다이렉트를 설정해야 하는 경우는 언제인가요?

위에서 언급한 바와 같이, 리다이렉트는 웹사이트를 운영할 때 사용성과 SEO 관점에서 기억해야 할 포인트입니다. 실제로 언제 리다이렉트가 필요한지 알아볼까요? 리다이렉트 설정은 주로 다음과 같은 경우에 필요합니다.

  • 사이트 개편 시 (URL 변경)
  • 사이트 도메인 변경 시
  • PC에서 스마트폰으로 다른 URL로 전환하려는 경우
  • 유지 보수 중인 등 임시로 접속이 불가능한 경우
  • 기간 제한 캠페인과 같이 일시적으로 확인하고자 하는 페이지가 있는 경우

이와 같이 리다이렉션이 필요한 상황이 많이 있습니다.

사이트가 갱신될 때 리디렉션하는 방법에 대한 쉬운 이해를 위해 아래 기사를 참조해주세요.

리디렉션 종류 및 차이점

두 가지 유형의 리디렉션이 있습니다:

  • 서버 측 리디렉션(.htaccess 또는 PHP를 이용한 HTTP 리디렉션)
  • 클라이언트 측 리디렉션(JavaScript 또는 메타 리프레시)

일반적으로 보이는 301 리디렉션과 302 리디렉션은 서버 측 리디렉션이며, Google이 SEO 관련 맥락에서 권장하는 방법입니다.

여기에서 동일한 서버 측 리디렉션인 301 리디렉션과 302 리디렉션의 차이점과 특징을 살펴보겠습니다.

301 리디렉션

301 Redirect

“301 리디렉션”은 URL이 영구적으로 변경되었을 때 사용되는 전달 상태 코드입니다.

301 리디렉션은 다음과 같이 “원래 URL이 더 이상 사용되지 않을 것임” 을 의미합니다.

  • 전체 사이트가 갱신되고 URL이 변경된 경우
  • SSL로 전환한 후에 http에서 https로 변경하는 경우
  • URL 정규화를 구현하는 경우

검색 엔진은 '새로운 URL을 표시해야 한다'고 인식하며, 기본적으로 새로운 URL로 색인이 빠르게 이동되며, 이전 페이지의 평가도 계승됩니다.

이것도 읽어보세요: 301 리디렉션은 링크 저스를 전달하는가요?

302 리디렉션

302 Redirect

'302 리디렉션'은 URL이 임시로 변경된 경우에 사용되는 전송 처리 상태 코드입니다.

302 리디렉션을 수행할 때, 다음과 같이 임시 변경 사항을 전달하는 데 사용합니다.

  • A/B 테스트에서 리디렉션 테스트를 수행하는 경우
  • 유지 보수 중에 일시적으로 액세스를 비활성화해야 할 때
  • PC 및 스마트폰에 표시되는 URL을 변경하려는 경우
  • 캠페인 페이지 등을 임시로 거치고자하는 경우

302 리디렉션은 일시적인 변경이며, 검색 엔진도 언젠가 원래 URL로 되돌아갈 수도 있다고 판단합니다. 새로운 URL의 색인화도 301 리디렉션보다 방문 시간이 길어지는 경향이 있습니다.

웹사이트를 이동하는 경우 301 리디렉션을 권장합니다. 302 리디렉션을 사용하더라도 페이지 평가가 유지됩니다.

301 redirect vs 302 redirect

서버 측 리디렉션

여기에서 리디렉션의 메커니즘 차이를 설명하겠습니다. 서버 측에서 리디렉션을 설정하는 두 가지 방법이 있습니다.

  • .htaccess로 리디렉션하기
  • php로 리디렉션하기

.htaccess로 리디렉션하기

.htaccess를 통한 리디렉션은 관리가 쉽고 구성도 쉬우므로 가장 권장되는 리디렉션 방법입니다.

그러나 서버에서 Apache를 사용하고 .htaccess 파일에 서버에서 액세스할 수 있는 경우에만 .htaccess를 설정할 수 있습니다.

하나의 파일로 집단적으로 설명할 수 있을 뿐만 아니라 각 파일이나 디렉토리에 대해 상세한 설정을 할 수도 있습니다. www의 유무나 trailing slash 등 일괄적으로 설정하려면 .htaccess를 사용하는 것이 편리합니다.

Php를 사용한 리다이렉트

PHP를 사용한 리다이렉트는 html 파일의 상단에 header 함수를 작성하는 리다이렉트 방법을 의미합니다.

리다이렉트할 때 상태 코드를 설정할 수 있지만, 기본값은 302 리다이렉트이므로 웹사이트를 이동할 때 301 리다이렉트를 설정해야 합니다.

URL마다 개별적으로 설정할 수 있는 것이 편리하지만, 관리적인 측면에서 .htaccess를 권장합니다.

클라이언트 측 리다이렉트

서버 측에서 리다이렉트를 소개했지만, 클라이언트 측에서도 리다이렉트를 설정하는 경우도 있습니다.

클라이언트 측 리다이렉트를 설정하는 두 가지 방법이 있습니다:

  • JavaScript를 사용한 리다이렉트
  • 메타 리프레시를 사용한 리다이렉트

JavaScript를 사용한 리다이렉트

JavaScript를 사용한 리다이렉트는 리다이렉트 소스 페이지의 'script 태그'에 'JavaScript'를 작성하여 리다이렉트를 설정하는 방법입니다.

JavaScript 리다이렉트는 Google에서 잘 처리되므로 서버 사이드 리다이렉트가 불가능한 경우에는 첫 번째로 선택되는 방법입니다. 사용자가 JavaScript를 비활성화 한 경우에는 적용되지 않습니다.

또한, 알지 못하면 매개변수와 리퍼러 정보를 파악할 수 없고 방문한 페이지도 알 수 없어 측정에 영향을 줄 수 있습니다.

다음 참조 사이트를 바탕으로 개발 부서와 상의하면서 구현해 보세요.

메타 리프레시를 사용한 리다이렉트

메타 리프레시에 의한 리다이렉트는 메타 태그의 'http-equiv 속성'에 'refresh'를 설정하여 리다이렉트를 설정하는 방법입니다. 이러한 이유로 html 리다이렉트 또는 메타 리프레시 리다이렉트라고도 불리며, 과거에 가장 일반적으로 사용되던 리다이렉트 방법 중 하나였습니다.

그러나 최근에는 HTML을 표준으로 지정한 W3C와 Google에서 폐기되었으며 거의 보이지 않습니다. 기본적으로 .htaccess, PHP 또는 JavaScript와 같이 리다이렉트할 수 없는 경우에만 마지막 수단으로 사용하십시오.

리다이렉트 유형 요약

Summary Of Redirect Types

리디렉션에는 “서버 사이드”와 “클라이언트 사이드” 두 가지 유형이 있으며, 확실성과 SEO 측면에서는 서버 사이드 리디렉션이 권장됩니다.

게다가.htaccess'' and“PHP 리디렉트”가 일반적인 서버 사이드 리디렉션 방법이며, “.htaccess”가 관리 관점에서 가장 권장되는 방법입니다.

한편, 클라이언트 사이드 리디렉션에는 “JavaScript 리디렉트”와 “메타 리프레시” 두 가지 유형이 있지만, 각각의 단점이 있기 때문에 서버 사이드 리디렉션이 사용할 수 없을 때에만 사용하는 것이 좋습니다. 모든 상황에서, “메타 리프레시”는 마지막 수단이어야 합니다.

리디렉션 설정 방법

여기에서는 다음 네 가지 리디렉션 설정 방법을 소개합니다.

  • .htaccess
  • PHP
  • JavaScript
  • 메타 리프레시

.htaccess

서버에서 .htaccess 파일을 확인하세요. 서버에 파일이 없는 경우, 텍스트 편집기 등을 사용하여 새 .htaccess 파일을 생성하고 적절한 리디렉트를 작성하세요.

리디렉션 범위에 따라 설명이 달라지므로 아래 내용을 참조하십시오.

페이지 단위

<IfModule mod_rewrite.c>

Rewrite Engine on

RewriteRule ^(리디렉션 출발 URL)$(리디렉션 도착 URL)[R=301,L]

</IfModule>

각 디렉토리에 대해

<IfModule mod_rewrite.c>

Rewrite Engine on

Rewrite Base /

RewriteRule ^old(원래 디렉토리)/(.)$ /new(리디렉션된 디렉토리)/$1 [R=301,L]

</IfModule>

각 도메인에 대해

<IfModule mod_rewrite.c>

Rewrite Engine on

RewriteCond %{HTTP_HOST} ^(변경 전 도메인)

RewriteRule ^(.) (새로운 도메인)$1 [R=301,L]

</IfModule>

SSL로 인한 URL 변경 시

<IfModule mod_rewrite.c>

Rewrite Engine on

RewriteCond %{HTTPS} off

RewriteRule ^(.) (SSL 리디렉션 URL)$1 [R=301,L]

</IfModule>

URL 표준화 시 (www 없음으로)

<IfModule mod_rewrite.c>

Rewrite Engine on

RewriteCond %{HTTP_HOST} ^(www 페이지 URL)

RewriteRule ^(.) (www 없는 URL)$1 [R=301,L]

</IfModule>

PHP

다음은 php에서의 리디렉트 설정 방법을 소개합니다. 특정 페이지로 리디렉트하는 경우:

<?php

header('Location: (리다이렉트할 URL)', true, 301);

exit();

(리다이렉트 URL) 부분 작성시 ()는 제외합니다.

PHP로 리다이렉트를 그대로 설정하면 302 리다이렉트가 됩니다. 301 리다이렉트를 설정하려면 위와 같이 작성해주세요.

JavaScript

클라이언트 측에서 리다이렉트를 하려면 아래와 같이 JavaScript를 사용하여 작성해주세요.