> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rankraft.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# WordPress plugin troubleshooting

> Fix the common reasons data doesn't arrive, counts look low or crawlers show as spoofed.

<AccordionGroup>
  <Accordion title="Nothing appears in the dashboard">
    * Check that **Settings → RankRaft AI → Status** shows logging on and the right site key.
    * Click **Test connection**. **Site key rejected. Copy it again from the RankRaft dashboard.** means the key is wrong or was replaced.
    * Make sure your host allows outbound HTTPS to `ingest.rankraft.ai`.
    * Check **Last error** and **Queued logs** on the Status tab.
  </Accordion>

  <Accordion title="Counts look low">
    A cache is probably serving pages before WordPress runs. Click **Check cache bypass** on the Status tab, and see [CDN and page caching](/agent-analytics/wordpress/caching).
  </Accordion>

  <Accordion title="WP-cron is disabled on my host">
    Logs are sent by WP-cron every minute. If `DISABLE_WP_CRON` is set, point a system cron at `wp-cron.php` every minute. The Status tab shows the exact command, for example:

    ```bash theme={"system"}
    * * * * * curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null
    ```
  </Accordion>

  <Accordion title="Genuine crawlers show as Spoofed">
    Your site is behind a proxy or load balancer the plugin doesn't trust yet, so it's reporting the proxy's IP. Add it with the `rankraft_aa_trusted_proxies` filter. See [Trusted proxies](/agent-analytics/wordpress/security-privacy#trusted-proxies).
  </Accordion>

  <Accordion title="“N logs are waiting to be sent”">
    Logs are queued while RankRaft AI is unreachable or WP-cron isn't running. They're sent automatically once it is. After three failures in a row, sending pauses for 30 minutes before trying again. Queued rows are kept for 7 days.
  </Accordion>

  <Accordion title="The plugin says logging is paused">
    Your RankRaft AI subscription is inactive or the site was paused from the dashboard. Nothing is queued or sent while paused. Update billing, or resume the site under **Integrations → Advanced**. RankRaft AI notifies the plugin with a signed request and logging resumes on its own. **Test connection** re-checks immediately.
  </Accordion>

  <Accordion title="“The PHP Sodium extension is missing”">
    The key is being stored unencrypted. Ask your host to enable Sodium, or define `RANKRAFT_SITE_KEY` in `wp-config.php` instead.
  </Accordion>
</AccordionGroup>

## Advanced: delivery tuning

Developers can adjust delivery with filters. Every value is clamped to a safe range.

| Filter | Default | Range |
| - | - | - |
| `rankraft_aa_batch_size` | 500 | 50–1,000 |
| `rankraft_aa_flush_threshold` | 200 | 50–5,000 |
| `rankraft_aa_max_queue_size` | 100,000 | 1,000–1,000,000 |
| `rankraft_aa_retention_days` | 7 | 1–30 |
| `rankraft_aa_timeout` / `rankraft_aa_connect_timeout` | 5 s / 2 s | — |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.