此文章中的解决方案可能会影响 Google 搜索排名,因为它们包含 JavaScript 重定向。因此,它们可能不适合长期或大规模部署。
如果您已从帮助中心删除文章,您可能已经注意到,用户有时仍会尝试访问与这些文章关联的 URL。无论此类流量的来源如何,您都可以自动将访问这些 URL 的用户重定向到更有用的页面。
这篇文章包含了几种解决方案,在大多数情况下,可以帮助您重定向流量:
访问帮助中心的自定义JavaScript文件
要实施任何此类解决方案,您必须首先访问帮助中心的JavaScript文件:
- 以管理员身份登录Zendesk Support 。单击Zendesk 产品图标 (
),然后选择Guide 。
- 在Zendesk Guide的右上角,选择Guide 管理员。
- 单击自定义设计图标(
) 在侧栏中。
- 单击您要更新的主题以将其打开。
- 单击选项菜单(3 个水平点),然后选择编辑代码。
- 打开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 是白标到您自己的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 )
或者,要仅重定向标题中带有"buttermilk"一词的已删除文章,请将 if 语句更改为:
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
与提供的第一个解决方案不同,这些解决方案将首先简要显示错误页面,然后重定向到新页面。这是因为我们使用 JS 搜索页面中的元素,为此,我们必须首先等待页面加载。
评论
0 条评论
请登录写评论。