現在のプランを確認
Suite、すべてのバージョン Team、Growth、Professional、EnterpriseまたはEnterprise Plus
Support + Guide ProfessionalまたはEnterprise

Zendeskの横串検索を設定すると、エンドユーザーのヘルプセンターの検索結果に、外部のナレッジベース、学習管理ソフトウェア、ブログ、Webサイトのページなど、ヘルプセンター以外のコンテンツを含めることができます。横串検索は、Zendesk横串検索APIまたはWebクローラーを使用して実装することができます。

Webクローラーはヘルプセンターの検索設定で利用でき、開発者リソースを使わずにヘルプセンターに横串検索を実装できます(「Webクローラーの設定」を参照)。この記事は、アプリケーションでWebクローラーを設定する際に遭遇する可能性のある、Webクローラーの設定エラーやページエラーをトラブルシューティングするときに参考にしてください。

この記事では、以下のトピックについて説明します。

  • クローラーの設定エラー
  • レコードエラー
  • Robot.txtのエラー

クローラーの設定エラー

クローラーの設定エラーは、ドメインのオーナーの確認やサイトマップの処理でエラーが発生し、Webクローラーが正常に動作しない場合に発生します。クローラーの設定エラーは、Webクローラーを設定したクローラーのオーナーにメールで通知されます。

Domain ownership could not be verified

Webクローラーは、実行されるたびにドメインの所有権の確認を試みますが、確認されるまで最大で24時間かかる場合があります。ドメイン検証が失敗した場合、クローラーのオーナーにはメールで通知され、クローラーページには「ドメインの確認に失敗しました」というクロールのステータスが表示されます。

ドメインの確認エラーのトラブルシューティングを行う際は、以下の点を確認してください。

  • Webサイトのホームページ(別名、インデックスページまたはルートページ)が公開されている。このページには、ユーザーログイン、パスワード、IP制限、その他の認証要件がないこと。
  • ドメインの所有権を確認する必要があります。クローラーページでオプションメニュー()をクリックし、「編集」を選択すると、ドメイン所有権を確認できるクローラー設定画面に戻ります。詳しくは「外部コンテンツをインデックス化するためのWebクローラーの活用」を参照してください。

Sitemap could not be processed

Webクローラーは、実行されるたびにクローラーの設定時に定義したサイトマップを使用します。サイトマップを処理できない場合、クローラーのオーナーに通知メールが届き、クローラーは実行されません。この場合は、以下の点に問題がないことを確認してください。

  • Webクローラーが正しいサイトマップのURLを参照しており、正常に検索できる。クローラーを編集して、現在のサイトマップのURLを表示することができます。詳しくは「Webクローラーの管理」を参照してください。
  • サイトマップが提供され、公開されている。ユーザーのログイン、パスワード、IP制限、その他の認証によってサイトマップページが制限されてないこと。
  • サイトマップが、Sitemaps XMLプロトコルに準拠したXML URLサイトマップであること。

レコードエラー

レコードエラーは、設定エラーはないが、Webクローラーがクローラーサイトマップに定義されたページ(「外部コンテンツをインデックス化するためのWebクローラーの活用」を参照)を正常にスクレイピングしてインデックスを作成できない場合に発生します。レコードエラーが発生すると、クローラーのオーナーに通知メールが送られます。この通知には、影響を受けるページと関連するエラーをリストアップしたCSVファイルへのリンクが含まれています。

Locale not detected

「Locale not detected」というエラーは、Webクローラーがロケールを検出できなかったか、検出されたロケールが現在のヘルプセンターのロケールと一致しないことを示します。

レコードのロケールを特定するために、クローラーは以下のアプローチを試みます。最初に成功した方法によって、レコードのロケールが決まります。

  1. <html> タグの lang 属性からロケールを抽出します。
  2. Content-Language ヘッダーからロケールを抽出します。
  3. <meta> タグからロケールを抽出します。
  4. コンテンツのテキスト解析を行います(CLD:Compact Language Detection)。

「Locale not detected」エラーは、次のいずれかの原因によって発生します。

  • 特定されたロケールまたは言語が、アカウント内のどのヘルプセンターで設定されているロケールとも言語とも一致しない。アカウントの各ヘルプセンターで設定されている言語を確認するには、「ヘルプセンターの多言語対応設定」を参照してください。設定されている言語のロケールコードは、「Zendeskの製品別言語サポート」でご確認ください。
  • Webクローラーがロケールまたは言語を特定できない。

この問題を解決するには、以下の点を確認してください。

  • htmlタグのlang属性が、ヘルプセンターのロケールと一致する。
  • HTTP Content-Languageヘッダーがヘルプセンターのロケールと一致する。
  • http-equiv属性にContent-Languageが設定されているmeta要素が、ヘルプセンターのロケールと一致する。

詳しくは「Webクローラーのロケールについて」を参照してください。

Title not detected

「Title not detected」というエラーは、Webクローラーがレコードのタイトルを検出できなかったことを示します。Webクローラーは次のような方法でレコードのタイトルを特定します。

  1. <title> タグのコンテンツを抽出する
  2. <h1> タグのコンテンツを抽出する
  3. <body> タグのテキストコンテンツを抽出する。

最初に成功した方法によって、レコードのロケールが決まります。クローラーは、抽出されたコンテンツの最初の255文字のみをインデックス化します。上記の方法でコンテンツが特定されなかった場合、レコードはインデックス化されません。

この問題を解決するには、エラーが生じたページに上記のタグのいずれかがあることを確認します。

Body not found

「Body not found」は、Webクローラーがページの本文を検出できなかったことを示すエラーです。このエラーを解決するには、エラーが生じたページに <body> タグが適切に記述されていることを確認してください。

