SearchWPには、PDFドキュメントからテキストを読み取って検索可能にする組み込みのPDFパーサーが含まれており、ほとんどのドキュメントでそのまま機能します。PDFは非常に多くの異なる方法でフォーマットできるため、組み込みパーサーでは特定のファイルを読み取れない場合があります。その場合、Xpdfインテグレーションが通常は良い解決策となります。これは、サーバーにインストールされたより高機能なツールを使用するためです。ただし、一部のサーバーではXpdfのインストールが不可能な場合があります。そこで、オフサイトPDFパーシング拡張機能が登場します。サーバー上でファイルを読み取る代わりに、SearchWP独自のサーバーを使用してドキュメントを処理し、抽出されたテキストをサイトに返してインデックス作成を行います。この記事では、いつ使用するか、設定方法、処理の仕組み、およびインデックス作成されないPDFのトラブルシューティング方法について説明します。
オフサイトPDFパーシングの使用時期
SearchWPは、PDF処理の3つの異なる方法を提供します。PDF処理の要件に応じて、以下の順序で試してください。
- 組み込みパーサー。 すでにSearchWPに含まれており、ほとんどのPDFをセットアップなしで処理します。
- Xpdfインテグレーション。より高機能なツールでPDFをローカルで読み取ります。ホストがXpdfのインストールを許可している限り、組み込みパーサーが失敗した場合の次の最善策です。
- オフサイトPDFパーシング。 SearchWPのサーバーでPDFを読み取るため、インストールするツールはありません。ホストがXpdfを実行できない場合の適切な選択肢です。
事前に知っておくべきことがいくつかあります。
- アクティブなSearchWP Proライセンスが必要です。ライセンスが失効すると、パーシングサービスは機能しなくなります。
- PDFは公開Webアドレスからアクセス可能である必要があります。SearchWPサーバーはURLごとに各ファイルをダウンロードするため、ローカル、ステージング、パスワード保護、またはIP制限されたサイトのPDFは読み取ることができません。
インストールとセットアップ
この拡張機能は、Proライセンス所有者向けに、SearchWPアカウントの[ダウンロード]ページから直接ダウンロードできます。アクティブ化すると、設定する項目はほとんどありません。自動的に機能します。
- Xpdf拡張機能が有効になっている場合は、最初に無効にしてください。サイトの[プラグイン]ページに移動し、SearchWPの[Xpdf]拡張機能を非アクティブ化します。Xpdfがアクティブのままだと、SearchWPはローカルでPDFを読み取り続け、オフサイトに送信しません。
- 他のプラグインと同様に、オフサイトPDFパーシングをインストールしてアクティブ化します。
- 有効になっていることを確認します。設定は、[SearchWP] → [設定] → [拡張機能]の[オフサイトPDFパーシング]タブにあります。

- ドキュメントコンテンツの再解析をオンにします。 [SearchWP] → [設定] → [その他]に移動し、[ドキュメントコンテンツの再解析]を有効にします。これにより、SearchWPはドキュメント用に既に保存されているテキストをクリアし、次の再構築時に再度読み取るようになります。これにより、既存のPDFは古いコンテンツを保持するのではなく、新しいオフサイトパーサーを介して処理されます。

