NexaPress#
NexaPress is a WordPress content automation plugin that turns keywords into ready-to-publish articles in one workflow. Campaigns, keyword queues, media, SEO metadata, schema, internal links, and indexing can be managed directly from the WordPress dashboard.
This documentation covers the core features of NexaPress as well as Premium P1 and P2 capabilities as of NexaPress 0.6.0. The menus visible in WordPress depend on the active license plan and capabilities.
Workflow Summary#
- Activate the license and connect the AI engine.
- Create a campaign, then specify the language, niche, category, and author.
- Add keywords manually or import them from CSV, TXT, and XLSX.
- Run a single article manually or process a campaign in the background.
- NexaPress processes content, media, SEO, schema, and internal links.
- Results are saved as drafts or published immediately according to the Post Status.
- Articles that are published immediately can be submitted to the indexing service.
For first-time use, proceed to the Daily Operations Guide. For licensed features, see Premium Features P1 and Premium Features P2 before changing production campaigns.
Article production and campaigns#
Automatic generation and publishing#
NexaPress creates WordPress articles from keywords via the Content API. In a single process, the plugin handles content, categories, tags, authors, media, SEO metadata, structured data, and publication.
Campaign management#
You can create multiple campaigns with the following settings:
- Name and active/inactive status
- Keyword list
- Category
- Author
The active/inactive status can also be changed directly from the icon in the Campaign List without opening the edit page.
The Run and Post Campaign feature runs as a background job via WP-Cron. The process continues running even when the admin page is closed, the user switches pages, or the browser connection is lost. Each job is monitored using a request ID.
Bulk article queue#
Multiple keywords in a campaign can be processed through a queue. The dashboard displays the progress per article, activity log, writing status, and image upload status.
Keyword Management and Import#
Keywords can be added in bulk, edited, or deleted. Each keyword has a status of not generated, processing, or generated. Articles that have already been created can also be opened directly from the list.
Keyword lists can be imported from:
- CSV
- TXT
- Excel XLSX
Excel and CSV templates are available for download. NexaPress also protects keywords currently being processed from being picked up by parallel jobs.
Keyword Research Assistant#
Keyword research is performed via the API and the results are stored as a history. Available data includes:
- Monthly search volume
- Keyword difficulty
- Estimated content CTR
AI Engines and Content Settings#
NexaPress supports the following engine options:
- Default or Current Engine
- OpenAI
- Gemini
- Claude
- Groq
- DeepSeek
- Z.ai
- OpenRouter
API keys and optional models can be set separately for each engine.
Content can be created in Indonesian or English. The niche selection adjusts the language and is sent to the API as the context for creating the article. Campaigns also support default authors, random authors, or specific WordPress authors.
For categories, you can use recommendations from the API or specify WordPress categories manually. If a recommended category isn't available, the plugin can create a localized category with an appropriate name.
Article Media#
Automatic Images#
NexaPress retrieves external images returned by the Content API, including those from Unsplash or Bing, then:
- Uploads the image to the WordPress Media Library
- Inserts the image into the article
- Sets alt text, title, caption, and image source
- Specifies the featured image
- Sets the number and position of images within the content
Searching for and using multiple images does not increase article quota usage.
Before entering the Media Library, images are checked for MIME and download limits, reduced proportionally to the dimension limits, and then compressed. Admins can set file size, dimensions, quality, and optional WebP conversion.
Gallery and image detail pages#
All successfully uploaded images can be displayed as a gallery below the article.
Each image can also be redirected to a detail page with a user-friendly URL, image, caption, summary, breadcrumb schema, and a link back to the main article. If this feature is disabled, image links point directly to the media file.
SEO, GEO, and Structured Data#
SEO Metadata and Audits#
The plugin stores the SEO score, SEO title, SEO description, focus keyword, and meta description in post meta. The WordPress post list displays an SEO score column as well as a GEO score or local audit.
GEO-Ready Content Data#
The v3 API response supports structured data in the following forms:
- Entities
- Sections
- HTTPS references and supported sections
- FAQ
- Search Intent
- Content Classification
- Metadata Generation
Data is normalized and sanitized before use. The original API response remains as an envelope to maintain compatibility.
References, Citations, and FAQs#
Validated references and citations can be displayed in the appropriate article section. Public references must use HTTPS and must link to a properly displayed heading.
FAQs from the API can also be displayed automatically. The FAQPage schema is only published if the FAQ is visible to visitors.
Structured Data Schema#
NexaPress supports JSON-LD for:
- Article
- Person
- Organization
- Breadcrumb
- FAQPage
- HowTo
The HowTo schema is only published if there are at least two complete steps leading to the visible section of the article. The coexistence mechanism helps prevent schema duplication with other SEO plugins.
If the API doesn't provide the Article schema, the plugin creates a local fallback using WordPress post data.
Automatic Internal Linking#
Read Also blocks can be added based on tags, categories, or a combination of both. Admins can set the label, number of links, position after a specific paragraph, and semantic link confidence threshold.
Automatic Indexing#
After an article is published, the URL can be sent via a background job to:
- IndexNow
- Google Indexing API
The indexing log displays the latest submission status, service, HTTP code, submission time, and sanitized result details. Temporary failures can be rescheduled without delaying article publication.
Quota and Scheduling#
Integrated Quota#
The dashboard displays the active package, daily article limit, usage amount, remaining quota, reset time, a progress bar, and a warning when the quota is almost exhausted. Server status is the primary data source, not a local counter.
Each article consumes one quota, whether created manually, through a bulk campaign, or using the scheduler. The following activities do not count towards the article quota:
- Keyword research
- Indexing
- Plugin updates
- Image search
Manual generation, bulk campaigns, and the scheduler follow the same quota rules. When the quota is exhausted, remaining jobs are stopped until the reset time, and cron does not continue to flood the API.
Smart Daily Scheduler#
The scheduler distributes article jobs throughout the remaining day based on:
- Remaining daily server quota
- Number of keywords in active campaigns
- Time zone quota from the package
- Already scheduled jobs
Health checks and watchdogs help recover missed schedules, perform controlled catch-up, prevent duplicate events, and handle time zone and DST changes.
Admins can also use Generate Now to create a single article immediately for testing or quick publication. The quota status is displayed before the process begins.
Reliability and duplication protection#
Each article request uses a stable UUID request ID. Technical retries retain the same ID to prevent duplicate articles or quota usage.
Database-backed locks and keyword reservations protect concurrent manual, AJAX, and cron processes from race conditions.
License, updates, and security#
Secure license activation#
The plugin can only be used after the license is activated and verified. The licensing system supports activation, deactivation, expiry, domain binding, packages, daily quotas, and signed access tokens.
RS256 token validation checks issuer, audience, product, domain, service, scopes, and expiration. Raw license keys are not sent to the Content API.
Secure plugin update#
Update checks can be run automatically or manually via the license server. Updater metadata is signed, package sources are restricted, and package sizes and checksums are verified before updates.
Production hardening#
Protections for production workflows include:
- HTTPS endpoint validation
- Response sanitization
- Credential redaction in errors and logs
- Allowlist endpoint indexing
- Race condition prevention
- Timezone and DST compatibility
- Allowlist-based release packaging
Migration, retention, and uninstallation#
NexaPress can migrate legacy acc_* data, including settings, campaigns, keyword history, research history, post meta, and scheduled hooks. Migration does not delete the verified new license state.
Structured response data is limited in size, and old data is gradually purged through scheduled retention. When a plugin is uninstalled, scheduled hooks are purged, while content and user data are retained by default.