トラブルシューティング
よくある問題とその解決方法をまとめています。
よくある問題と解決策
XML解析が「失敗」になる
原因: URLが正しくない、サーバーがダウン、XMLの構文エラーなどが考えられます。
解決策:
- URLをブラウザで直接開いて確認
- XMLバリデータでXMLの構文をチェック
- サーバーのアクセスログでエラーを確認
URLの先頭に https:// が付いているか確認してください。省略した場合は自動補完されますが、httpとhttpsで結果が異なる場合があります。
到達性チェックがタイムアウトする
原因: サーバーの応答が遅い、大量のURLを処理中などが考えられます。
解決策:
- 1URLあたりのタイムアウトが設定されています
- サーバーのレスポンスタイムを確認
- 必要に応じてPHPのmax_execution_timeを延長
SSL証明書は常に検証されます。証明書が無効なサイトはエラーとして報告されます。証明書の期限切れや中間証明書の設定漏れがないか、対象サイト側をご確認ください。
メニューが表示されない / 設定画面にアクセスできない
原因: 本プラグインは管理者専用です。
解決策:
- 管理者権限(
manage_options)を持つユーザーでログインしてください - 編集者や購読者などの権限では、メニューも設定画面も表示されません
「内部ネットワーク宛のURLは許可されていません」と表示される
原因: 意図しない内部アクセスを防ぐため、プライベートIP・ループバック・リンクローカル宛のURLは既定で拒否されます。
解決策:
- 公開されているURL(外部から到達できるドメイン)を指定してください
- ローカル開発環境や社内サイトマップを意図的に監視する場合は、次のフィルタで許可できます
add_filter( 'kashiwazaki_xml_vitalcheck_allow_private_hosts', '__return_true' );
このフィルタを有効にすると内部ネットワーク宛のリクエストが可能になります。URLリストを編集できるのが信頼できる管理者のみであることを確認してください。
「http / https 以外のスキームは許可されていません」と表示される
原因: 監視対象は http と https のURLのみです。
解決策: URLが http:// または https:// で始まっているか確認してください。ポートを指定する場合は 80 / 443 / 8080 のいずれか、またはサイト自身と同じポートである必要があります。
スケジュールが実行されない
原因: WordPress Cronの仕組み上、サイトへのアクセスが必要です。
解決策:
- wp-cron.php がサーバーから実行可能か確認
- DISABLE_WP_CRON が true に設定されていないか確認
- 外部cronサービスの利用を検討(wp-cron.php を定期的にHTTPアクセス)
メール通知が届かない
原因: wp_mail()の設定、SMTPの問題などが考えられます。
解決策:
- 通知先メールアドレスが正しいか確認
- WP Mail SMTPなどのプラグインでSMTP設定を確認
- メールがスパムフォルダに分類されていないか確認
処理が途中で止まった
原因: PHPのタイムアウト、メモリ不足などが考えられます。
解決策:
- 一時データは一定時間後に自動削除されます
- ページをリロードして再実行
- php.ini の max_execution_time と memory_limit を確認
動作要件
| 項目 | 要件 |
|---|---|
| WordPress | 5.8 以上 |
| PHP | 7.4 以上 |
| PHP拡張 | cURL, SimpleXML, libxml |
| ブラウザ | モダンブラウザ(Chrome, Firefox, Safari, Edge) |
技術仕様
- データ保存: wp_optionsテーブル(カスタムテーブルは使用しません)
- AJAX通信: WordPress標準のadmin-ajax.phpを使用
- User-Agent: 本プラグイン専用のUser-Agentを送出
- チャンクサイズ: 到達性チェックは少数ずつのチャンクに分割(1リクエストの処理時間を抑えるため)