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 del tráfico, puede redirigir automáticamente a los usuarios que visiten estos URL a páginas más valiosas.

Para implementar estas soluciones:

  1. En Conocimiento, seleccione **Administrador de conocimiento**
  2. Haga clic en el icono **Personalizar diseño** (Personalizar icono) en la barra lateral
  3. Haga clic en **Personalizar** en su tema
  4. Haga clic en **Editar código**
  5. Haga clic en el archivo **script.js**

Edit_Javacript_In_Theme_.gif

Nota: Los redireccionamientos a JavaScript en el artículo pueden afectar las clasificaciones de búsqueda de Google. No son adecuados para el despliegue a largo plazo o a gran escala. En su lugar, si tiene un desarrollador, use la API de reglas de redireccionamiento para los redireccionamientos de página en el centro de ayuda.

Consulte las secciones a continuación para ver ejemplos de cómo implementar flujos de trabajo de redireccionamiento comunes:

  • Ejemplo 1. Redirigir un conjunto de artículos borrados a artículos nuevos equivalentes
  • Ejemplo 2. Redirigir los artículos sin traducir a un idioma existente
  • Ejemplo 3. Redirigir todos los artículos borrados a una página específica
  • Ejemplo 4. Generalizar o especificar qué artículos o publicaciones de la comunidad redirigen a una página específica

Ejemplo 1. Redirigir un conjunto de artículos borrados a artículos nuevos equivalentes

En este ejemplo, el 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. En las primeras líneas del archivo JavaScript, verá una línea que dice:

$(document).ready(function() {
Nota: Esta línea podría faltar si usa una versión reciente del tema Copenhagen. En este caso, coloque el código fuera de estos agentes de escucha:
window.addEventListener("DOMContentLoaded", () => {
}

Inserte este 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 del ejemplo. Para buscar una ID de artículo, mire el artículo en su navegador. El URL es similar a este ejemplo:

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, coloque las ID de artículos antiguos y nuevos en la misma posición en la matriz. En este caso, un artículo cuyo URL contenga 217352077 ahora se redirigirá a 216553098. El artículo que contiene 216552968 ahora redirige a 216552958.

Mantenga estas ID entre comillas y separadas por una coma en cada caso. Se parece a este ejemplo:

  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 el URL de todo el centro de ayuda si tiene una marca blanca. No elimine el final de la línea: "+ newIds[i];". Con ella, el bucle anexa su ID de artículo nuevo a su URL. El código falla sin él.

Ejemplo 2. Redirigir los artículos sin traducir 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 existe en francés y alemán, los usuarios que acceden a esos artículos en francés o alemán reciben una página de error. Este código redirige a los visitantes de la página de error al artículo 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, debe 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. Redirigir todos los artículos borrados 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() {
Nota: Esta línea podría faltar si usa una versión reciente del tema Copenhagen. En este caso, ajuste el código sugerido en un nuevo agente de escucha:
window.addEventListener("DOMContentLoaded", () => {
}

En este caso, inserte el siguiente código directamente debajo de esa línea. Tenga en cuenta que si inserta lo anterior, el código no funcionará:

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 para el redireccionamiento.

Esta solución solo funciona si garantiza 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 principal**. Busque y seleccione **Página de error** en ese menú desplegable. En la página de error, encontrará un área que comienza con el código {{#is error 'not_found'}} . Se parece a este ejemplo:

{{#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 de las etiquetas de 'not_found' #is para que se vea así:

<h2 class="not-found">{{t 'nonexistent_page'}}</h2>

Ejemplo 4. Generalizar o especificar qué artículos o 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, estas soluciones primero mostrarán brevemente la página de error y luego harán el redireccionamiento a la página nueva. El script usa JavaScript para buscar un elemento en la página que primero debe cargarse.

Descargo de responsabilidad: Este artículo se ofrece con fines de instrucción únicamente. Zendesk no da soporte ni garantiza el código, que podría volverse obsoleto con el tiempo. Zendesk tampoco puede ofrecer soporte para tecnologías de terceros, como JavaScript, jQuery o CSS. Publique cualquier problema que tenga en la sección de comentarios o intente buscar una solución en Internet.

Descargo de responsabilidad de la traducción: Este artículo ha sido traducido usando software de traducción automática para proporcionar una idea básica del contenido. Se han realizado esfuerzos razonables para proporcionar una traducción exacta, sin embargo, Zendesk no garantiza la exactitud de la traducción.

Si surge alguna pregunta relacionada con la exactitud de la información incluida en el artículo traducido, consulte la versión en inglés del artículo, que es la versión oficial.

Tecnología de Zendesk