HTTP [ステータスコード]

あるレコードのCSVのエラーコードフィールドにHTTPとステータスコードが表示されている場合は、ページにアクセスできなかったため、インデックスを作成できなかったことを意味します。ページのインデックスが正常に作成された場合(HTTP 2xx)、HTTPステータスのエラーコードは表示されません。

最も一般的なエラーコードには次のものがあります。

  • 404 - Page not found:ページが存在しないか、別のURLに移動されました。この問題を解決するには、クローラーが使用しているサイトマップが最新のものであり、サイトマップ内のすべてのURLが既存のページを参照していることを確認します。
  • 403 - Forbidden:ログイン制限やIPアドレス制限など、アクセス制御の仕組みにより、クローラーのページへのアクセスが制限されています。この問題を解決するには、以下の点を確認してください。
    • WebクローラーのユーザーエージェントであるZendesk/External-Contentを許可リストに追加している。
    • クローラーはアクセスが制限されたページをクロールできないため、インデックスを作成したいページは一般に公開されている。クロールしてインデックスを作成したいページを一般公開できない場合は、横串検索(外部コンテンツ)APIを使用してインデックスを作成することを検討してください。詳しくは「Zendesk横串検索APIの設定」を参照してください。
  • 5xx - Server error :サーバーエラーが発生したため、ページをクロールできませんでした。サイトは一時的に利用できない可能性があります。この問題を解決するには、このエラーが発生したページのいずれかにアクセスし、サイトが稼働していることを確認します。サイトがダウンしている場合は、サイトの管理者に連絡してください。エラーが解消されたら、クローラーが定期的(12〜24時間ごと)に再実行されるのを待ちます。

Invalid URL domain

「Invalid URL domain」のエラーは、サイトマップに掲載されているページのURLが、クローラーの設定時に設定したドメインに含まれていないことを示しています。

この問題を解決するには、エラーが発生したページのドメインが、Webクローラーに定義されているドメインと同じであることを確認します。サイトマップのリンク先が、クローラーの設定時に設定したドメインとは異なるドメインでホストされているページを参照している場合は、次のいずれかの方法で解決できます。

  • エラーの発生したページに対して別のWebクローラーを設定する
  • ページを外部のドメインからWebクローラーに設定したドメインに移動させる

Undetermined

「Undetermined」というエラーは、次のような原因が考えられます。

  • インスタンスの外部レコード数が上限を超えた:外部レコードの上限値を超えると、それ以降の外部レコードはインデックス化も更新も行われません。この問題を解決するには、次のいずれか、または複数の操作を実行します。
    • 一部のクローラーを削除する。これにより、それらのページの外部レコードがインスタンスから削除され、上限に達したためにインデックス化されなかったページがインデックス化されるようになります。詳しくは「Webクローラーの管理」を参照してください。
    • 横串検索APIを使用して個々のレコードを削除する。ただし、このページをインデックス化しているクローラーがまだアクティブであるか、このページを追加するカスタムAPIインテグレーションがアクティブである場合、次にクローラーが実行されるかインテグレーションの同期が行われると、このページは再表示されるようになります。
    • クローラーが使用しているページをサイトマップから削除する。次回クローラーが実行されたときに、残りのページのインデックスを再作成し、サイトマップから削除したページが削除されます。
    • クローラーにページ数の少ないサイトマップを参照させる。次回クローラーが実行されたときに、残りのページのインデックスを再作成し、サイトマップから削除したページが削除されます。
  • ページにJavaScriptのロケーションリダイレクトが使われている:WebクローラーはJavaScriptのロケーションリダイレクトを参照しません。ページにJavaScriptのロケーションリダイレクトが使われている場合、クローラーはページのコンテンツに到達することができません。

    この問題を解決するには、次のいずれかを行ってください。

    • インデックス化したいページをサイトマップが直接参照するようにする。
    • HTTPリダイレクトを実装する。

Robot.txtのエラー

robots.txtファイルは、クローラーがWebサイトのどの部分にアクセスできるかを指示します。その主な目的は、過度なクロールリクエストによってWebサイトに負荷がかかるのを防ぐことです。

設定項目というより、robots.txtはクローラーに対して「サイト全体をクロールできるか、あるいは特定のセクションのみ許可されているか」を示すガイドラインとして機能します。カスタマーがrobots.txtを扱う必要があるのは、クローラーがブロックされた場合、またはrobots.txtファイルが無効である場合のみです。これらの状況では、システムが以下のいずれかのエラーを生成し、サイトが正常にクロールおよび同期される前に解決が必要になります。

Webサイトによってクロールがブロックされました

このエラーは、robots.txtファイルがクローラーを含むすべてのユーザーエージェントによるサイトへのアクセスを禁止する設定になっている場合に発生します。

特定のZendeskクローラーにはアクセスを許可しつつ、その他のクローラーを必要に応じてブロックしたい場合は、robots.txtにオーバーライド用のルールを追加して、そのZendeskクローラーを許可できます。

例1:Zendesk/External-Content のみを許可する場合
User-agent: Zendesk/External-Content
Allow: /
例2:Googlebotをブロックする場合
User-agent: Googlebot
Disallow: /

robots.txtファイルが無効です

このエラーは、robots.txtファイル自体は存在しているものの、構文エラーや無効なルールが含まれている場合に発生します。その結果、クローラーがファイルを正しく読み取れず、クロール処理を無視または中断してしまいます。

この問題を解決するには、robots.txtファイルの内容を確認し、構文に誤りがないか、またクローラーへのアクセス許可が正しく記述されているかを修正してください。robots.txtの検証には、GoogleのRobots Testing Toolなどのオンラインツールを利用することをおすすめします。

Powered by Zendesk