질문

헬프 센터에서 문서를 삭제했습니다. 내 삭제된 헬프 센터 문서에서 트래픽을 리디렉션할 수 있나요?

답변

고지 사항: 이 문서는 안내 목적으로만 제공되고 있습니다. Zendesk는 코드를 지원하거나 보장하지 않습니다. 또한 Zendesk는 JavaScript, jQuery, CSS 등의 타사 기술에 대해 지원할 수 없습니다. 문제가 있는 경우 댓글 섹션에 게시하거나 온라인으로 해결 방법을 찾아보세요.

예, 이러한 트래픽의 출처와 상관없이 해당 URL을 방문하는 사용자들을 더 유용한 페이지로 자동 리디렉션할 수 있습니다.

헬프 센터의 사용자 지정 JavaScript 파일 액세스

이러한 솔루션을 구현하려면 헬프 센터의 JavaScript 파일에 액세스하세요.

  1. 관리자로 Zendesk Support에 로그인합니다. 위쪽 도구 모음에서 Zendesk 제품 아이콘()을 클릭한 다음 Guide를 선택합니다.
  2. Zendesk Guide 오른쪽 위에 있는 Guide 관리를 선택합니다.
  3. 사이드바에서 디자인 사용자 지정 아이콘()을 클릭합니다.
  4. 테마에서 사용자 지정을 클릭합니다.
  5. 코드 편집을 클릭합니다.
  6. script.js 파일을 클릭합니다.

Edit_JavaScript_In_Theme_.gif

참고: 이 문서에 포함된 솔루션은 JavaScript 리디렉션에 관한 것입니다. 이러한 리디렉션은 Google 검색 순위에 영향을 미칠 수 있습니다. 따라서 장기 배포나 대규모 배포에 적합하지 않습니다. 대신 개발자가 있는 경우에는 헬프 센터의 페이지 리디렉션에 리디렉션 규칙 API를 사용하세요.

일반적인 리디렉션 워크플로우 구현 방법에 대한 예는 아래 섹션을 확인하세요. 

  • 예 1: 일련의 삭제된 문서를 새 문서로 리디렉션하기
  • 예 2: 번역되지 않은 문서를 기존 언어로 리디렉션하기
  • 예 3: 삭제된 모든 문서를 하나의 특정 페이지로 리디렉션하기
  • 예 4: 일반화하거나 어느 문서 또는 커뮤니티 게시물을 특정 페이지로 리디렉션할지를 지정하기

예 1: 일련의 삭제된 문서를 새 문서로 리디렉션하기

이 예에서는 헬프 센터에 오래되고 삭제된 페이지 집합이 있고 각 페이지는 리디렉션되는 새 페이지에 해당하는 상황입니다. JavaScript 파일의 처음 몇 줄 내에 다음과 같은 줄이 표시됩니다.

