Skip to main content

Troubleshooting

A page is missing from the scan

The most common reasons:

  • It is password-protected. These are never scanned - there is no way to render them without the password. Remove the password and the page is picked up on the next scan.
  • It is a custom post type, WooCommerce product, or unpublished (draft, scheduled, pending or private). These are free to scan but off by default. Switch on the matching option in Settings - Custom post types or Unpublished content - and they are included from the next scan.
  • It is excluded from scanning. Re-include it from the Exclusions screen (Manual Exclusions tab), or from the Posts / Pages screen. On paid plans, check whether an exclusion rule matches it.
  • Its address redirects somewhere else. A page whose address answers with a redirect to a different page - a retired tag archive that now sends visitors to the homepage, say - is not a page of its own to audit, so the scan leaves it out rather than recording the other page's links under its name. A redirect that only tidies the address, such as adding or removing a trailing slash, is followed and the page is scanned normally.
  • It may be "not checkable". Some hosts refuse automated requests; the plugin counts these separately from real failures, and never as an issue. On Premium you can send a browser user-agent, which helps with hosts that decide on the user-agent alone - but not with the large platforms, which identify automated visitors by the way the connection itself is made.
  • It is an embed behind a cookie or consent banner. Until a visitor accepts cookies, the banner swaps the embed's real address - a map, a video - for a blank placeholder. The audit reads the real address the banner is holding back and checks that, so a consent-blocked embed is never reported as broken just for being blocked. If it does show as broken, the real address is the problem.
  • A temporary error (such as a timeout) is retried later in the same scan. If a slow host keeps timing out, raise the check timeout on the Settings screen.
  • It may need a parameter you are ignoring. If you added a URL parameter to the ignore list that the destination actually needs, the checked URL can differ from the real one. Remove that parameter from the list and re-scan. (This cannot happen with the built-in defaults - they are all cache-busters and tracking tags that never change what loads.)

The same file is counted as many different URLs

This is usually a cache-buster or tracking parameter (like ?ver=123) that changes on every render. Add the parameter to the ignore list on the Settings screen, and each real file is checked once. On Premium, the URL Parameter Learning Engine spots these for you and suggests them with evidence.

A scan reports an error on some pages

The plugin scans a page by requesting it on your own server. On some configurations behind aggressive Cloudflare bot protection this self-request can be challenged. The plugin retries and falls back to a direct local fetch; if that also fails it reports an actionable error for those items rather than silently skipping them. A page whose address redirects to a different page is not an error either - it is simply left out; see "A page is missing from the scan" above.

A scheduled scan ran later than the time I set (paid)

On standard shared hosting, WordPress background tasks run on site visits, so a scan scheduled for 09:00 starts on the first visit after 09:00. On low-traffic sites this can be noticeably later. A server-side cron calling wp-cron.php removes the delay but is never required.

The email report didn't arrive (paid)

Reports are sent with WordPress's standard mail function. On hosts without proper mail configuration, messages may be delayed, spam-foldered or dropped. An SMTP plugin is recommended for reliable delivery. Send failures are recorded in the plugin log (Settings > Logs).

Safe Browsing says my key is invalid (paid)

The "Test API key" button reports exactly what Google returned. The usual causes are a mistyped key, the Safe Browsing API not being enabled for the key's Google Cloud project, or an application restriction on the key that blocks server-side requests. The Logs tab records the full response for diagnosis. Note that key changes at Google can take a few minutes to take effect.