Les solutions contenues dans cet article peuvent affecter le classement dans les recherches Google car elles contiennent des redirections Javascript. Pour cette raison, elles peuvent ne pas convenir à un déploiement à long terme ou à grande échelle.
Si vous avez supprimé des articles de votre centre d’aide, vous avez peut-être remarqué que les utilisateurs tentaient toujours d’accéder aux URL associées à ces articles. Quelle que soit la source de ce trafic, vous pouvez automatiquement rediriger les utilisateurs visitant ces URL vers des pages plus utiles.
Cet article inclut plusieurs solutions qui, dans la plupart des cas, devraient vous aider à rediriger le trafic :
- Rediriger un ensemble d’articles supprimés vers de nouveaux articles équivalents
- Rediriger des articles non traduits vers une langue existante
- Rediriger tous les articles supprimés vers une page spécifique
- Généraliser ou spécifier les articles (ou messages de communauté) redirigés vers une page spécifique
Accéder au fichier JavaScript personnalisé de votre centre d’aide
Pour mettre en œuvre une telle solution, vous devez d’abord accéder au fichier JavaScript de votre centre d’aide :
- Connectez-vous à Zendesk Support en tant qu’administrateur. 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 Guide Admin.
- Cliquez sur l’icône du panneau de personnalisation (
) dans la barre latérale.
- Cliquez sur le thème à mettre à jour pour l’ouvrir.
- Cliquez sur le menu des options (3 points horizontaux), puis sélectionnez Modifier le code.
- Ouvrez le fichier script.js.
- Exemple : Redirection d’un ensemble d’articles supprimés vers de nouveaux articles équivalents
Voici un exemple dans lequel un 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 JS, vous verrez une ligne indiquant :
$(document).ready(function() {
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 pouvoir enregistrer, vous devrez personnaliser quelques éléments de ce script. Jetons un coup d’œil aux exemples ci-dessous.
La première partie du code que vous allez éditer est ici :
var oldIds = ["217352077", "216552968"]; var newIds = ["216553098", "216552958"];
Il s’agit d’une liste des identifiants d’article anciens et nouveaux. Vous allez devoir ajouter vos propres identifiants d’article ici. Pour trouver un identifiant d’article, affichez-le simplement dans votre navigateur (ou sur l’URL de votre plateforme d’analyse). L’URL ressemblera à ceci :
https://[YOURSUBDOMIAN].zendesk.com/hc/en-us/articles/203664386-Help-Center-guide-for-agents-and-end-users
Dans ce cas, l’identifiant d’article est « 203664386 ».
Afin de rediriger correctement avec cette solution, ils doivent être à la même position dans le tableau. Ainsi, dans ce cas, un article dont l’URL contient « 217352077 » sera redirigé vers « 216553098 ». De même, un article contenant « 216552968 » sera redirigé vers « 216552958 ».
Assurez-vous de conserver ces identifiants entre guillemets, comme indiqué ci-dessus, et séparés par une virgule dans chaque cas. Donc, si vous ajoutez un nouvel ensemble de redirections, cela ressemblera à ceci :
var oldIds = ["217352077", "216552968", "216552902"]; var newIds = ["216553098", "216552958", "216552944"];
Deuxièmement, vous devrez éditer l’URL dans cette ligne :
window.location.href = 'https://YOURSUBDOMAIN. zendesk.com/hc/en-us/articles/ ' + newIds[i];
Assurez-vous d’utiliser votre sous-domaine 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, où il est écrit « + newIds[i]; ». Voici comment la boucle ajoute votre nouvel identifiant d’article à votre URL. Le code échouera sans cela.
Exemple : Redirection d’articles non traduits vers une langue existante
Voici un exemple dans lequel le contenu du centre d’aide est disponible dans plusieurs langues. Supposons que tous vos contenus existent en anglais, mais que seuls certains d’entre eux existent en français et en allemand. Lorsqu’un utilisateur tente d’accéder à ces articles en français ou en allemand, il obtient une page d’erreur. Ce code permet de les rediriger 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 plus qu’une partie de la personnalisation à effectuer. Si la langue par défaut du centre d’aide n’est pas l’anglais, vous pouvez la remplacer. Dans le code, vous verrez «en-us » apparaître à deux endroits :
var notDefaultLanguage = window.location.href.indexOf('/en-us/') == -1;
et
var newURL = window.location.href.replace(/(.*\/hc\/)([\w-]+)(\/.*)/, "$1en-us$3");
Vous allez remplacer «en-us » dans ces deux lignes par votre code de langue par défaut. Trouvez votre code de langue par défaut dans l’URL de l’un de vos articles principaux. Par exemple, l’URL d’une page de centre d’aide en français se présentera comme suit :
https://[YOURSUBDOMAIN].zendesk.com/hc/fr/articles/214943538
avec «fr » représentant le code du pays.
Exemple : Redirection de tous les articles supprimés vers une page spécifique
Voici un autre exemple dans lequel un centre d’aide redirige tous les articles supprimés (remarque : cela n’inclut pas les publications de la communauté) vers un article spécifique.
Dans les premières lignes du fichier JS, vous verrez une ligne indiquant :
$(document).ready(function() {
Dans ce cas, insérez le code suivant directement en dessous de cette ligne. Remarque importante : l’insertion ci-dessus (comme dans l’exemple précédent) 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';
}
Vous devez personnaliser l’URL dans ce script avant de pouvoir sauvegarder. Assurez-vous de le remplacer par l’URL de l’article vers lequel vous souhaitez que votre centre d’aide se redirige.
Cette solution ne fonctionnera que si nous nous assurons qu’une classe « .not-found » existe dans votre page d’erreur. Alors ajoutons-en une.
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'}}
. Cela devrait ressembler à ceci :
{{#is error 'not_found'}}
<h2>{{t 'nonexistent_page'}}</h2>
<p>{{t 'mistyped_address_or_moved_page'}}</p>
{{/is}}
Vous devez ajouter 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>
Maintenant, vous avez tous les éléments en place dont vous aurez besoin pour une redirection générale d’article supprimé.
Exemple : 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 d’abord rapidement la page d’erreur, puis redirigent vers la nouvelle page. En effet, nous utilisons JS pour rechercher un élément dans la page et pour ce faire, nous devons d’abord attendre que la page se charge.
0 Commentaires
Vous devez vous connecter pour laisser un commentaire.