この記事に含まれるソリューションには、Javascriptリダイレクトが含まれているため、Google検索のランキングに影響を与える可能性があります。このため、長期または大規模な展開には適さない場合があります。
ヘルプセンターから記事を削除した場合でも、ユーザーがこれらの記事に関連付けられているURLにアクセスしようとすることがあることに気付いたかもしれません。このようなトラフィックのソースに関係なく、これらのURLにアクセスするユーザーをより有用なページに自動的にリダイレクトできます。
この記事には、ほとんどの場合、トラフィックのリダイレクトに役立ついくつかのソリューションが含まれています。
- 削除された一連の記事を同等の新しい記事にリダイレクトする
- 翻訳されていない記事を既存の言語にリダイレクトする
- 削除されたすべての記事を1つの特定のページにリダイレクトする
- どの記事(またはコミュニティの投稿)が1つの特定のページにリダイレクトされるかを一般化または指定する
ヘルプセンターのカスタムJavaScriptファイルへのアクセス
このようなソリューションを実装するには、最初にヘルプセンターのJavaScriptファイルにアクセスする必要があります。
- 管理者としてZendeskサポートにサインインします。 Zendesk製品アイコンをクリックします(
)トップバーで、[ガイド]を選択します。
- 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];」と表示されている行の終わりを削除しないでください。これは、ループが新しい記事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」は国コードを表します。
例:削除されたすべての記事を1つの特定のページにリダイレクトする
ヘルプセンターがすべての削除された記事(注:コミュニティの投稿を含まない)を1つの特定の記事にリダイレクトする別の例を次に示します。
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 )
または、タイトルに「buttermilk」という単語が含まれる削除済みの記事のみをリダイレクトするには、ifステートメントを次のように変更します。
if ( window.location.href.indexOf('buttermilk') > -1 && $(".not-found").length > 0 )
提示された最初の解決策とは異なり、これらの解決策は最初にエラーページを簡単に表示し、次に新しいページにリダイレクトします。これは、JSを使用してページ内の要素を検索しているためです。そのためには、最初にページが読み込まれるのを待つ必要があります。
コメント
0件のコメント
サインインしてコメントを残してください。