질문
헬프 센터에서 문서를 삭제했습니다. 내 삭제된 헬프 센터 문서에서 트래픽을 리디렉션할 수 있나요?
답변
예, 이러한 트래픽의 출처와 상관없이 해당 URL을 방문하는 사용자들을 더 유용한 페이지로 자동 리디렉션할 수 있습니다.
헬프 센터의 사용자 지정 JavaScript 파일 액세스
이러한 솔루션을 구현하려면 헬프 센터의 JavaScript 파일에 액세스하세요.
- 관리자로 Zendesk Support에 로그인합니다. 위쪽 도구 모음에서 Zendesk 제품 아이콘()을 클릭한 다음 Guide를 선택합니다.
- Zendesk Guide 오른쪽 위에 있는 Guide 관리를 선택합니다.
- 사이드바에서 디자인 사용자 지정 아이콘()을 클릭합니다.
- 테마에서 사용자 지정을 클릭합니다.
- 코드 편집을 클릭합니다.
- script.js 파일을 클릭합니다.
일반적인 리디렉션 워크플로우 구현 방법에 대한 예는 아래 섹션을 확인하세요.
- 예 1: 일련의 삭제된 문서를 새 문서로 리디렉션하기
- 예 2: 번역되지 않은 문서를 기존 언어로 리디렉션하기
- 예 3: 삭제된 모든 문서를 하나의 특정 페이지로 리디렉션하기
- 예 4: 일반화하거나 어느 문서 또는 커뮤니티 게시물을 특정 페이지로 리디렉션할지를 지정하기
예 1: 일련의 삭제된 문서를 새 문서로 리디렉션하기
이 예에서는 헬프 센터에 오래되고 삭제된 페이지 집합이 있고 각 페이지는 리디렉션되는 새 페이지에 해당하는 상황입니다. JavaScript 파일의 처음 몇 줄 내에 다음과 같은 줄이 표시됩니다.
$(document).ready(function() {
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() {
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를 사용하여 패이지 내에서 먼저 로드해야 하는 요소를 검색하기 때문입니다.