- [SearchWP] → [アルゴリズム]からインデックスを再構築して、PDFが再読み取りされ、解析のために送信されるようにします。
- インデクサーが完了したら、ドキュメントコンテンツの再解析をオフに戻してください。この1回の再構築にのみ必要です。オンのままにしておくと、SearchWPは既に持っているテキストを再利用するのではなく、毎回すべてのドキュメントを再読み込みするため、将来のすべての再構築が遅くなります。
インデックスが完了したら、ドキュメントコンテンツのカスタマイズと検証に従って、PDFのテキストがキャプチャされたことを確認できます。
仕組み
拡張機能がアクティブになると、PDFのインデックス作成は次のように機能します。
- SearchWPは、PDFの公開URLをSearchWP解析サーバーに送信します。
- サーバーはPDFからテキストを読み取り、それを返します。
- SearchWPは、検索できるように、そのテキストをドキュメントのコンテンツとして保存します。
インデックスが構築されている間、すべてがバックグラウンドで自動的に行われます。拡張機能がアクティブになれば、管理する必要はありません。
セキュリティとプライバシー
オフサイトPDF解析拡張機能を使用する際に考慮すべきセキュリティ上のポイントをいくつかご紹介します。
- ファイルはテキストのみで、一時的なものです。PDFは、テキストを読み取るのに十分な時間だけSearchWPサーバーに保持されます。抽出されたプレーンテキストのみがサイトに返送され、解析直後にダウンロードされたPDFはSearchWPサーバーから削除されます。保存または保持されることはありません。
- 送信されるもの:PDFの公開URL、サイトURL、およびライセンスキー(リクエストが許可されていることを確認するために使用されます)。
- 公開アクセスが必要です。ログインまたはアクセス制限の後ろにあるファイルには到達できないため、解析されません。
- 同じドメインのみ。PDFは、登録済みのサイトと同じドメインにホストされている必要があります。異なるドメインまたは一部のCDNから提供されるファイルは拒否されます。
- ライセンスはサイトごとにチェックされます。サーバーは、解析する前にライセンスがリクエストサイトで有効であることを確認し、そのチェックを約1週間キャッシュします。
エラー画面とPDFの再導入
PDFが解析できない場合、拡張機能はその理由を、SearchWP → 設定 → 拡張機能 → オフサイトPDF解析の下にあるエラー画面に記録します。失敗した各ドキュメントは、ID、タイトル、および記録されたエラーとともに一覧表示されます。

PDFでエラーが発生すると、拡張機能は意図的に再試行を停止します。失敗を記録し、そのドキュメントの保存されたコンテンツを空にし、エントリをスキップするようにマークするため、SearchWPはループしたり、ローカルで読み取ることにフォールバックしたりしません。
根本的な原因(ほとんどの場合、PDFを公開可能にすること)を修正したら、それらのドキュメントを再度キューに入れることができます。影響を受けるエントリをチェックし、チェックしたものを再導入をクリックします。これにより、エラーとスキップマーカーがクリアされ、PDFがインデックス作成のために再キューイングされます。
要件と制限事項
- サイトのアクティブなSearchWP Proライセンス。
- 標準PDFのみ。ファイルは.pdfで終わる必要があり、実際のPDFである必要があります。パスワードで保護されたPDFはサポートされていません。
- 各PDFの公開、同じドメインのURL(セキュリティとプライバシーを参照)。
- リクエストの時間制限。 サイトは応答を最大100秒間待ちます。非常に大きまたは複雑なPDFはそれを超える可能性があり、その場合失敗してエラー画面にフラグが立てられます。
開発者向け
解析リクエストが送信されるエンドポイントを変更したい場合、例えば解析サーバーの独自のコピーを指すようにしたい場合は、次のカスタムフックを使用できます。
add_filter( 'searchwp_offsite_pdf_parser_url', function () {
return 'https://your-parser.example.com/';
} );
このようなカスタムコードは、 SearchWPカスタマイズプラグイン またはWPCodeのようなスニペットプラグインを通じて追加してください。
トラブルシューティング
- PDFにコンテンツがない、またはコード
8 が表示される。 ファイル(またはサイト全体)が公開からアクセスできません。プライベートまたはシークレットブラウザウィンドウでPDFのURLを開いてください。そこでも読み込めない場合、SearchWPサーバーも読み込めません。また、PDFがサイトと同じドメイン上にあることを確認してください。
- ローカルで解析されるようです。 Xpdf拡張機能が無効になっていることを確認してください。Xpdfがアクティブな間、SearchWPはPDFをオフサイトに送信する代わりにサーバーで読み取ります。
- 大きまたは複雑なPDFが失敗する。 これは通常、100秒の時間制限、パスワードで保護されたファイル、または標準外のファイルです。記録されたコードについては、エラー画面を確認してください。
- ライセンスエラー、またはコード
0。 このサイトでProライセンスがアクティブであることを確認してください。
- 実際にインデックスされたものを確認してください。 保存されたテキストを確認するには、 ドキュメントコンテンツのカスタマイズと検証 を使用してください。
- 拡張機能の動作を確認するには、 デバッグ をオンにしてください。送信されたリクエスト、受信した応答、長さとチェックサムが一致したかどうか、およびエラーについて
[Offsite PDF] 行を記録します。