Question
J'ai supprimé des articles de mon centre d'aide. Puis-je rediriger le trafic à partir de mes articles supprimés du centre d'aide ?
Réponse
Oui, quelle que soit la source de ce trafic, vous pouvez automatiquement rediriger les utilisateurs visitant ces URL vers des pages plus utiles.
Accéder au fichier JavaScript personnalisé de votre centre d’aide
Pour implémenter ces solutions, accédez au fichier JavaScript de votre centre d'aide :
- Connectez-vous à Zendesk Support en tant qu’administrateur. Ensuite, cliquez sur l’icône Produits Zendesk () dans la barre supérieure, puis sélectionnez Guide.
- Dans le coin supérieur droit de Zendesk Guide, sélectionnez Admin Guide.
- Cliquez sur l’icône du panneau de personnalisation () dans la barre latérale.
- Cliquez sur Personnaliser sur votre thème.
- Cliquez sur Modifier le code.
- Cliquez sur le fichier script.js.
Vous trouverez dans les sections ci-dessous des exemples d'implémentation de workflows de redirection courants :
- Exemple 1 : Redirection d’un ensemble d’articles supprimés vers de nouveaux articles équivalents
- Exemple 2 : Redirection d’articles non traduits vers une langue existante
- Exemple 3 : Redirection de tous les articles supprimés vers une page spécifique
- Exemple 4 : Généraliser ou spécifier les articles (ou messages de communauté) redirigés vers une page spécifique
Exemple 1 : Redirection d’un ensemble d’articles supprimés vers de nouveaux articles équivalents
Dans cet exemple, le centre d’aide contient un ensemble d’anciennes pages supprimées, chacune correspondant à une nouvelle page vers laquelle nous redirigeons. Dans les premières lignes du fichier JavaScript, vous verrez une ligne indiquant :
$(document).ready(function() {
window.addEventListener("DOMContentLoaded", () => {
}
Insérez le code suivant directement au-dessus de cette ligne :
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];
}
}
Avant de l'enregistrer, modifiez la partie du code qui répertorie les identifiants des anciens et des nouveaux articles :
var oldIds = ["217352077", "216552968"];
var newIds = ["216553098", "216552958"];
Ajoutez vos identifiants d'article au lieu de ceux ci-dessus. Pour trouver l'identifiant d'un article, affichez-le dans votre navigateur. L’URL ressemblera à ceci :
https://[YOURSUBDOMIAN].zendesk.com/hc/en-us/articles/203664386-Help-Center-guide-for-agents-and-end-users
Dans l'URL ci-dessus, l'identifiant de l'article est 203664386
.
Afin de rediriger correctement avec cette solution, les identifiants de l'ancien article et du nouveau doivent être à la même position dans le tableau. Ainsi, dans ce cas, un article dont l’URL contient 217352077
sera redirigé vers 216553098
. L'article contenant 216552968
va maintenant vous rediriger vers 216552958
.
Conservez ces identifiants entre guillemets, comme indiqué ci-dessus, et séparés par une virgule dans chaque cas. Cela devrait ressembler à ce qui suit :
var oldIds = ["217352077", "216552968", "216552902"];
var newIds = ["216553098", "216552958", "216552944"];
Ensuite, modifiez l'URL de cette ligne :
window.location.href = 'https://YOURSUBDOMAIN. zendesk.com/hc/en-us/articles/ ' + newIds[i];
Utilisez votre sous-domaine Zendesk ou, alternativement, utilisez l’intégralité de l’URL de votre centre d’aide telle qu’elle apparaît normalement dans votre centre d’aide, s’il est marqué en blanc sur votre propre URL. Ne supprimez pas la fin de la ligne : "+ newIds[i];"
. Voici comment la boucle ajoute votre nouvel identifiant d’article à votre URL. Le code échouera sans cela.
Exemple 2 : Redirection d’articles non traduits vers une langue existante
Dans cet exemple, le contenu du centre d’aide existe dans plusieurs langues. Si tous vos contenus existent en anglais, mais que seuls certains d’entre eux existent en français et en allemand, les utilisateurs qui tentent d’accéder à ces articles en français ou en allemand obtiennent une page d’erreur. Ce code les redirige de la page d’erreur vers l’article existant en anglais.
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;
}
Dans cet exemple, il ne reste qu’une petite partie de la personnalisation à effectuer. Si la langue par défaut du centre d’aide n’est pas l’anglais, remplacez-la. Dans le code, en-us
s'affiche à deux endroits :
var notDefaultLanguage = window.location.href.indexOf('/en-us/') == -1;
et
var newURL = window.location.href.replace(/(.*\/hc\/)([\w-]+)(\/.*)/, "$1en-us$3");
Remplacez en-us
sur ces deux lignes par votre code de langue par défaut. Vous trouverez votre code de langue par défaut dans l’URL de vos articles principaux. Par exemple, l’URL d’une page de centre d’aide en français se présentera comme l'exemple ci-dessous :
https://[YOURSUBDOMAIN].zendesk.com/hc/fr/articles/214943538
Exemple 3 : Redirection de tous les articles supprimés vers une page spécifique
Dans cet exemple, un centre d’aide redirige tous les articles supprimés (cela n’inclut pas les publications de la communauté) vers un article spécifique.
Dans les premières lignes du fichier JavaScript, vous verrez une ligne indiquant :
$(document).ready(function() {
window.addEventListener("DOMContentLoaded", () => {
}
Dans ce cas, insérez le code suivant directement en dessous de cette ligne. Remarque importante, l’insertion ci-dessus ne fonctionnera pas pour cet exemple :
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';
}
Dans ce script, remplacez l'URL par l'URL de l'article vers lequel redirigera votre centre d'aide.
Cette solution ne fonctionnera que si nous nous assurons qu’une classe .not-found
existe dans votre page d’erreur.
Sur la barre grise où le lien JS apparaît, cliquez sur le lien Page d’accueil. Recherchez et sélectionnez Page d’erreur dans cette liste déroulante. À la page d’erreur, vous trouverez une zone commençant par le code {{#is error 'not_found'}}
. Il devrait ressembler à ce qui suit :
{{#is error 'not_found'}}
<h2>{{t 'nonexistent_page'}}</h2>
<p>{{t 'mistyped_address_or_moved_page'}}</p>
{{/is}}
Ajoutez une nouvelle classe à l’élément h2 ou à n’importe quel élément dans les marqueurs 'not_found' #is
, afin qu’elle ressemble à ceci :
<h2 class="not-found">{{t 'nonexistent_page'}}</h2>
Exemple 4 : Généraliser ou spécifier les articles (ou messages de communauté) redirigés vers une page spécifique
Vous pouvez vous montrer plus spécifique ou plus général avec cette solution en personnalisant l’instruction if. Par exemple, pour rediriger un article supprimé ou un message de communauté supprimé, modifiez l’instruction if en :
if ( $(".not-found").length > 0 )
Sinon, pour rediriger uniquement les articles supprimés dont le titre est buttermilk
, remplacez l’instruction if
par :
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
Contrairement à la première solution présentée, ces solutions affichent rapidement la page d’erreur, puis redirigent vers la nouvelle page. En effet, elle utilise JavaScript pour rechercher un élément qui doit être chargé en premier.