この記事内のソリューションは、Javascriptリダイレクトが含まれているため、Google検索ランキングに影響を与える可能性があります。このため、長期および大規模な展開には適していない場合があります。
ヘルプセンターから記事を削除した場合、ユーザーが時にはこれらの記事に関連付けられたURLにアクセスしようとすることがあります。これらのトラフィックの発信元に関係なく、これらの URL にアクセスするユーザーをより便利なページに自動的にリダイレクトできます。
この記事では、トラフィックをリダイレクトするソリューションについて紹介します。
- 削除済みの記事を新しい記事にリダイレクトする
- 未翻訳の記事を既存の言語にリダイレクトする
- 削除されたすべての記事を特定のページにリダイレクトする
- 特定のページにリダイレクトする記事(またはコミュニティの投稿)をサポートの作成または指定する
ヘルプセンターのカスタムJavaScriptファイルにアクセスする
このようなソリューションを実装するには、まずヘルプセンターのJavaScriptファイルにアクセスする必要があります。
- Zendesk Supportに管理者としてサインインします。一番上のメニューバーでZendesk製品アイコン(
)をクリックし、「Guide」を選択します。
- 右上にある「 Guide管理」Zendesk Guide選択します。
- サイドバーにあるデザインをカスタマイズアイコン(
)をクリックします。
- 更新するテーマをクリックして、テーマを開きます。
- オプションメニュー(横に3つ並む点)をクリックし、「コードを編集」を選択します。
- script.jsファイルを開きます。
- 例: 削除済みの記事を新しい記事にリダイレクトする
これはヘルプセンターに古い削除済みのページがある例です。各ページは、リダイレクト先の新しいページに対応しています。
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」になります。
このソリューションで適切にリダイレクトするには、配列内の同じ位置に配置する必要があります。この場合、URLに「217352077」が含まれる記事は「216553098」にリダイレクトされます。"216552968"を含む記事が"216552958"にリダイレクトされるようになりました。
これらの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];」と表示されます。これにより、loopにより新しい記事IDがURLに追加されます。このコードがなければ、コードは失敗します。
例:未翻訳の記事を既存の言語にリダイレクトする
ヘルプセンターのコンテンツが複数言語ある場合の例を以下に示します。たとえば、すべてのコンテンツが英語、一部がフランス語とドイツ語であるとします。ユーザーがフランス語またはドイツ語でこれらの記事にアクセスしようとすると、エラーページが返されます。このコードを使用すると、エラーページから既存の英語記事へリダイレクトできます:
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」が表示されています。
例:削除されたすべての記事を特定のページにリダイレクトする
次の例では、ヘルプセンターが、削除されたすべての記事(メモ:コミュニティの投稿を含まない)を特定の記事にリダイレクトします。
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>
これで、一般的な削除済み記事リダイレクトに必要な要素がすべて揃いました。
例: 特定のページにリダイレクトする記事(またはコミュニティの投稿)をサポートする方法や指定する
このソリューションでは、ifステートメントをカスタマイズすることで、より具体的または一般的な情報を得ることができます。たとえば、削除済み記事またはコミュニティ投稿からリダイレクトするには、if文を次のいずれかに変更します:
if ( $(".not-found").length > 0 )
または、タイトルに「buttermilk」という単語を含む削除済みの記事のみをリダイレクトするには、if文を次に変更します:
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
最初のソリューションとは異なり、このソリューションでは最初にエラーページが表示されてから、新しいページにリダイレクトします。JSを使用してページ内の要素を検索するには、ページが読み込まれるまで待機する必要があるため、このような理由が考えられます。
コメント
0件のコメント
サインインしてコメントを残してください。