この記事内のソリューションは、Javascriptリダイレクトが含まれているため、Google検索ランキングに影響を与える場合があります。このため、長期および大規模な展開には適していない場合があります。
ヘルプセンターから記事を削除した場合でも、ユーザーが記事に関連付けられているURLへアクセスしようとしていることがあるかもしれません。トラフィックのソースに関わらず、URLにアクセスしようとするユーザーを、より役立つページに自動的にリダイレクトすることが可能です。
この記事では、トラフィックをリダイレクトするソリューションについて説明します。
- 削除済みの記事を新しい記事にリダイレクトする
- 未翻訳の記事を既存の言語にリダイレクトする
- 削除済みのすべての記事を特定のページにリダイレクトする
- 特定のページにリダイレクトされた記事(またはコミュニティ投稿)を一般化または指定する
ヘルプセンターのカスタムJavaScriptファイルにアクセスする
このようなソリューションを実装するには、最初にヘルプセンターのJavaScriptファイルにアクセスする必要があります。
- Zendesk Supportに管理者としてログインします。一番上のメニューバーで「Zendesk製品」アイコン(
)をクリックし、「Guide」を選択します。
- Zendesk Guideの右上にある「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」です。
このソリューションで正しくリダイレクトするには、配列内の同じ位置に記事IDを格納する必要があります。この場合、URLに「2217352077」が含まれている記事は「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に送信されます。スクリプトなしではコードは機能しません。
以下はその例です:未翻訳の記事を既存の言語にリダイレクトする
以下は、ヘルプセンターコンテンツが複数言語ある場合の例です。たとえば、すべてのコンテンツが英語になっていて、そのうちの一部がフランス語とドイツ語になっているとします。ユーザーがフランス語またはドイツ語でこれらの記事にアクセスしようとする場合、エラーページが返されます。このコードを使えば、エラーページから既存の英語記事へリダイレクトできます。
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 コメント
サインインしてコメントを残してください。