この記事に含まれるソリューションは、Javascriptリダイレクトを含むため、Google検索ランキングに影響を与える可能性があります。このため、長期または大規模な展開には適していない可能性があります。
ヘルプセンターから記事を削除した場合、ユーザーがその記事に関連付けられているURLにアクセスしようとすることがあることに気付いたかもしれません。そのようなトラフィックのソースに関係なく、これらのURLにアクセスするユーザーをより有用なページに自動的にリダイレクトできます。
この記事には、ほとんどの場合、トラフィックをリダイレクトするのに役立ついくつかのソリューションが含まれています。
- 削除された一連の記事を同等の新しい記事にリダイレクトする
- 未翻訳の記事を既存の言語にリダイレクトする
- 削除されたすべての記事を特定のページにリダイレクトする
- 特定のページにリダイレクトする記事 (またはコミュニティ投稿) を一般化または指定する
ヘルプセンターのカスタム JavaScript ファイルへのアクセス
そのようなソリューションを実装するには、まずヘルプセンターのJavaScriptファイルにアクセスする必要があります。
- 管理者としてZendesk Supportにサインインします。トップバーのZendesk製品アイコン(
)をクリックし、「ガイド」を選択します。
- Zendesk Guideの右上隅にある「Guide管理者」を選択します。
- サイドバーの [デザインをカスタマイズ] アイコン (
) をクリックします。
- 更新するテーマをクリックして開きます。
- オプションメニュー (横に 3 つのドット) をクリックし、[コードを編集] を選択します。
- script.js ファイルを開きます。
- 例:削除された一連の記事を同等の新しい記事にリダイレクトする
以下は、ヘルプセンターに一連の古い削除されたページがあり、それぞれがリダイレクト先の新しいページに対応している例です。
JS ファイルの最初の数行には、次のような行があります。
$ (ドキュメント) .ready (関数 () {
その行のすぐ上に次のコードを挿入します。
var oldIds = ["217352077"、「216552968"];
var newIDs = ["216553098",「216552958"];
for (var i = 0; i < olids.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];」と書かれている行の末尾は削除しないでください。これは、ループが新しい記事 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 && デフォルト言語ではない && isErrorPage) {
var newURL = window.location.href.replace (/(.*\ /hc\/) ([\ w-] +) (\ /.*)/,「$1en-US$3");
window.location.href = newURL;
}
この例では、行う必要があるカスタマイズは 1 つだけです。ヘルプセンターのデフォルトの言語が英語でない場合は、その言語を置き換えることができます。コードでは、次の 2 つの場所に「en-us」が表示されます。
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 ファイルの最初の数行には、次のような行があります。
$ (ドキュメント) .ready (関数 () {
この場合、次のコードを行のすぐ下に挿入します。重要な注意点として、上記の挿入 (前の例と同様) は、この例では機能しません。
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 エラー 'not_found'}}
{{t 'nonexistent_page'}}
{{t 'mistyped_address_or_moved_page'}}
{{/is}}
新しいクラスを h2 要素 (または 'not_found' #is タグ内の任意の要素) に追加すると、以下のようになります。
{{t 'nonexistent_page'}}
これで、一般的に削除される記事のリダイレクトに必要なすべての要素が揃いました。
例:特定のページにリダイレクトする記事 (またはコミュニティ投稿) を一般化または指定する
if文をカスタマイズすることで、このソリューションをより具体的または一般的なものにすることができます。たとえば、削除された記事やコミュニティの投稿からリダイレクトするには、if ステートメントを次のように変更します
。
if ($ (「.not-found」) .length > 0)
または、タイトルに「バターミルク」という単語を含む削除された記事のみをリダイレクトするには、if ステートメントを次のように変更します。
if (window.location.href.indexOf ('バターミルク') > -1 && $ (「.not-found」) .length > 0)
最初に提示された解決策とは異なり、これらの解決策は最初にエラーページを簡単に表示し、次に新しいページにリダイレクトします。これは、JSを使用してページ内の要素を検索し、そのためには、まずページが読み込まれるのを待つ必要があるためです。
コメント
0件のコメント
サインインしてコメントを残してください。