ロケールは、ヘルプセンターのコンテンツの言語、場合によってはその言語の地域的なバリエーション(米国英語はen-US、英国英語はen-GBなど)を指定する標準です。複数の言語をサポートするようにヘルプセンターを設定した場合、ヘルプセンターをローカライズしてコンテンツの翻訳を追加したり、特定の言語のみのコンテンツを追加したりすることができます。
検索クローラーは、外部コンテンツをインデックス化する際に、そのロケールと言語を判断し、そのロケールに対応するヘルプセンターにマッピングすることができます。
この記事では、次のトピックについて説明します。
ヘルプセンターのロケール
ヘルプセンターでは、ページのURLのロケールコード(「.../hc/en-us」)に基づいて、さまざまな言語でページを表示します。翻訳されたすべての記事には、同じ言語で翻訳された親ページ(セクションとカテゴリ)が必要です。
次の図は、コンテンツの言語および地域のバリエーションを指定するために使用されるロケールタグを示しています。ロケールタグは、ヘルプセンターの各記事のURLに表示されます(例:https://helpcenter.zendesk.com/hc/en-us/articles/4408827609882)。
検索クローラーによるロケールの検出
検索クローラーは、外部コンテンツのロケールや言語(地域バリエーションを含む)を判定し、判定されたロケールを使用してコンテンツをインデックス化し、対応するヘルプセンターにマッピングすることで、ヘルプセンターの多言語およびロケール対応することができます。
ロケールや言語を決定するために、検索クローラーはまず<html>
タグのlang
属性からロケールを抽出し、アカウントのヘルプセンターのロケール完全一致するものがあるかどうかを判断しようとします。一致するものがある場合、そのレコードは検出されたロケールでインデックス化されます。ロケールが検出されなかったり、完全に一致しなかったりした場合は、まずContent-Language header
から、次に
<meta>
タグからロケールを抽出しようと試みます。
lang
、Content-Language
header
、meta
タグのいずれにも完全に一致するものがない場合、クローラーはhtml lang
のlanguageサブタグに一致するヘルプセンターのロケールを見つけようとします(lang
タグのregion部分が存在すれば無視されます)。たとえば、<html lang="en">
を含むページの場合、アカウントで米国英語(en-us)と英国英語(en-gb)が有効になっていると、そのレコードは米国英語と英国英語の両方のロケールについてインデックスが作成されます。
lang
、Content-Language
header
、または<meta>
タグのいずれも定義されていない場合、クローラーはCLD(Compact Language Detection)を使ってコンテンツのテキスト解析を行い、言語を検出します。言語が検出されると、そのレコードはその言語に一致する有効なロケールとともにインデックス化されます。たとえば、英語(en)が検出され、アカウントが米国英語(en-us)と英国英語(en-gb)を有効にしている場合、そのレコードは米国英語と英国英語の両方のロケールに対してインデックスが作成されます。
ロケールが検出されなかった場合、または検出されたロケールとアカウントのヘルプセンター翻訳が一致しなかった場合、クローラーは「Locale not detected」エラーを生成し、そのエラーを検索クローラーの設定時に特定されたクローラーのオーナーに送られるエラーレポートに含めます。