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

Dégagement de responsabilité : Cet article est fourni à titre informatif uniquement. Zendesk ne fournit pas l’assistance pour le code et ne le garantit pas. Zendesk ne peut pas non plus fournir l’assistance pour les technologies tierces comme JavaScript, jQuery ou CSS. Si vous rencontrez des problèmes, publiez-en la description dans la section commentaires ou essayez de trouver une solution en ligne.

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 :

  1. 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.
  2. Dans le coin supérieur droit de Zendesk Guide, sélectionnez Admin Guide.
  3. Cliquez sur l’icône du panneau de personnalisation () dans la barre latérale.
  4. Cliquez sur Personnaliser sur votre thème.
  5. Cliquez sur Modifier le code.
  6. Cliquez sur le fichier script.js.

Edit_JavaScript_In_Theme_.gif

Remarque : Les solutions contenues dans cet article pointent vers les redirections JavaScript. Ces redirections peuvent affecter votre classement dans les résultats de recherche Google. Pour cette raison, elles ne conviennent pas à un déploiement à long terme ou à grande échelle. Si vous avez un développeur, utilisez plutôt l’API de règles de redirection pour les redirections de pages dans votre centre d’aide.

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() {
Remarque : Cette ligne risque de manquer si vous utilisez une version récente du thème Copenhagen. Dans ce cas, placez le code à l’extérieur des auditeurs suivants :
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() {
Remarque : Cette ligne risque de manquer si vous utilisez une version récente du thème Copenhagen. Dans ce cas, intégrez le code suggéré à un nouveau processus d'écoute :
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.

Réalisé par Zendesk