$(document).ready(function() {
참고: Copenhagen 테마의 최신 버전을 사용하는 경우에는 이 줄이 누락될 수 있습니다. 이 경우에는 코드를 다음 리스너 밖에 배치하세요.
window.addEventListener("DOMContentLoaded", () => {
}

해당 줄 바로 위에 다음 코드를 삽입합니다.

  var oldIds = ["217352077", "216552968"];
  var newIds = ["216553098", "216552958"];

  for (var i = 0; i < oldIds.length; i++){
    if (window.location.href.indexOf(oldIds[i]) > -1) {
      window.location.href = 'https://YOURSUBDOMAIN.zendesk.com/hc/en-us/articles/' + newIds[i]; 
    }
  }

저장하기 전에 이전 문서 ID와 새 문서 ID를 나열하는 코드 부분을 편집하세요.

  var oldIds = ["217352077", "216552968"];
  var newIds = ["216553098", "216552958"];

위의 ID 대신 문서 ID를 추가하세요. 문서 ID를 찾으려면 브라우저에서 문서를 봅니다. URL은 다음과 유사합니다.

https://[YOURSUBDOMIAN].zendesk.com/hc/en-us/articles/203664386-Help-Center-guide-for-agents-and-end-users

위 URL에서 문서 ID는 203664386입니다.

이 솔루션을 사용하여 제대로 리디렉션하려면 이전 및 신규 문서 ID가 반드시 배열 내에서 같은 위치에 있어야 합니다. 이 경우 URL에 217352077이 포함된 문서는 이제 216553098로 리디렉션됩니다. 216552968을 포함하는 문서는 이제 216552958로 리디렉션됩니다.

위와 같이 이러한 ID를 따옴표로 묶고, 경우마다 쉼표로 분리하세요. 그렇게 하면 다음과 같습니다.

  var oldIds = ["217352077", "216552968", "216552902"];
  var newIds = ["216553098", "216552958", "216552944"];

이제 다음 줄의 URL을 편집합니다.

window.location.href = 'https://YOURSUBDOMAIN.zendesk.com/hc/en-us/articles/' + newIds[i]; 

하위 도메인을 사용하거나 자신의 URL에 화이트 레이블이 있는 경우에는 헬프 센터에 정상적으로 나타나는 전체 헬프 센터 URL을 사용하세요. 줄 끝에 있는 "+ newIds[i];"를 제거하지 마세요. 루프가 새 문서 ID를 URL에 첨부하는 방식입니다. 이것이 없으면 코드가 실패합니다.

예 2: 번역되지 않은 문서를 기존 언어로 리디렉션하기

이 예에서는 헬프 센터 콘텐츠가 여러 언어로 되어 있습니다. 모든 콘텐츠가 영어로 되어 있지만 그중 일부만 프랑스어와 독일어로 되어 있다고 가정해 보겠습니다. 사용자가 프랑스어나 독일어로 된 문서에 액세스하려고 하면 오류 페이지가 표시됩니다. 이 코드는 방문자를 오류 페이지에서 기존 영어 문서로 다시 리디렉션합니다.

var notDefaultLanguage = window.location.href.indexOf('/en-us/') == -1;
var isArticle = window.location.href.indexOf('/articles/') > -1;
var isErrorPage = $(".error-page").length > 0;


if ( isArticle && notDefaultLanguage && isErrorPage ) {
    var newURL = window.location.href.replace(/(.*\/hc\/)([\w-]+)(\/.*)/, "$1en-us$3");
    window.location.href =  newURL;
}  

이 예에서는 약간의 사용자 지정 과정만 수행하면 됩니다. 기본 헬프 센터 언어가 영어가 아닌 경우 해당 언어를 바꿉니다. 코드에서, en-us가 다음 두 곳에 나타납니다.

var notDefaultLanguage = window.location.href.indexOf('/en-us/') == -1;

및

var newURL = window.location.href.replace(/(.*\/hc\/)([\w-]+)(\/.*)/, "$1en-us$3");

이 두 줄의 en-us를 기본 언어 코드로 바꿉니다. 기본 언어 코드는 기본 문서의 URL에서 확인하세요. 예를 들어 다음과 같은 프랑스어 헬프 센터 페이지의 URL은 아래 예와 같습니다.

https://[YOURSUBDOMAIN].zendesk.com/hc/fr/articles/214943538

예 3: 삭제된 모든 문서를 하나의 특정 페이지로 리디렉션하기

이 예에서 헬프 센터는 모든 삭제된 문서(참고: 커뮤니티 게시물 미포함)를 특정 문서로 리디렉션합니다.

JavaScript 파일의 처음 몇 줄 내에 다음과 같은 줄이 표시됩니다.

$(document).ready(function() {
참고: Copenhagen 테마의 최신 버전을 사용하는 경우에는 이 줄이 누락될 수 있습니다. 이 경우에는 추천 코드를 새 리스너에 래핑하세요.
window.addEventListener("DOMContentLoaded", () => {
}

이 경우 해당 줄 바로 아래에 다음 코드를 삽입하세요. 참고로 줄 위에 삽입하면 다음 예에서는 작동하지 않습니다.

if ( window.location.href.indexOf('articles') > -1 && $(".not-found").length > 0 ) {
window.location.href = 'https://[YOURSUBDOMAIN].zendesk.com/hc/en-us/articles/216553068-error-redirect';
}

이 스크립트에서 URL을 헬프 센터가 리디렉션할 문서 URL로 바꿉니다.

이 솔루션은 오류 페이지에 .not-found 클래스가 있는 경우에만 작동합니다. 

JS 링크가 나타나는 회색 막대에서 홈 페이지 링크를 클릭합니다. 해당 드롭다운에서 페이지 오류를 찾아 선택합니다. 오류 페이지에 {{#is error 'not_found'}} 코드로 시작하는 영역이 있습니다. 예를 들어 다음과 같습니다.

{{#is error 'not_found'}}
<h2>{{t 'nonexistent_page'}}</h2>
<p>{{t 'mistyped_address_or_moved_page'}}</p>
{{/is}}

다음과 같이 h2 요소 또는 'not_found' #is 태그 내의 모든 요소에 새 클래스를 추가하세요.

<h2 class="not-found">{{t 'nonexistent_page'}}</h2>

예 4: 일반화하거나 어느 문서 또는 커뮤니티 게시물을 하나의 특정 페이지로 리디렉션할지를 지정하기

if 문을 사용자 지정하여 이 해결 방법에 대해 보다 구체적이거나 일반적으로 사용하세요. 예를 들어 삭제된 문서나 커뮤니티 게시물에서 리디렉션하려면 if 문을 다음과 같이 변경합니다.

if ( $(".not-found").length > 0 )

또는 제목에 buttermilk라는 단어가 있는 삭제된 문서만 리디렉션하려면 if 문을 다음과 같이 변경합니다.

if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )

제시된 첫 번째 해결 방법과 달리 이러한 해결 방법은 오류 페이지를 간단하게 표시한 다음 새 페이지로 리디렉션합니다. 이는 JavaScript를 사용하여 패이지 내에서 먼저 로드해야 하는 요소를 검색하기 때문입니다.

Zendesk 제공