Built-in Self-Test#

Speed in China includes a self-test diagnostic tool that automatically checks your site's configuration. It runs when you first activate the plugin and can be re-run at any time from the Speed Test tab.

The self-test checks:

  • Outbound HTTPS connectivity — Can your server reach the Speed in China API?
  • API response validation — Is the API returning valid data?
  • WordPress cron functionality — Is WP-Cron working for scheduled tests?
  • PHP version compatibility — Is your PHP version supported?
  • Write permissions — Can the plugin write to the uploads directory (needed for Google Font localization)?

Speed Test Fails or Returns No Results#

Cannot connect to API#

If you see an error about failing to connect to the Speed in China API:

  • Check outbound connections — Your server must be able to make outbound HTTPS requests to gauchoplugins.com. Some hosting providers block outbound connections by default.
  • Check firewall rules — Ensure your server firewall allows outbound connections on port 443.
  • Check PHP cURL — The plugin uses WordPress's HTTP API, which requires either cURL or allow_url_fopen to be enabled.

Test times out#

Speed tests poll the Globalping API for results, waiting up to 30 seconds. If the test times out:

  • The Globalping network may be experiencing high load. Try again in a few minutes.
  • Your PHP execution time limit may be too low. Ensure max_execution_time is at least 60 seconds.
  • If you're behind a reverse proxy (CloudFlare, Nginx), ensure it allows long-running AJAX requests.

Results show "Unknown" location#

If the location field shows "Unknown" instead of a city name, the Globalping API returned probe data without location metadata. This is uncommon but can happen with newly added probes. The speed test data itself is still valid — only the city label is missing.

Google Font Localization Issues#

Fonts not detected#

The plugin only detects Google Fonts loaded via WordPress's wp_enqueue_style() function. Fonts loaded via:

  • Hardcoded <link> tags in theme templates
  • CSS @import rules inside stylesheets
  • JavaScript-injected <link> elements

...will not be detected. Contact your theme developer to properly enqueue fonts via WordPress APIs.

Font download fails#

If fonts fail to download from Google's servers:

  • Ensure your server can make outbound HTTPS requests to fonts.googleapis.com and fonts.gstatic.com.
  • Check that wp-content/uploads/ is writable. The plugin creates a sic-fonts subdirectory there.
  • Try clearing the font cache and re-enabling localization.

Fonts look broken after enabling localization#

This can happen if your site is behind a CDN that caches CSS with the old Google Font URLs. Clear your CDN cache and any page caches after enabling Google Font localization.

Scheduling Issues#

Scheduled tests aren't running#

WP-Cron relies on site visits to trigger events. On low-traffic sites:

  1. Set up a system cron job to trigger wp-cron.php every 15 minutes.
  2. Disable WP-Cron in wp-config.php with define('DISABLE_WP_CRON', true);

See Scheduled Testing for detailed instructions.

Wrong frequency available#

If a frequency option is grayed out or missing, it may exceed your plan's limit:

  • Personal: Weekly max
  • PRO: Daily max
  • Agency: Hourly max

Upgrade your plan to access higher frequencies.

Still Need Help?#

If none of the above resolves your issue:

  1. Enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php to capture error details.
  2. Check wp-content/debug.log for any errors prefixed with [Speed in China].
  3. Submit a support ticket with the error details, your WordPress version, PHP version, and any relevant log entries.