Booking Packageのエラーリストと原因・対処方法を徹底解説 - AJAX通信エラーやnonceの検証エラー
お知らせ この記事は2024年6月1日に追記...
Booking Packageは、WordPress向けに作られた多機能予約システムプラグインです。このプラグインは、ホテル、ジム、レストラン、英会話、建設業、各種イベント等幅広い業種に対応しており、事業者は予約管理を自動化し、お客様からの予約受付を24時間体制で行えるようになります。これにより、顧客満足度向上と伴に、オペレーションコストの削減が期待できます。
このプラグインは簡単にWordPress内でインストールできるため、技術的な専門知識がない方でも自分でホームページに予約システムを導入できる点、また、直感的な感覚で操作ができるUI/UXで作られているため、特別なトレーニングを受けることなくすぐに予約システムを開始できる点が最大の魅力です。
Booking Packageの機能一覧です。無料で利用できる機能には【無料機能】、有料で利用できる機能には【有料機能】と表記しています。
UI(見た目)のカスタマイズが可能でオンライン予約フォームを提供し、顧客が簡単に予約できるようにします。
予約可能な日時をカレンダーで表示し、ユーザーが直感的に予約日を選べます。
予約の確認、リマインダー、キャンセル情報などを自動的にメールで通知します。
英語、デンマーク語、スペイン語、ロシア語、日本語、中国語(简化的字符预订系统)、台湾語(繁體中文預訂系統)等の言語でこの予約システムを利用できるため、国際的なビジネスでもご利用できます。
営業時間、休業日、特別休業日等の設定が可能です。
ご予約の自動承認または管理者による手動承認が可能です。
ホームページの好きな場所に予約フォームやカレンダーを設置できます。
過去にご予約された顧客情報を管理し、履歴を確認できます。
異なるサービスやイベントを一元管理できます。
PayPal、Stripeなどのお支払いゲートウェイと連携し、オンラインでの支払い処理を簡単に行えるようにできます。
ご利用可能なリソース(部屋、設備など)を管理し、重複予約を防止します。
ご約フォームに必要な追加情報フィールドを追加・削除できます。
ご予約データに基づく統計データが確認でき今後の改善に利用できます。
① WordPressダッシュボードにログインします。
② 左側のメニューから「プラグイン」を選択し、「新規追加」をクリックします。
③ 検索ボックスに「Booking Package」と入力して検索します。
④ Booking Packageの「今すぐインストール」ボタンをクリックします。
⑤ インストールが完了したら、「有効化」ボタンをクリックしてプラグインを有効にします。
エラーが表示されてWordPress管理画面上からはプラグインがインストールできない場合があります。その際は以下の手順に従ってインストールを行ってください。
① Booking PackageのZIPファイルを公式サイトからダウンロード(青いボタン)。
②管理画面の左側のメニューから「プラグイン」を選択し、「プラグインのアップロード」をクリックします。
③「今すぐインストール」をクリックします。
原因: セキュリティプラグインがAJAX通信をブロックしている、Nonce(ワンタイムトークン)が期限切れや正しく生成されていない、JavaScriptエラー、クロスオリジンポリシーの影響などが考えられます。
対処法: Booking Packageの設定で「公開ページでのAJAX通信のURL」をデフォルトからドメインのみに変更し、「公開ページでのAJAX通信でNonceの値の検証で使う関数」をcheck_ajax_referer()に設定します。また、プラグインのバージョンをダウングレードすることも有効です 。
原因: .htaccessファイルの記述ミス、PHPやCGIのコードエラー、ファイルのパーミッション設定不備、Googlebotのクローリングによる負荷などが原因となります。
対処法: .htaccessファイルの記述を確認し、必要に応じて修正します。PHPやCGIのコードをチェックし、バージョンをアップデートすることも試してください。パーミッション設定を適切に行い、Googlebotのクロール頻度を管理画面から調整することも有効です 。
原因: 他のプラグインと競合しているため、Booking Packageが正しく動作しない場合があります。
対処法: Booking Packageをインストールする前に、競合する可能性のあるプラグインを無効化または削除してください。特にセキュリティ関連のプラグインが競合することが多いです。
原因: Booking Packageに関連するJavaScriptコードにバグがある場合、正しく動作しないことがあります。対処法: ブラウザのデベロッパーツールを使ってJavaScriptエラーを確認し、必要に応じてコードを修正します。
原因: Booking Packageのアップデート後に、新しいバージョンのバグや設定の不整合が原因でエラーが発生することがあります。
対処法: プラグインを最新バージョンにアップデートするか、必要に応じて安定していた以前のバージョンにダウングレードします。アップデート後に問題が発生した場合は、公式サイトやサポートフォーラムで報告されている解決策を確認してください。
■原因
セキュリティプラグインが原因で発生するエラーの主な理由は、プラグインがAJAX通信や特定のリクエストをブロックしてしまうことです。
具体的な影響は以下の通りです:
1. AJAX通信のブロック
セキュリティプラグインが不正なリクエストを検出し、正当なAJAXリクエストまでブロックすることがあります。
2. Nonce(ワンタイムトークン)検証の失敗
セキュリティプラグインがリクエストに含まれるNonceを正しく検証できず、エラーが発生することがあります。
3. クロスオリジンポリシーの制約
クロスオリジンリソース共有(CORS)ポリシーにより、異なるドメイン間の通信が制限されることがあります。
■対策
1. セキュリティプラグインの設定調整
・AJAX通信の許可**: Booking Packageの設定で「公開ページでのAJAX通信のURL」をデフォルトからドメインのみに変更します。また、「公開ページでのAJAX通信でNonceの値の検証で使う関数」を`check_ajax_referer()`に設定することで、Nonce検証の問題を解消できます。
・セキュリティルールの例外設定:セキュリティプラグイン(例: Wordfence, iThemes Securityなど)で特定のリクエストやURLをホワイトリストに追加し、ブロックされないように設定します。
2. プラグインのバージョン管理
・プラグインのバージョンを最新に保つか、必要に応じて安定した以前のバージョンにダウングレードします。これにより、互換性の問題を回避できます。
3. JavaScriptエラーの修正
・ブラウザのデベロッパーツールを使用してJavaScriptエラーを確認し、必要に応じてコードを修正します。
4. サーバー設定の変更
・サーバーのCORS設定を確認し、必要に応じて適切な設定を行います。これにより、異なるドメイン間の通信が正しく行えるようになります。
対応方法① 設定変更
Booking Package > 設定の『公開ページでのAJAX通信のURLを選択』をデフォルト設定からドメインのみに変更。『公開ページでのAJAX通信でNonceの値の検証で使う関数を選択』はcheck_ajax_referer()を選択。
対応方法② BookingPackageバージョンダウングレード
1. バックアップ作成
プラグインのデータや設定に影響を与える可能性があるため、作業を開始する前にWordPressサイト全体のバックアップを取ります。
2. プラグインの無効化
WordPressダッシュボードから「プラグイン」セクションにアクセスし、Booking Packageプラグインを無効化します。
3. 現在のプラグインの削除
無効化した後、同じ画面からプラグインを削除します。この操作でプラグインファイルは削除されますが、データベース内のデータは残ります。
4. プラグインの新しい/古いバージョンのダウンロード
特定のバージョンのプラグインファイル(ZIP形式)を公式サイトや他の信頼できるソースからダウンロードします。
5. プラグインのアップロードとインストール
ダッシュボードの「プラグイン」>「新規追加」>「プラグインのアップロード」からダウンロードしたZIPファイルをアップロードします。「今すぐインストール」をクリックし、インストールが完了したら「プラグインを有効化」をクリックします。
6. 動作確認と設定の再確認
プラグインが正常に動作しているか、以前の設定が正しく反映されているかを確認します。必要に応じて設定を調整します。
7. トラブルシューティング
もしプラグインが期待通りに動作しない場合は、バックアップから復元を行うか、プラグインのサポートに問い合わせます。
対応方法③ キャッシュ時間短縮
キャッシュには、サーバー側、アプリケーション内、ブラウザ等のキャッシュがあります。それらのキャッシュ時間を24時間、もしくは12時間に設定すると問題が解消される事例もあります。
対応方法① 最新版のプラグインを再インストール
対応方法② ファイルのアクセス権限を755に変更
対応方法③ 類似プラグインやセキュリティープラグインをOFF
この問題はGoogleが2024年2月1日からスパムメール対策を強化したため発生しているものがほとんどです。この問題を解決するには以下の方法をおすすめします。
対応方法①SMTPからメールを送信する。WP Mail SMTPプラグインを使うと便利です。
いかがでしたか。この記事では、WordPress用の予約システムプラグイン「Booking Package」の概要、機能一覧(説明)、インストール方法、トラブルシューティングとついて深く掘り下げてきました。予約がシステムが必要な方はまずインストールを行い実際に触ってみることをお勧めします。この記事が皆様のお役に立てれば幸いです。