トラブルシューティング

PrivateStater 利用時によくある問題と対処法です。

よくある問題

スクリプトが読み込まれない

症状: コンソールに [privatestater.js] Missing prstSite config エラー

原因: スクリプトより前に PrivateStaterConfig が定義されていない

対処:

<!-- Must be in this order -->
<script>
  window.PrivateStaterConfig = { prstSite: "YOUR_SITE_ID" };
</script>
<script src="https://privatestater.com/privatestater.js"></script>

host_mismatch エラー

症状: コンソールに host_mismatch エラー

原因: リクエストの Origin がダッシュボード登録の Host と一致しない

対処:

  1. ダッシュボードのウェブサイト ホスト を確認します
  2. 実際にアクセスしているドメインと一致するか確認します
  3. サブドメインの有無を確認します (例: www.example.comexample.com)

localhost で動作しない

原因: 既定では localhost アクセスがブロックされます

対処:

  1. ダッシュボード > ウェブサイト > [機能] > 設定
  2. localhost を許可 を有効にします

注意: キャプチャ、フィードバックなど機能ごとに別途設定が必要です。


広告ブロッカーによるブロック

症状: スクリプト読み込み失敗または API リクエストのブロック

原因: 一部の広告ブロッカーがアナリティクス関連スクリプトをブロックします

対処:


アナリティクスの問題

訪問者統計が表示されない

確認項目:

  1. スクリプト設置の確認

    console.log(window.PrivateStater); // Object should be printed
    
  2. websiteId の確認

    • ダッシュボードで作成した ID と一致しているか
  3. ネットワークリクエストの確認

    • ブラウザ開発者ツール > ネットワーク
    • /api/analytics/collect/visit リクエストがあるか
    • レスポンスが 204 か
  4. 反映までの時間

    • 統計はおおよそ 1 分以内に反映されます

訪問者が重複してカウントされる

原因ではありません: これは正常な動作です。

説明: PrivateStater は 1 時間単位 で重複を除きます。別の時間帯の再訪問は別カウントになります。

例:


クリック追跡が動かない

確認項目:

  1. 関数呼び出しの確認

    window.PrivateStater.statsClick("button_id");
    
  2. buttonId 形式の確認

    • 英数字、ハイフン、アンダースコアのみ
    • スペース不可

キャプチャの問題

キャプチャウィジェットが表示されない

確認項目:

  1. 有効化の確認

    • ダッシュボード > キャプチャ > 設定 > 有効状態
  2. data-captcha 属性の確認

    <div data-captcha="prst"></div>
    
  3. コンソールエラーの確認

    • captcha_not_enabled: キャプチャが無効
    • website_not_found: websiteId が無効

パズル検証に失敗する

原因:

対処: パズル片を正確な位置にはめ込んでください。


PoW に時間がかかりすぎる

原因: PoW 難易度が高すぎる、または PoW が有効

対処:

  1. ダッシュボード > キャプチャ > 設定
  2. PoW 難易度low に変更するか、PoW 有効 をオフにして Proof of Work をスキップする (高速だがボット耐性は下がる)

難易度別の目安時間:


トークン検証に失敗する

確認項目:

  1. トークン期限

    • トークンは 5 分で期限切れ
  2. 重複利用

    • トークンは 1 回のみ使用可能
    • 検証済みトークンは再利用できません
  3. websiteId の一致

    • クライアントとサーバーで同じ websiteId を使う
  4. API リクエスト形式

    {
        "websiteId": "my-site",
        "verifyToken": "session-id:signature"
    }
    

honeypot_triggered エラー

原因: ヘニーポット欄に入力があった (ボットと判定)

確認項目:


フィードバックの問題

フィードバックボタンが表示されない

確認項目:

  1. 有効化の確認

    • ダッシュボード > フィードバック > 設定 > 有効状態
  2. z-index の競合

    • 他要素に隠れている可能性
    • フィードバックボタンの z-index: 999998

スクリーンショット添付に失敗する

原因:

対処:


フィードバックが送信されない

確認項目:

  1. 必須データの確認

    • 評価、テキスト、スクリーンショットのいずれか 1 つ以上が必要
  2. レート制限の確認

    • 1 分あたり 10 件まで
  3. ネットワークリクエストの確認

    • /api/feedback/submit のレスポンスを確認
  4. 技術情報フィールド (API 直接呼び出し時)

    • technicalAttachment を boolean (true または false) で含める

エラーコード一覧

エラーコード 原因 対処
missing_required_fields 必須フィールド不足 リクエストボディを確認
invalid_website_id websiteId 形式が無効 ID 形式を確認 (小文字、数字、ハイフン)
website_not_found ウェブサイトが存在しない ダッシュボードで作成済みか確認
host_mismatch Origin と Host の不一致 ドメイン登録を確認
captcha_not_enabled キャプチャが無効 ダッシュボードで有効化
feedback_not_enabled フィードバックが無効 ダッシュボードで有効化
token_invalid_or_expired トークン期限切れ/使用済み 新しいキャプチャを開始
token_expired セッション期限切れ (5 分) 新しいキャプチャを開始
puzzle_mismatch パズル位置エラー 正確な位置にはめ込む
pow_invalid PoW ハッシュエラー 新しいキャプチャを開始
honeypot_triggered ボット検出 自動入力を無効化
empty_feedback 空のフィードバック 内容を入力
invalid_technical_attachment 技術情報フラグが無効/欠落 technicalAttachment を boolean で送信
feedback_no_content_field 設定で rating/text/screenshot がすべて無効 少なくとも 1 つのコンテンツ項目を有効化
rate_limit_* リクエスト制限超過 しばらくして再試行

追加サポート

上記で解決しない場合: