Domanda
Ho eliminato degli articoli dal 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 verso pagine più utili.
Accesso al file JavaScript personalizzato del centro assistenza
Per implementare queste soluzioni, accedi al file JavaScript del tuo centro assistenza:
- Accedi a Zendesk Support come amministratore. Quindi, fai clic sull’icona Prodotti Zendesk () nella barra in alto, quindi seleziona Guide.
- Nell'angolo in alto a destra di Zendesk Guide, seleziona Amministratore Guide.
- 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: Reindirizzamento di una serie di articoli eliminati a nuovi articoli equivalenti
- Esempio 2: Reindirizzamento degli articoli non tradotti a una lingua esistente
- Esempio 3: Reindirizzamento di tutti gli articoli eliminati a una pagina specifica
- Esempio 4: Per generalizzare o specificare quali articoli, o post della community, reindirizzano a una determinata pagina
Esempio 1: Reindirizzamento di una serie di articoli eliminati a nuovi articoli equivalenti
In questo esempio, il centro assistenza presenta una serie di vecchie pagine eliminate, ciascuna corrispondente a una nuova pagina a cui viene effettuato il reindirizzamento. Nelle prime righe del file JavaScript, vedrai una riga che dice:
$(document).ready(function() {
window.addEventListener("DOMContentLoaded", () => {
}
Inserisci il codice seguente direttamente sopra tale 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 in cui sono elencati gli ID degli articoli nuovi e vecchi:
var oldIds = ["217352077", "216552968"];
var newIds = ["216553098", "216552958"];
Aggiungi gli ID degli articoli al posto di quelli indicati sopra. Per trovare l’ID di un articolo, visualizza l’articolo nel browser. L'URL sarà simile al seguente:
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 con questa soluzione, gli ID degli articoli vecchi e nuovi devono trovarsi nella stessa posizione all’interno dell’array. Quindi, in questo caso, un articolo il cui URL contiene 217352077
verrà reindirizzato a 216553098
. L’articolo contenente 216552968
verrà reindirizzato a 216552958
.
Assicurati che gli ID siano sempre racchiusi tra virgolette, come mostrato sopra, e separati da una virgola in ciascun caso. Il codice dovrebbe avere il seguente aspetto:
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, in alternativa, l'intero URL del centro assistenza, come visualizzato normalmente nel centro assistenza, se quest’ultimo è personalizzato con il tuo dominio. Non rimuovere la parte finale della riga, "+ newIds[i];"
, che è quella che consente l’aggiunta del nuovo ID articolo all'URL. Senza questa parte, l’esecuzione del codice avrà esito negativo.
Esempio 2: Reindirizzamento di articoli non tradotti a una lingua esistente
In questo esempio, il contenuto del centro assistenza è disponibile in più lingue. Se tutti i contenuti sono in inglese, ma solo una parte di essi è disponibile in francese e tedesco, gli utenti che tentano di accedere a tali articoli in francese o tedesco visualizzeranno una pagina di errore. Questo codice reindirizza i visitatori dalla pagina di errore all’articolo esistente 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, è necessaria solo 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 del centro assistenza in lingua francese avrà l’aspetto seguente:
https://[YOURSUBDOMAIN].zendesk.com/hc/fr/articles/214943538
Esempio 3: Reindirizzamento di tutti gli articoli eliminati a una pagina specifica
In questo esempio, un centro assistenza reindirizza tutti gli articoli eliminati (esclusi i post della community) a un articolo particolare.
Nelle prime righe del file JavaScript, vedrai la seguente riga:
$(document).ready(function() {
window.addEventListener("DOMContentLoaded", () => {
}
Inserisci il codice seguente direttamente sotto la riga. Importante: l’inserimento del codice riportato sopra non funziona nell’esempio seguente:
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 a cui verrà eseguito il reindirizzamento nel centro assistenza.
Questa soluzione funziona solo se esiste una classe .not-found
nella pagina di errore.
Nella barra grigia in cui viene visualizzato il collegamento JS, fai clic sul collegamento Home page. Individua e seleziona Pagina di errore nel menu a discesa. Nella pagina di errore, vedrai una sezione che inizia con il codice {{#is error 'not_found'}}
. Il codice dovrebbe avere il seguente aspetto:
{{#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 dei tag 'not_found' #is
in modo da ottenere questo risultato:
<h2 class="not-found">{{t 'nonexistent_page'}}</h2>
Esempio 4: Indicazione generica o specifica degli articoli (o post della community) che reindirizzano a una determinata pagina
Rendi questa soluzione più specifica o più generica personalizzando 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 parola buttermilk
nel titolo, modifica l’istruzione if
in:
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
Nel caso di queste soluzioni, verrà prima mostrata brevemente la pagina di errore e poi verrà effettuato il reindirizzamento alla nuova pagina. Questo perché viene utilizzato JavaScript per cercare un elemento nella pagina, che deve prima essere caricata.