Troubleshooting
Troubleshooting
Site Shows Fatal Error After Activation
- Check PHP version:
php -v→ must be 8.2+ - Check the
cybermaps_fatal_errorsoption in the database for logged errors - Verify
cybermaps.phpentry point is not corrupted - Check file permissions on
src/directory
Static Files Not Being Served
- Verify files exist on disk:
ls -la /path/to/wordpress/llms.txt - Check web server configuration: Nginx or Apache must serve the file directly
- Check
cybermaps_static_write_errorsoption for write failures - Verify directory permissions on
ABSPATH
Discovery Endpoints Return 404
- Flush rewrite rules: Settings → Permalinks → Save Changes (or
wp rewrite flush) - Verify Discovery Hub is enabled in Settings → Discovery
- Check that no other plugin is intercepting the same paths
- Try disabling the Static File Engine and test dynamic responses first
Sitemap Shows No URLs
- Verify post types are selected in Settings → Sitemaps
- Check exclusion settings: excluded post IDs, categories, or tags
- Check that posts are published (not draft, pending, or private)
- Clear sitemap cache via WP-CLI:
wp cybermaps clear_cache
Logs Table Is Empty
- Verify analytics are enabled in Settings → Logs
- Check that bot traffic is actually hitting discovery endpoints
- Check the
CrawlerRegistry: the visiting bot must match a known User-Agent - Verify the logs table exists:
SHOW TABLES LIKE '%cybermaps_logs%'
Settings Changes Not Taking Effect
- Clear any persistent object cache (memcached, Redis)
- Disable and re-enable the Static File Engine to force regeneration
- Regenerate static files manually:
wp cybermaps regenerate - Check for plugin conflicts: another plugin may be hooking into the same options
Memory Exhaustion Errors
- Increase PHP memory limit:
define('WP_MEMORY_LIMIT', '256M'); - Disable RAG chunk generation if not needed
- Reduce the
max_urls_per_chunksetting for very large sites - Consider offloading static file sync to WP-CLI instead of background processes
Plugin Check Warnings
The plugin uses phpcs:ignore comments for intentional deviations:
WordPress.DB.DirectDatabaseQuery: logs table uses$wpdbdirectly (by design)WordPress.DB.PreparedSQL.InterpolatedNotPrepared: table names in SQL (by design,$wpdb->prefixis safe)WordPress.Security.EscapeOutput.OutputNotEscaped: discovery endpoint content (integrity-checked, by design)
These are documented exceptions, not oversights.
Getting Help
- Plugin homepage: https://cybermaps.dev
- Bug reports: Include PHP version, WordPress version, and the
cybermaps_fatal_errorsoption contents - Feature requests: Include the use case and expected behavior