Pergunta

Apaguei artigos na minha central de ajuda. Posso redirecionar o tráfego dos meus artigos apagados na central de ajuda?

Resposta

Aviso Legal: Este artigo destina-se apenas a fins informativos. A Zendesk não oferece suporte nem garantia ao código. A Zendesk também não oferece suporte à tecnologias terceirizadas como JavaScript, jQuery ou CSS. Publique problemas encontrados na seção comentários ou pesquise por uma solução online.

Sim, independentemente da fonte desse tráfego, é possível redirecionar automaticamente os usuários que visitam esses URLs para páginas mais úteis.

Acesso do arquivo JavaScript personalizado na central de ajuda

Para implementar essas soluções, acesse o arquivo JavaScript de sua central de ajuda:

  1. Entre no Zendesk Support como administrador. Em seguida, clique no ícone de produtos Zendesk ()na barra superior e selecione Guide.
  2. No canto superior direito do Zendesk Guide, selecione Guide admin.
  3. Clique no ícone Painel de personalização () na barra lateral.
  4. Clique em Personalizar no seu tema.
  5. Clique em Editar código.
  6. Clique no arquivo script.js.

Edit_JavaScript_In_Theme_.gif

Observação: As soluções contidas neste artigo apontam para redirecionamentos de Javascript. Esses redirecionamentos podem afetar as classificações de pesquisa do Google. Por esse motivo, elas não são adequadas para implantação a longo prazo ou em larga escala. Em vez disso, se você tiver um desenvolvedor, use a API de regras de redirecionamentopara redirecionar páginas em sua central de ajuda.

Consulte as seções abaixo para obter exemplos de como implementar fluxos de trabalho de redirecionamento comuns: 

  • Exemplo 1: Redirecionamento de um conjunto de artigos apagados para novos equivalentes de artigos
  • Exemplo 2: Redirecionamento de artigos não traduzidos para um idioma existente
  • Exemplo 3: Redirecionamento de todos os artigos apagados para uma página específica
  • Exemplo 4: Generalização ou especificação de quais artigos (ou publicações da comunidade) são redirecionados para uma página específica

Exemplo 1: Redirecionamento de um conjunto de artigos apagados para novos equivalentes de artigos

Nesse exemplo, a central de ajuda tem um conjunto de páginas antigas apagadas. Cada uma corresponde à uma nova página para a qual estamos fazendo o redirecionamento. Dentro das primeiras linhas do arquivo JavaScript, você verá uma linha que diz:

$(document).ready(function() {
Observação: Essa linha pode não existir se você usar uma versão recente do tema Copenhagen. Nesse caso, coloque o código fora dos seguintes listeners.
window.addEventListener("DOMContentLoaded", () => {
}

Insira o código a seguir acima logo acima dessa linha:

  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 salvá-lo, edite a parte do código que lista os IDs antigos e novos dos artigos:

  var oldIds = ["217352077", "216552968"];
  var newIds = ["216553098", "216552958"];

Adicione seus IDs de artigo em vez dos IDs acima. Para encontrar o ID do artigo, visualize o artigo em seu navegador. O URL será semelhante ao URL abaixo:

https://[YOURSUBDOMIAN].zendesk.com/hc/en-us/articles/203664386-Help-Center-guide-for-agents-and-end-users

No URL acima, o ID do artigo é 203664386.

Para redirecionar adequadamente com essa solução, os IDs do artigo devem estar na mesma posição na matriz. Nesse caso, um artigo cujo URL contém 217352077 será redirecionado para 216553098. O artigo que contém 216552968 será redirecionado para 216552958.

Coloque esses IDs entre aspas, conforme visto acima, e separados por uma vírgula em cada caso. Ele teria esta aparência:

  var oldIds = ["217352077", "216552968", "216552902"];
  var newIds = ["216553098", "216552958", "216552944"];

Em seguida, edite o URL nesta linha:

window.location.href = 'https://YOURSUBDOMAIN.zendesk.com/hc/en-us/articles/' + newIds[i]; 

Use seu subdomínio ou, como alternativa, o URL inteiro da central de ajuda, como costuma aparecer na sua central de ajuda se o URL estiver em branco. Não remova o final da linha: "+ newIds[i];". É assim que o loop anexa seu novo ID de artigo ao seu URL. O código vai falhar sem ele.

Exemplo 2: Redirecionamento de artigos não traduzidos para um idioma existente

Neste exemplo, o conteúdo da central de ajuda existe em vários idiomas. Se todo o seu conteúdo estiver em inglês, mas apenas uma parte em francês e alemão, os usuários que tentarem acessar esses artigos em francês ou alemão receberão uma página de erro. Esse código redireciona os visitantes para fora da página de erro e de volta ao artigo em inglês existente.

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;
}  

Neste exemplo, apenas uma pequena personalização precisa ser feita. Se o idioma padrão da central de ajuda não for o inglês, substitua esse idioma. No código, en-us é exibido em dois locais:

var notDefaultLanguage = window.location.href.indexOf('/en-us/') == -1;

E:

var newURL = window.location.href.replace(/(.*\/hc\/)([\w-]+)(\/.*)/, "$1en-us$3");

Substitua en-us nessas duas linhas por seu código de idioma padrão. Localize seu código de idioma padrão no URL dos seus artigos principais. Por exemplo, um URL para uma página da central de ajuda em francês será semelhante ao exemplo abaixo:

https://[YOURSUBDOMAIN].zendesk.com/hc/fr/articles/214943538

Exemplo 3: Redirecionamento de todos os artigos apagados para uma página específica

Neste exemplo, uma central de ajuda redireciona todos os artigos apagados, sem incluir as publicações da comunidade, para um artigo específico.

Dentro das primeiras linhas do arquivo JavaScript, você verá uma linha que diz:

$(document).ready(function() {
Observação: Essa linha pode não existir se você usar uma versão recente do tema Copenhagen. Nesse caso, envolva o código sugerido em um novo listener:
window.addEventListener("DOMContentLoaded", () => {
}

Neste caso, insira o seguinte código logo abaixo dessa linha. Observação importante: inserir o código acima não funcionará neste exemplo:

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';
}

Neste script, substitua o URL pelo URL do artigo para o qual sua central de ajuda será redirecionada.

Essa solução funcionará somente se garantirmos que .not-found esteja na sua página de erro. 

Na barra cinza na qual o link JS é exibido, clique no link Página inicial. Localize e selecione a Página de erro no menu suspenso. Na página de erro, você verá uma área que começa com o código {{#is error 'not_found'}} . Ele terá esta aparência:

{{#is error 'not_found'}}
<h2>{{t 'nonexistent_page'}}</h2>
<p>{{t 'mistyped_address_or_moved_page'}}</p>
{{/is}}

Adicione uma nova classe para o elemento h2 ou a qualquer elemento dentro das tags 'not_found' #is para que ele fique parecido com o seguinte:

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

Exemplo 4: Generalização ou especificação de quais artigos (ou publicações da comunidade) são redirecionados para uma página específica

Use essa solução para especificar ou generalizar personalizando a declaração if. Por exemplo, para redirecionar artigos ou publicações da comunidade apagados, altere a declaração if para:

if ( $(".not-found").length > 0 )

Como alternativa, para redirecionar apenas os artigos apagados que têm a palavra buttermilk no título, altere a declaração if para:

if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )

Ao contrário da primeira solução apresentada, essas soluções vão exibir brevemente a página de erro, depois redirecionar para a nova página. Isso ocorre porque o JavaScript é usado para pesquisar um elemento dentro da página, que precisa ser carregado primeiro.

Powered by Zendesk