この記事内のソリューションはJavascriptのリダイレクトが含まれているため、Google検索ランキングに影響を与える可能性があります。このため、長期および大規模な展開には適していない場合があります。
ヘルプセンターから記事を削除した場合でも、それらの記事に関連付けられたURLにまだアクセスしようとすることがあります。そのようなトラフィックのソースに関係なく、あなたはこれらのURLにアクセスしたユーザーを自動的に有用なページにリダイレクトできます。
この記事では、トラフィックをリダイレクトするソリューションについて説明します。
- 削除済みの記事を新しい記事にリダイレクトする
- 未翻訳の記事を既存の言語にリダイレクトする
- 削除した記事を特定の1つのページにリダイレクトする
- 特定のページにリダイレクトする記事(またはコミュニティの投稿)を一般化するまたは指定する
ヘルプセンターのカスタム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」です。
このソリューションで適切にリダイレクトするには、配列内の同じ位置に配置する必要があります。この場合、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全体を使用してください。 「+ 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」クラスがエラーページに存在する場合にのみ機能します。では1つ追加してみましょう。
「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>
これで、一般的な削除済み記事へのリダイレクトに必要な要素がすべて揃いました。
例:特定の1つのページにリダイレクトする記事(またはコミュニティの投稿)を一般化する、または指定する
ifステートメントをカスタマイズすることで、より具体的なソリューションまたは一般的なソリューションを得ることができます。たとえば、削除済みの記事やコミュニティ投稿からリダイレクトするには、if文を次のように変更します。
if ( $(".not-found").length > 0 )
または、タイトルに「b伝え」を含む削除済み記事のみをリダイレクトするには、if文を次のように変更します。
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
最初のソリューションとは異なり、このソリューションでは最初にエラーページが表示されてから、新しいページにリダイレクトします。これは、ページ内の要素を検索するためにJSを使用しているため、まずページが読み込まれるのを待機する必要があるためです。
コメント
0件のコメント
サインインしてコメントを残してください。