Structura turns AI content generation into a real WordPress workflow:
write a post, format it as native Gutenberg blocks, run it through a
20+ point SEO protocol, and publish — manually or on a schedule. You
keep editorial control; Structura handles the repetitive work.
Highlights
You can use Structura without creating an account. A freshly
installed Structura starts in Anonymous Mode — connect your own
OpenAI key (BYOK) and you can manually generate posts inside
wp-admin. The plugin sends nothing anywhere until you choose
Connect to Structura Cloud on its first screen; see External
services below for exactly what is shared after that. Anonymous Mode
is intentionally limited:
To unlock more, sign in (free) at app.structurawp.com and
get a free license:
The plugin’s compiled JavaScript at assets/structura.js is built
from TypeScript sources hosted publicly at
github.com/yuriy-vasilyev/structura-plugin
— see that
repository’s README for reproducible build instructions.
This plugin connects to several external services to function. The
plugin runs in Anonymous Mode without any of them, but most useful
features (campaigns, personas, channels, image generation) require
Structura Cloud.
Structura Cloud — us-central1-structura-8d158.cloudfunctions.net
What it does: runs all AI content generation, persona matching,
campaign scheduling, channel dispatch, and license verification.
Hosted on Google Cloud Firebase Functions and operated by Xerx (the
plugin author).
When it is first contacted: never on install or activation. The first
time you open the Structura admin page, the plugin shows a consent
screen that lists the data below and asks you to click Connect to
Structura Cloud. Until you do, no request of any kind leaves your
site. Entering a license key under Account & License counts as the
same opt-in. You can disconnect at any time from Account & License.
What is sent and when (all of it only after you opt in):
wp), site identitystorage.googleapis.com, time-limited signed URLs) into your MediaThis service is provided by Xerx, the plugin author.
Channel destinations — Slack, Discord, Telegram, LinkedIn, IndexNow,
generic webhooks
What it does: when you connect a channel under Structura Channels,
the webhook URL or OAuth grant you provide is sent to Structura Cloud,
which stores it encrypted and delivers your post announcements to that
destination on your behalf. The plugin itself never calls these
third-party APIs directly; it only forwards what you typed into the
connection form. No channel is connected by default.
What is sent to the destination, and when: a short announcement of
each post (title, link, channel-specific summary text and, where the
destination supports it, the featured image) every time a post
publishes through a campaign or manual run that has that channel
enabled.
Structura customer portal — app.structurawp.com
What it does: hosts your account, billing, license keys, invoices,
subscription management, and the per-workspace dashboards. The plugin
opens this URL in a browser tab when you click Connect Account /
Activate License so you can sign in and create or pick a license.
What is sent: standard browser navigation. The plugin itself does not
post data to the portal — it links you there for the OAuth-style
sign-in.
Structura marketing site — www.structurawp.com
What it does: optional cache-revalidation pings sent from the plugin
to the marketing site so the public Structura blog can mirror selected
posts. Only fires if the marketing-site integration is connected from
the plugin’s Settings page.
What is sent: post URL, revalidation tag identifiers. No content body.
WordPress.org plugin directory API — api.wordpress.org
What it does: the plugin queries api.wordpress.org/plugins/info to
detect whether the running build came from the WordPress.org directory
(so the plugin’s auto-update path can step aside cleanly when WP.org
is the source of truth).
What is sent: the plugin slug (structura). No site or user data.
Google Cloud Storage release manifest — storage.googleapis.com
What it does: when the plugin is distributed outside the WordPress.org
directory (direct download, agency-internal use), the auto-update
component checks a JSON manifest hosted on Google Cloud Storage to
discover available updates. On WordPress.org-distributed builds this
code path is disabled and no request is made.
What is sent: a static GET to a public JSON file. No site or user
data is transmitted.
Nothing leaves your site until you accept the one-time Connect to
Structura Cloud screen in wp-admin (or enter a license key). If you
would rather not, deactivate the plugin — at that point it has sent
nothing.
The plugin defaults to telemetry off. Plugin behaviour analytics
(if any) only fire after explicit opt-in from the Settings Privacy
screen.
License credentials are stored in WordPress options. The plugin’s log
table records operational metadata (run IDs, error codes, durations) —
not post bodies, prompts, or personally identifiable content.
The Wipe all data on uninstall setting (under Settings) is off
by default; uninstalling Structura keeps your campaigns, personas,
logs, and settings unless you explicitly turn the toggle on first.