Troubleshooting#
Incomplete NexaPress menu#
Activate the license key via the NexaPress menu and then reload the WordPress Admin. If this fails, check the expiration date, domain, activation limit, HTTPS, outbound connections, firewall, and server time.
Generate button inactive#
Ensure the license is active, the plugin status is Active, quota is available, and there are campaigns and keywords ready to be processed.
Articles not being generated#
Check the following:
- The campaign is active and contains keywords marked as Not generated.
- Quota is still available.
- AI engine and credentials are correct.
- The server can access the API via HTTPS.
- WP-Cron is running.
- WordPress has write access to the Media Library.
- The activity log and keyword status show no errors.
Campaign appears to have stopped#
Background jobs continue to run even after the page is closed. Check NexaPress > Keywords or Posts > All Posts. If the status remains unchanged, check WP-Cron.
Scheduler not generating articles#
Ensure NexaPress and the campaign are Active, the license and quota are valid, there are unprocessed keywords, and WP-Cron or a server cron job is running. For low-traffic websites, trigger wp-cron.php periodically using a server cron job.
XLSX import failed#
Enable the Zip and SimpleXML PHP extensions, or save the file as a CSV. Ensure the file size does not exceed 5 MB.
Images not appearing#
Ensure Maximum Images is not set to 0, the file does not exceed the Maximum Download Size, the server can download external images, the upload directory is writable, the MIME type is accepted by WordPress, and the Content API returns image data.
If WebP is not generated, check for PHP image editor support. NexaPress defaults to the optimized source format when WebP is unsupported. GIFs exceeding dimension limits are rejected to preserve the animation. A single image failure does not necessarily cause the entire article to fail.
Image detail or IndexNow key 404#
- Go to Settings > Permalinks.
- Click Save Changes.
- Clear WordPress, server, and CDN caches.
- Try the URL again.
Indexing failed#
For IndexNow, check the key format and verification file URL. For Google, ensure OpenSSL is enabled, JSON is valid, the API is active, and the service account has access to the Search Console property.
Quota status unavailable#
Local status may be unavailable when the quota service cannot be reached. The server still determines generation permissions. Check your connection and license, then try again.
Content Refresh failed to generate preview#
After clicking the Generate AI Refresh Preview button, the process runs via a background queue. You do not need to remain on the same page. Check NexaPress > Logs and look for the content_refresh code; a "success" status provides a View refresh preview link. If the status remains "queued" or "processing," ensure WP-Cron is running and not blocked by DISABLE_WP_CRON, a firewall, or Basic Auth.
If the URL changes to include refresh_error=1, the page displays a failure notice. Check the following:
- The article status is still "published" and the URL is accessible without logging in.
- The Content API can access the article domain and is not blocked by a firewall, maintenance mode, Basic Auth, or IP allowlist.
- The license includes the Content Refresh capability and the appropriate AI scope.
- The token has not expired; refresh or reactivate the license if necessary.
- Default AI quota is available, or BYOK credentials are valid.
- The production endpoint uses HTTPS and does not point to a private IP. - The Content API does not accept redirects to login pages, localhost, unauthorized development domains, or different URLs.
In a Docker development environment, WordPress and the Content API must use the same development token, the nexapress-plugin product must be included in the article rewrite allowlist, and the WordPress canonical origin must be mapped to the gateway host.
If Apply Refresh & Update Published Post indicates that the article has changed since the preview, this is a "stale-source" protection mechanism. Another person or process has edited the article; generate a new preview and review it again.
The Default AI consumes one quota unit for each successful preview, including new previews for the same article. BYOK does not consume Default AI quota. The "Apply" button does not trigger the AI again and does not consume additional quota.
List or pagination not displaying correctly#
- Ensure JavaScript is not blocked by optimization or security plugins.
- Clear your browser cache after updating the plugin.
- Check the page URL and remove any
nexa_list_*parameters to return to the first page. - Campaigns, Keywords, Research History, and Logs use server-side pagination; Premium lists and Indexing Logs use the admin paginator (20 items per page).
- Content Audit checks a maximum of 500 recent NexaPress content items per load.
Premium menu not visible after upgrade#
- Go to the Status/License page.
- Refresh or verify the license.
- Ensure the Authority response includes the feature capabilities.
- Reload the WordPress Admin.
- Verify that the user has
manage_optionsor the required editorial capabilities.
Saving the Premium configuration before downgrading does not guarantee the menu will remain visible. Data is preserved, but feature runtime is disabled until the capabilities become available again.
When requesting assistance#
Include the WordPress, PHP, and NexaPress versions; the time and time zone; the steps taken; error messages; keyword/campaign status; process type; and WP-Cron status.
Never send full license keys, API keys, access tokens, private keys, Google Service Account JSON files, or WordPress configurations containing credentials.