Pregunta
He borrado artículos de mi centro de ayuda. ¿Puedo redirigir el tráfico de mis artículos eliminados del centro de ayuda?
Respuesta
Sí, independientemente del origen de ese tráfico, puede redireccionar automáticamente a los usuarios que visitan estas URL a páginas más útiles.
Cómo acceder al archivo de JavaScript personalizado de su centro de ayuda
Para implementar estas soluciones, acceda al archivo de JavaScript de su centro de ayuda:
- Inicie sesión en su cuenta de Zendesk Support como administrador. Haga clic en el ícono de Productos de Zendesk () en la barra superior y luego seleccione Guide.
- En la esquina superior derecha de Zendesk Guide, seleccione Administrador de Guide.
- Haga clic en el ícono Personalizar diseño () en la barra lateral.
- Haga clic en Personalizar en su tema.
- Haga clic en Editar código.
- Haga clic en el archivo script.js.
Consulte las secciones a continuación para ver ejemplos de cómo implementar flujos de trabajo de redireccionamiento comunes:
- Ejemplo 1: Redireccionamiento de un grupo de artículos eliminados a artículos nuevos equivalentes
- Ejemplo 2: Redireccionamiento de artículos no traducidos a un idioma existente
- Ejemplo 3: Redireccionamiento de todos los artículos eliminados a una página específica
- Ejemplo 4: Generalizar o especificar qué artículos (o publicaciones de la comunidad) redirigen a una página en particular
Ejemplo 1: Redireccionamiento de un grupo de artículos eliminados a artículos nuevos equivalentes
En este ejemplo, un centro de ayuda tiene un conjunto de páginas antiguas y borradas, y cada una corresponde a una página nueva a la que estamos redirigiendo. Dentro de las primeras líneas del archivo JavaScript, verá una línea que dice:
$(document).ready(function() {
window.addEventListener("DOMContentLoaded", () => {
}
Inserte el siguiente código directamente encima de esa línea:
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];
}
}
Antes de guardarlo, edite la parte del código que muestra las ID de los artículos antiguos y las ID de los artículos nuevos:
var oldIds = ["217352077", "216552968"];
var newIds = ["216553098", "216552958"];
Agregue las ID de los artículos en lugar de las anteriores. Para buscar una ID de artículo, mire el artículo en su navegador. La URL será parecida a la siguiente:
https://[YOURSUBDOMIAN].zendesk.com/hc/en-us/articles/203664386-Help-Center-guide-for-agents-and-end-users
En la URL de arriba, la ID del artículo es 203664386
.
Para redirigir correctamente con esta solución, las ID de artículos deben estar en la misma posición dentro de la matriz. Así que en este caso, un artículo cuya URL contenga 217352077
ahora se redirigirá a 216553098
. El artículo que contiene 216552968
ahora redirigirá a 216552958
.
Asegúrese de guardar estas ID entre comillas, como se muestra arriba y separadas por una coma en cada caso. Se vería así:
var oldIds = ["217352077", "216552968", "216552902"];
var newIds = ["216553098", "216552958", "216552944"];
A continuación, edite la dirección URL en esta línea:
window.location.href = 'https://YOURSUBDOMAIN. zendesk.com/hc/en-us/articles/ ' + newIds[i];
Use su subdominio de Zendesk o, alternativamente, use la URL completa del centro de ayuda como aparece normalmente en su centro de ayuda si está autorizada (con “etiqueta blanca”) para su URL. No elimine el final de la línea: "+ newIds[i];"
. Con ella, el bucle anexa su ID de artículo nuevo a su URL. Sin ella, el código no funcionará.
Ejemplo 2: Redireccionamiento de artículos no traducidos a un idioma existente
En este ejemplo, el contenido del centro de ayuda existe en varios idiomas. Si todo el contenido existe en inglés, pero solo parte en francés y alemán. Los usuarios que intenten acceder a esos artículos en francés o alemán verán una página de error. Este código redirige a los visitantes fuera de la página de error al artículo existente en inglés.
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 este ejemplo, solo se necesita hacer una pequeña cantidad de personalización. Si el idioma predeterminado del centro de ayuda no es inglés, reemplace ese idioma. En el código, en-us
aparece en dos lugares:
var notDefaultLanguage = window.location.href.indexOf('/en-us/') == -1;
y:
var newURL = window.location.href.replace(/(.*\/hc\/)([\w-]+)(\/.*)/, "$1en-us$3");
Reemplace en-us
en estas dos líneas con su código de idioma predeterminado. Busque el código de idioma predeterminado en el URL de los artículos principales. Por ejemplo, un URL para una página del centro de ayuda en francés se verá como en el ejemplo a continuación:
https://[YOURSUBDOMAIN].zendesk.com/hc/fr/articles/214943538
Ejemplo 3: Redireccionamiento de todos los artículos eliminados a una página específica
En este ejemplo, un centro de ayuda redirige todos los artículos borrados (sin incluir las publicaciones de la comunidad) a un artículo en particular.
En las primeras líneas del archivo JavaScript, verá una línea que dice:
$(document).ready(function() {
window.addEventListener("DOMContentLoaded", () => {
}
En este caso, inserte el siguiente código directamente debajo de esa línea. Nota importante, insertar lo anterior no funcionará en este ejemplo:
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';
}
En este script, reemplace el URL con el URL del artículo al que se redirigirá el centro de ayuda.
Esta solución solo funcionará si garantizamos que una clase .not-found
existe en su página de error.
En la barra gris donde aparece el vínculo JS, haga clic en el vínculo Página de inicio. Busque y seleccione Página de error en el menú desplegable. En la página de error, encontrará un área que comienza con el código {{#is error 'not_found'}}
. Se verá así:
{{#is error 'not_found'}}
<h2>{{t 'nonexistent_page'}}</h2>
<p>{{t 'mistyped_address_or_moved_page'}}</p>
{{/is}}
Agregue una nueva clase al elemento h2 o a cualquier elemento dentro del conjunto de datos 'not_found' #is
para que se vea así:
<h2 class="not-found">{{t 'nonexistent_page'}}</h2>
Ejemplo 4: Cómo generalizar o especificar qué artículos (o qué publicaciones de la comunidad) redirigen a una página específica
Puede entrar más en detalle o generalizar la solución modificando la instrucción if. Por ejemplo, para redirigir desde cualquier artículo o publicación de la comunidad eliminados, cambie la instrucción if a la siguiente:
if ( $(".not-found").length > 0 )
Como alternativa, para redirigir solo los artículos borrados que tienen la palabra buttermilk
en el título, cambie la declaración if
a:
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
A diferencia de la primera solución presentada, estas soluciones primero mostrarán brevemente la página de error y, luego, harán el redireccionamiento a la página nueva. Esto se debe a que usa JavaScript para buscar un elemento dentro de la página, que debe cargarse primero.