问题
我已删除帮助中心中的文章。是否可以重定向来自已删除帮助中心文章的流量?
回答
可以,无论流量来源如何,都可以自动将访问这些 URL 的用户重定向到更有价值的页面。
要实施这些解决方案:
- 在“知识”中,选择知识管理员
- 单击**自定义设计**图标(
侧栏中的) - 单击主题上的自定义
- 单击编辑代码
- 单击 script.js 文件
查看以下部分,了解实施常见重定向工作流程的示例:
- 示例 4:将一组已删除文章重定向到新的同等文章
- 示例 4:将未翻译的文章重定向到现有的语言
- 示例 4:将所有已删除文章重定向到一个特定页面
- 示例 4:概括或指定哪些文章或社区帖子重定向到特定页面
示例 4:将一组已删除文章重定向到新的同等文章
本例中,帮助中心有一组旧的已删除页面,每个页面对应一个新的重定向页面。在 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];
使用您的 Zendesk 子域名,如果是白标,则使用整个帮助中心URL。请勿移除行尾:"+ newIds[i];" .此循环会将新文章 ID 附在您的 URL 后面。如果没有它,代码将失败。
示例 4:将未翻译的文章重定向到现有的语言
在此示例中,帮助中心内容有多种语言版本。如果您的所有内容都以英语显示,但只有一些内容以法语和德语显示,则用户在访问这些法语或德语文章时会看到出错页面。此代码可将访问者从出错页面重定向回英语文章。
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
示例 4:将所有已删除文章重定向到一个特定页面
本例中,帮助中心将所有已删除的文章(而不是社区帖子)重定向到特定的文章。
在 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 搜索页面中必须首先加载的元素。
翻译免责声明:本文章使用自动翻译软件翻译,以便您了解基本内容。 我们已采取合理措施提供准确翻译,但不保证翻译准确性
如对翻译准确性有任何疑问,请以文章的英语版本为准。