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:
- En Conocimiento, seleccione **Administrador de conocimiento**
- Haga clic en el icono **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. 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() {
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() {
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 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.