Domanda

Ho eliminato articoli nel mio centro assistenza. Posso reindirizzare il traffico proveniente da articoli del centro assistenza eliminati?

Risposta

Sì, indipendentemente dall’origine del traffico, puoi reindirizzare automaticamente gli utenti che visitano questi URL a pagine più utili.

Per implementare queste soluzioni:

  1. In Knowledge, seleziona Amministratore Knowledge
  2. Fai clic sull’icona **Personalizza design** (Icona Personalizza ) nella barra laterale
  3. Fai clic su Personalizza in corrispondenza del tema
  4. Fai clic su Modifica codice
  5. Fai clic sul file script.js

Edit_JavaScript_In_Theme_.gif

Nota: I reindirizzamenti JavaScript nell’articolo possono influire sul posizionamento nelle ricerche di Google. Non sono adatti per la distribuzione a lungo termine o su larga scala. Se invece hai uno sviluppatore, usa l’ API delle regole di reindirizzamentoper i reindirizzamenti delle pagine nel centro assistenza.

Consulta le sezioni seguenti per esempi su come implementare workflow di reindirizzamento comuni:

  • Esempio: +1. Reindirizza una serie di articoli eliminati a nuovi articoli equivalenti
  • Esempio: +2. Reindirizza gli articoli non tradotti in una lingua esistente
  • Esempio: +3. Reindirizza tutti gli articoli eliminati a una pagina specifica
  • Esempio: +4. Generalizza o specifica quali articoli o post della community reindirizzano a una pagina specifica

Esempio: +1. Reindirizza una serie di articoli eliminati a nuovi articoli equivalenti

In questo esempio, il centro assistenza ha una serie di vecchie pagine eliminate, ciascuna delle quali corrisponde a una nuova pagina a cui reindirizzare. Nelle prime righe del file JavaScript, vedrai una riga che dice:

$(document).ready(function() {
Nota: Questa riga potrebbe essere assente se usi una versione recente del tema Copenhagen. In questo caso, inserisci il codice al di fuori di questi listener:
window.addEventListener("DOMContentLoaded", () => {
}

Inserisci questo codice direttamente sopra quella riga:

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

Prima di salvarlo, modifica la parte del codice che elenca gli ID degli articoli precedenti e quelli nuovi:

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

Aggiungi gli ID degli articoli anziché quelli nell’esempio. Per trovare l’ID di un articolo, visualizza l’articolo nel browser. L’URL è simile a questo esempio:

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

Nell’URL qui sopra, l’ID dell’articolo è 203664386.

Per reindirizzare correttamente, posiziona gli ID degli articoli vecchi e nuovi nella stessa posizione nell’array. In questo caso, un articolo il cui URL contiene217352077 ora reindirizza a216553098 . L’articolo che contiene216552968 ora reindirizza a216552958 .

Tieni questi ID tra virgolette e separati da una virgola in ciascun caso. È simile a questo esempio:

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

Quindi, modifica l'URL nella seguente riga:

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

Usa il tuo sottodominio Zendesk o l’intero URL centro assistenza se è contrassegnato da un’etichetta bianca. Non rimuovere la fine della riga:"+ newIds[i];" . Il ciclo aggiunge il nuovo ID articolo al tuo URL. Il codice non riesce senza di esso.

Esempio: +2. Reindirizza gli articoli non tradotti in una lingua esistente

In questo esempio, il contenuto del centro assistenza è disponibile in più lingue. Se tutti i contenuti sono in inglese, ma solo alcuni sono in francese e tedesco, gli utenti che accedono a tali articoli in francese o tedesco visualizzano una pagina di errore. Questo codice reindirizza i visitatori dalla pagina di errore all’articolo in lingua inglese.

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

In questo esempio, devi effettuare una piccola personalizzazione. Se la lingua predefinita del centro assistenza non è l’inglese, sostituiscila. Nel codice, en-us appare in due posizioni:

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

E

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

Sostituisci en-us in queste due righe con il codice della lingua predefinita. Puoi trovare il codice lingua predefinito nell’URL degli articoli principali. Ad esempio, l’URL di una pagina centro assistenza in lingua francese è simile all’esempio seguente:

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

Esempio: +3. Reindirizza tutti gli articoli eliminati a una pagina specifica

In questo esempio, un centro assistenza reindirizza tutti gli articoli eliminati, ma non i post della community, a un articolo specifico.

Nelle prime righe del file JavaScript, vedrai una riga che dice:

$(document).ready(function() {
Nota: Questa riga potrebbe essere assente se usi una versione recente del tema Copenhagen. In questo caso, inserisci il codice suggerito in un nuovo listener:
window.addEventListener("DOMContentLoaded", () => {
}

Inserisci il codice seguente direttamente sotto la riga. Nota, se inserisci quanto sopra, il codice non funzionerà:

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

In questo script, sostituisci l’URL con l’URL dell’articolo per il reindirizzamento.

Questa soluzione funziona solo se garantisci a.not-found class esiste nella pagina di errore.

Nella barra grigia in cui viene visualizzato il link **JS**, fai clic sul link **Home page**. Individua e seleziona "Pagina di errore" nel menu a discesa. Nella pagina di errore, troverai un’area che inizia con il codice{{#is error 'not_found'}} . È simile a questo esempio:

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

Aggiungi una nuova classe all’elemento h2 o a qualsiasi elemento all’interno di'not_found' #is tag in modo che assomigli a questo esempio:

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

Esempio: +4. Generalizza o specifica quali articoli o post della community reindirizzano a una pagina specifica

Diventa più specifico o generico con questa soluzione quando personalizzi l’istruzione if. Ad esempio, per effettuare il reindirizzamento da un qualsiasi articolo o post della community eliminato, modifica l'istruzione if nel modo seguente:

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

In alternativa, per reindirizzare solo gli articoli eliminati che contengono la parolabuttermilk nel titolo, cambia ilif dichiarazione a:

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

A differenza della prima soluzione, queste soluzioni mostrano brevemente la pagina di errore e quindi reindirizzano alla nuova pagina. Lo script usa JavaScript per cercare un elemento nella pagina che deve essere caricato per primo.

Avvertenza: Questo articolo viene fornito solo a scopo didattico. Zendesk non offre assistenza né garantisce il codice, che potrebbe diventare obsoleto nel tempo. Zendesk non può fornire assistenza per tecnologie di terzi come JavaScript, jQuery o CSS. Se riscontri eventuali problemi, lascia un commento o prova a cercare una soluzione online.

Avvertenza sulla traduzione: questo articolo è stato tradotto usando un software di traduzione automatizzata per fornire una comprensione di base del contenuto. È stato fatto tutto il possibile per fornire una traduzione accurata, tuttavia Zendesk non garantisce l'accuratezza della traduzione.

Per qualsiasi dubbio sull'accuratezza delle informazioni contenute nell'articolo tradotto, fai riferimento alla versione inglese dell'articolo come versione ufficiale.

Powered by Zendesk