리디렉션 및 Google 검색
URL 리디렉션은 기존 URL을 다른 URL과 연결 지어 방문자와 Google 검색에 페이지의 위치가 새로 지정되었음을 효과적으로 알리는 방법입니다. 리디렉션은 다음 상황에서 특히 유용합니다.
- 사이트를 새로운 도메인으로 옮기고 사이트 이전을 최대한 원활하게 진행하고자 하는 경우
- 사용자가 여러 다른 URL을 통해 사이트에 액세스하는 경우: 예를 들어,
https://example.com/home
,http://home.example.com
또는https://www.example.com
과 같이 여러 방법으로 홈페이지에 액세스할 수 있다면 이러한 URL 중 하나를 선호(표준)하는 목적지로 선택하고 리디렉션을 사용하여 다른 URL에서 선호하는 URL로 트래픽을 전송하는 것이 좋습니다. - 두 웹사이트를 통합하면서 이전 URL 링크가 정확한 페이지로 리디렉션되게 하려는 경우
- 페이지를 삭제하여 사용자를 새 페이지로 유도하려는 경우
리디렉션 유형 개요
일반적으로 사용자는 서로 다른 유형의 리디렉션 차이를 분별할 수 없지만, Google 검색에서는 리디렉션을 리디렉션 대상이 표준이어야 한다는 강한 신호 또는 약한 신호로 삼습니다. 어떤 리디렉션을 선택할지는 리디렉션의 예상 시간과 Google 검색의 검색결과에 표시하려는 페이지에 따라 다릅니다.
- 영구 리디렉션: 검색결과에 새 리디렉션 대상을 표시합니다.
- 임시 리디렉션: 검색결과에 소스 페이지를 표시합니다.
다음 표에는 영구 리디렉션과 임시 리디렉션을 설정하는 다양한 방법이 설명되어 있습니다. 순서는 Google에서 올바르게 해석할 가능성이 높은 순으로 되어 있습니다(예: 서버 측 리디렉션이 올바르게 해석될 가능성이 가장 높음). 상황과 사이트에 맞는 리디렉션 유형을 선택합니다.
리디렉션 유형 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
영구 |
Googlebot은 리디렉션을 따르고, 색인 생성 파이프라인은 리디렉션을 리디렉션 대상이 표준이어야 한다는 강한 신호로 삼습니다.
|
||||||||||
임시 |
Googlebot은 리디렉션을 따르고, 색인 생성 파이프라인은 리디렉션을 리디렉션 대상 페이지가 표준이어야 한다는 약한 신호로 삼습니다.
|
서버 측 리디렉션
서버 측 리디렉션을 설정하려면 서버 구성 파일(예: Apache의 .htaccess
파일)에 액세스하거나 서버 측 스크립트(예: PHP)를 사용하여 리디렉션 헤더를 설정해야 합니다. 서버 측에는 영구 리디렉션과 임시 리디렉션을 모두 만들 수 있습니다.
영구 서버 측 리디렉션
검색엔진 결과에 표시되는 대로 페이지의 URL을 변경해야 하는 경우 가능하면 영구 서버 측 리디렉션을 사용하는 것이 좋습니다. 이는 Google 검색과 사용자를 정확한 페이지로 이동하도록 하는 최상의 방법입니다. 301
및 308
상태 코드는 페이지가 새 위치로 영구 이전했다는 의미입니다.
임시 서버 측 리디렉션
사용자를 임시로 다른 페이지로 보내려고 할 때 임시 리디렉션을 사용합니다. 그러면 Google에서 이전 URL을 결과에 더 오래 보관하기도 합니다. 예를 들어 사이트에서 제공하는 서비스가 일시적으로 사용할 수 없게 된 경우, 임시 리디렉션을 설정하여 현재 상황을 설명하는 페이지로 사용자를 리디렉션할 수 있습니다. 이 경우 검색결과에 표시되는 원래 URL이 손상되지도 않습니다.
서버 측 리디렉션 구현
서버 측 리디렉션의 구현은 호스팅 환경과 서버 환경 또는 사이트 백엔드의 스크립트 언어에 따라 다릅니다.
PHP로 영구 리디렉션을 설정하려면 header()
함수를 사용합니다. 화면에 항목을 전송하기 전에 헤더를 먼저 설정해야 합니다.
header('HTTP/1.1 301 Moved Permanently'); header('Location: https://www.example.com/newurl'); exit();
마찬가지로 다음은 PHP를 사용하여 임시 리디렉션을 설정하는 방법의 예입니다.
header('HTTP/1.1 302 Found'); header('Location: https://www.example.com/newurl'); exit();
웹 서버 구성 파일에 액세스 권한이 있으면 직접 리디렉션 규칙을 작성할 수 있습니다. 웹 서버의 가이드를 따르세요.
-
Apache: Apache
.htaccess
튜토리얼, Apache URL 재작성 가이드 및 Apachemod_alias
문서를 참고하세요. 예를 들어mod_alias
를 사용하여 가장 간단한 형태의 리디렉션을 설정할 수 있습니다.# Permanent redirect: Redirect permanent "/old" "https://example.com/new" # Temporary redirect: Redirect temp "/two-old" "https://example.com/two-new"
더 복잡한 리디렉션의 경우
mod_rewrite
를 사용합니다. 예:RewriteEngine on # redirect the service page to a new page with a permanent redirect RewriteRule "^/service$" "/about/service" [R=301] # redirect the service page to a new page with a temporary redirect RewriteRule "^/service$" "/about/service" [R]
-
NGINX: NGINX 블로그에서 NGINX 재작성 규칙 만들기를 읽어보세요. Apache를 사용할 때와 마찬가지로 여러 가지 방법 중에서 선택하여 리디렉션을 만들 수 있습니다. 예를 들어 다음과 같습니다.
location = /service { # for a permanent redirect return 301 $scheme://example.com/about/service # for a temporary redirect return 302 $scheme://example.com/about/service }
더 복잡한 리디렉션에는
rewrite
규칙을 사용합니다.location = /service { # for a permanent redirect rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent; # for a temporary redirect rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect; }
- 다른 모든 웹 서버의 경우에는 서버 관리자나 호스팅 업체에 문의하거나 선호하는 검색엔진에서 가이드를 검색하세요(예: 'LiteSpeed 리디렉션').
meta refresh
및 이에 상응하는 HTTP
서버 측 리디렉션을 플랫폼에서 구현할 수 없는 경우 meta refresh
리디렉션이 실행 가능한 대안이 될 수 있습니다. Google에서는 두 가지 유형의 meta refresh
리디렉션을 구별합니다.
-
즉시
meta refresh
리디렉션: 페이지가 브라우저에 로드되는 즉시 트리거됩니다. Google 검색은 즉시meta refresh
리디렉션을 영구 리디렉션으로 해석합니다. -
지연
meta refresh
리디렉션: 사이트 소유자가 설정한 임의의 시간(초)이 지난 뒤에만 트리거됩니다. Google 검색은 지연meta refresh
리디렉션을 임시 리디렉션으로 해석합니다.
meta refresh
리디렉션을 서버 측 코드가 있는 HTTP 헤더 또는 HTML의 <head>
요소에 배치합니다. 예를 들어 다음은 HTML의 <head>
요소에 배치된 즉시 meta refresh
리디렉션입니다.
<!doctype html> <html> <head> <meta http-equiv="refresh" content="0; url=https://example.com/newlocation"> <title>Example title</title> <!--...-->
다음은 이에 상응하는 HTTP 헤더의 예입니다. HTTP 헤더는 서버 측 스크립트로 삽입할 수 있습니다.
HTTP/1.1 200 OK Refresh: 0; url=https://www.example.com/newlocation ...
Google에서 임시 리디렉션으로 간주하는 지연 리디렉션을 만들려면 content
속성을 리디렉션이 지연되어야 하는 시간(초)으로 설정합니다.
<!doctype html> <html> <head> <meta http-equiv="refresh" content="5; url=https://example.com/newlocation"> <title>Example title</title> <!--...-->
자바스크립트 location
리디렉션
Google 검색은 URL 크롤링이 완료되면 웹 렌더링 서비스를 사용하여 자바스크립트를 해석하고 실행합니다.
자바스크립트 리디렉션을 설정하려면 HTML 헤드의 스크립트 블록에서 location
속성을 리디렉션 대상 URL로 설정합니다. 예:
<!doctype html> <html> <head> <script> window.location.href = "https://www.example.com/newlocation"; </script> <title>Example title</title> <!--...-->
Crypto 리디렉션
기존 리디렉션 방법을 구현할 수 없는 경우에도 사용자에게 페이지나 콘텐츠가 이동되었음을 알리도록 계속 노력해야 합니다. 가장 간단한 방법은 간단한 설명과 함께 새 페이지를 가리키는 링크를 추가하는 것입니다. 예를 들어 다음과 같습니다.
<a href="https://newsite.example.com/newpage.html">이전 완료! 새로운 사이트에서 콘텐츠를 찾아보세요!</a>
이렇게 하면 사용자가 새 사이트를 찾을 수 있고 Google에서 이를 crypto 리디렉션으로 이해할 수 있습니다. 스코틀랜드 네스호 괴물과 마찬가지로 리디렉션이 존재하는지 의심스러울 수 있으며 모든 검색 엔진이 이 유사 리디렉션을 정식 리디렉션으로 인식하지는 않습니다.
대체 URL 버전
URL이 리디렉션되는 경우 Google에서는 리디렉션 소스(이전 URL)와 리디렉션 대상(새 URL)을 모두 추적합니다. 이 URL 중 하나가 표준 URL이 됩니다. 어떤 URL이 될지는 리디렉션이 임시적인지 아니면 영구적인지 등을 나타내는 신호에 따라 다릅니다. 남은 URL이 표준 URL의 대체 이름이 됩니다. 대체 이름은 사용자가 인식하고 더 신뢰할 수 있는 다른 버전의 표준 URL입니다. 사용자 검색어에 이전 URL이 더 많이 신뢰될 수 있다는 암시가 있으면 대체 이름이 검색결과에 표시될 수 있습니다.
예를 들어 새 도메인 이름으로 이동한 경우 새 URL의 색인이 이미 생성되었더라도 경우에 따라 Google 결과에 이전 URL이 계속 표시될 수 있습니다. 이는 정상적인 현상이며, 사용자가 새 도메인 이름에 익숙해지면 개발자의 별도 작업 없이 대체 이름은 사라집니다.