本文中包含的解决方案可能会影响 Google 搜索排名,因为它们包含 Javascript 重定向。因此,它们可能不适合长期或大规模部署。
如果您从帮助中心删除了文章,您可能已经注意到用户偶尔仍会尝试访问与这些文章关联的 URL。无论此类流量的来源如何,您都可以自动将访问这些 URL 的用户重定向到更有用的页面。
本文包括几个解决方案,在大多数情况下,它们应该可以帮助您重定向流量:
访问帮助中心的自定义JavaScript文件
要实施任何此类解决方案,您必须首先访问帮助中心的JavaScript文件:
- 以管理员身份登录Zendesk Support 。单击Zendesk 产品图标 (
) 在顶部栏中,然后选择指南。
- 在Zendesk Guide的右上角选择Guide Admin 。
- 单击自定义设计图标 (
) 在边栏中。
- 单击要更新的主题以将其打开。
- 单击选项菜单(3 个水平点),然后选择Edit Code 。
- 打开script.js文件。
- 示例:将一组已删除文章重定向到新文章等效项
这是一个示例,其中帮助中心有一组已删除的旧页面,每个页面都对应于我们要重定向到的新页面。
在 JS 文件的前几行中,您将看到一行内容:
$(document).ready(function() {
在该行的正上方插入以下代码:
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]; } }
在保存之前,您需要自定义有关此脚本的一些内容。让我们来看看下面的那些。
您将编辑的代码的第一部分在这里:
var oldIds = ["217352077", "216552968"]; var newIds = ["216553098", "216552958"];
这是旧文章 ID 和新文章 ID 的列表。您将不得不在此处添加您自己的文章 ID。要查找文章 ID,只需在浏览器中查看文章(或来自分析平台的URL )。 URL将类似于以下内容:
https://[YOURSUBDOMIAN].zendesk.com/hc/en-us/articles/203664386-Help-Center-guide-for-agents-and-end-users
在这种情况下,文章 ID 为“203664386”。
要使用此解决方案正确重定向,它们必须位于数组中的相同位置。因此,在这种情况下, 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 。不要删除行尾,它显示为“+ newIds[i];”。这就是循环将您的新文章 ID 附加到您的URL的方式。没有它,代码将失败。
示例:将未翻译的文章重定向到现有语言
这是一个示例,其中您有多种语言的帮助中心内容。假设您的所有内容都以英语存在,但只有部分内容以法语和德语存在。当用户尝试使用法语或德语访问这些文章时,他们会看到一个错误页面。此代码允许将它们从错误页面重定向回现有的英文文章:
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
“fr”代表国家代码。
示例:将所有已删除的文章重定向到一个特定页面
这是另一个示例,其中帮助中心将所有已删除的文章(注意:不包括社区帖子)重定向到一篇特定文章。
在 JS 文件的前几行中,您将看到一行内容:
$(document).ready(function() {
在这种情况下,在该行的正下方插入以下代码。重要说明,在上面插入(与前面的示例一样)不适用于此示例:
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>
现在,您已准备好一般删除的文章重定向所需的所有元素。
示例:概括或指定哪些文章(或社区帖子)重定向到一个特定页面
通过自定义 if 语句,您可以使用此解决方案获得更具体或更通用的信息。例如,要从任何已删除的文章或社区帖子重定向,请将 if 语句更改为:
if ( $(".not-found").length > 0 )
或者,要仅重定向标题中包含“酪乳”一词的已删除文章,请将 if 语句更改为:
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
与提出的第一个解决方案不同,这些解决方案将首先简要显示错误页面,然后重定向到新页面。这是因为我们使用 JS 在页面中搜索元素,为此,我们必须首先等待页面加载。
评论
0 条评论
请登录写评论。