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:
- In Knowledge, seleziona Amministratore Knowledge
- Fai clic sull’icona **Personalizza design** (
) nella barra laterale - Fai clic su Personalizza in corrispondenza del tema
- Fai clic su Modifica codice
- Fai clic sul file script.js
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() {
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() {
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 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.