ヘルプセンターから記事を削除した場合でも、ユーザーが記事に関連付けられているURLへアクセスしようとしていることがあるかもしれません。このようなトラフィックのソースに関わらず、URLにアクセスしようとするユーザーを、より役立つページに自動的にリダイレクトすることが可能です。
ヘルプセンターのカスタムJavaScriptファイルにアクセスする
この解決策を実装するには、最初にヘルプセンターのJavaScriptファイルにアクセスする必要があります。
- Zendesk Supportに管理者としてサインインします。次に、Zendesk製品アイコン(
)を選択し、Guideを選択します。
- Zendesk Guideの右上隅にある「Guide管理者」を選択します。
- デザインをカスタマイズアイコン(
)をサイドバーに表示します。
- テーマに表示されている「カスタマイズ」をクリックします。
- 「コードを編集」をクリックします。
- script.jsファイルをクリックします。
JavaScritファイルにアクセスする画面の表示例については、次のGIFを参照してください。
この記事では、トラフィックをリダイレクトすることができる解決策について説明します。
- 例1:削除済みの記事を新しい記事にリダイレクトする
- 例2:未翻訳の記事を既存の言語にリダイレクトする
- 例3:削除済みの記事を特定のページにリダイレクトする
- 例4:特定のページにリダイレクトされた記事(またはコミュニティ投稿)を一般化または指定する
例1
例2
例3
例4
例1:削除済みの記事を新しい記事にリダイレクトする
これはヘルプセンターに古い削除済みのページがある例です。各ページはこれからリダイレクトする新規ページに対応しています。
JSファイルの最初の数行に、次のように表示されます。
$(document).ready(function() {
その列のすぐ上に次のコードを入力します。
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]; } }
保存する前に、このスクリプトを少しカスタマイズする必要があります。編集するコードの最初の部分は、次のとおりです。
var oldIds = ["217352077", "216552968"]; var newIds = ["216553098", "216552958"];
これは古い記事のIDと新しい記事のIDのリストです。記事のIDをここに追加します。記事IDを探すには、ブラウザ(または解析プラットフォームのURL)で記事を表示します。URLは次のとおりです。
https://[YOURSUBDOMIAN].zendesk.com/hc/en-us/articles/203664386-Help-Center-guide-for-agents-and-end-users
この場合、記事IDは「203664386」です。
この解決策で正しくリダイレクトするには、配列内の同じ位置に記事IDを格納する必要があります。この場合、URLに「217352077」が含まれている記事は「216553098」にリダイレクトされます。また、「216552968」が含まれている記事は「216552958」にリダイレクトされます。
記事IDを配列内で指定する場合は、各IDを引用符("")で囲み、カンマで区切る必要があります。リダイレクトセットを追加すると、以下のようになります。
var oldIds = ["217352077", "216552968", "216552902"]; var newIds = ["216553098", "216552958", "216552944"];
次に、この列のURLを編集します。
window.location.href = 'https://YOURSUBDOMAIN. zendesk.com/hc/en-us/articles/ ' + newIds[i];
サブドメインを使用、またはURLに白いラベルが使われている場合はヘルプセンターで通常表示されているとおり、ヘルプセンターURL全体を使用するよう確認してください。列の最後にある「+ newIds[i];」は、削除しないでください。こうして、新しい記事IDがURLに送信されます。スクリプトなしではコードは機能しません。
例2:未翻訳の記事を既存の言語にリダイレクトする
以下は、ヘルプセンターコンテンツが複数言語ある場合の例です。たとえば、すべてのコンテンツが英語になっていて、そのうちの一部がフランス語とドイツ語になっているとします。ユーザーがフランス語またはドイツ語でこれらの記事にアクセスしようとする場合、エラーページが返されます。このコードを使えば、エラーページから既存の英語記事へリダイレクトできます。
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; }
この例では、カスタマイズが必要なのは1つだけです。ヘルプセンターのデフォルトの言語が英語ではない場合、言語を置き換えてください。コード上に「en-us」が2箇所表示されます。
var notDefaultLanguage = window.location.href.indexOf('/en-us/') == -1;
および
var newURL = window.location.href.replace(/(.*\/hc\/)([\w-]+)(\/.*)/, "$1en-us$3");
この2列の「en-us」をデフォルトの言語コードに変更します。デフォルトの言語コードは、メイン記事のURL内に含まれています。たとえば、フランス語のヘルプセンターのURLは次のようになります。
https://[YOURSUBDOMAIN].zendesk.com/hc/fr/articles/214943538
国コードを表す「fr」が表示されています。
例3:削除済みの記事を特定のページにリダイレクトする
この例では、ヘルプセンターのすべての削除済み記事(コミュニティ内の投稿を除く)を特定の記事にリダイレクトする方法について説明します。
JSファイルの最初の数行に、次のように表示されます。
$(document).ready(function() {
ここでは、次のコードを列のすぐ下に配置します。重要:(これ以前の例と同様に)この例において列の上に配置すると機能しません。
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';
}
保存する前にスクリプト内のURLをカスタマイズする必要があります。ヘルプセンターがリダイレクトする記事のURLに置き換えます。
この解決策は、「.not-found」クラスがエラーページに存在する場合に限り機能します。それでは追加してみましょう。
「JS」リンクが表示されるグレーのバー上にある「ホームページ」リンクをクリックしますドロップダウンから「エラーページ」を選択します。エラーページには、コードで始まる領域があります {{#is error 'not_found'}}
。以下は、その画面のイメージです。
{{#is error 'not_found'}}
<h2>{{t 'nonexistent_page'}}</h2>
<p>{{t 'mistyped_address_or_moved_page'}}</p>
{{/is}}
h2要素('not_found'#isタグ内の任意の要素)に新しいクラスを追加すると、以下のようになります。
<h2 class="not-found">{{t 'nonexistent_page'}}</h2>
これで、一般的な削除済み記事へのリダイレクトに必要な要素がすべて揃いました。
例4:特定のページにリダイレクトされた記事(またはコミュニティ投稿)を一般化または指定する
if文をカスタマイズすれば、このソリューションをさらに具体化したり一般化することが可能です。たとえば、削除済み記事またはコミュニティ投稿からリダイレクトするには、if文を次のように変更してください。
if ( $(".not-found").length > 0 )
または、タイトルに「buttermilk」という単語がある削除記事のみリダイレクトするには、if文を次のように変更してください。
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
最初の解決策とは異なり、この解決策では最初にエラーページが表示されてから、新しいページにリダイレクトします。JSを使用してページ内の要素を検索するには、ページが読み込まれるまで待機する必要があるため、このような動作になります。
0 コメント
サインインしてコメントを残してください。