WordPress plugin profile

StructuraWP – Autonomous AI Blog Writer & Scheduler

Autonomous AI content architect for WordPress — writes, formats, and publishes Gutenberg-native blog posts on a schedule.

Version2.22.0
Active installsNew
Rating0.0 / 5
Tested toWP 7.1

About this plugin

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 Real Gutenberg blocks. Output is serialized WordPress blocks, not Markdown or pasted HTML — clean in the editor, theme-agnostic, and portable if you ever switch tools. Persona engine. Author multiple writing voices and assign one per campaign so different post types sound like different writers. 20+ point SEO protocol. Every post passes a structured technical SEO checklist (title, slug, meta description, internal linking, keyphrase placement, readability, E-E-A-T writing signals, SERP entity coverage) before it publishes. Compatible with Yoast and RankMath. Channel fan-out. When a post publishes, Structura can notify your team chat (Slack, Discord, Telegram, generic webhooks) or cross-post to social platforms with channel-specific copy. Multi-language. Generate content in any language. Language choice is not gated by tier — pick whichever language you want per campaign or per post. Translation-ready UI. The plugin admin ships in English, German, Spanish, and French. 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: Paragraph blocks only (no headings, lists, callouts, or images). Posts capped at 500 words (all non-paid tiers share this cap). A subset of the SEO protocol. Manual generation only — no campaigns, no schedules. OpenAI is the only provider available at this level. To unlock more, sign in (free) at app.structurawp.com and get a free license: Free license — adds heading blocks, the persona engine, more SEO rules, featured-image generation, and Google Gemini as a second BYOK provider option. BYOK (paid) — full Gutenberg block library, body-image generation, the full 20+ point SEO protocol, Anthropic Claude as an additional provider, scheduled campaigns, channel fan-out, and authority-link verification. Cloud / Cloud Pro (paid) — Structura provisions the AI provider for you, with one bill from Structura instead of separate provider charges. Cloud Pro adds frontier AI models, photorealistic imagery, and AI video generation (Shorts/TikTok/Reels). See structurawp.com/pricing for details. 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. External services 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): Anonymous workspace bootstrap (once, right after you opt in): a random install ID generated locally by WordPress, your site’s host name, site title, WordPress version, plugin version, and the site identity bundle (site title, tagline, language, logo URL, active theme name). This creates the workspace that Anonymous Mode generation runs in. License activation: license key, site URL, site name, WordPress version, plugin version, surface identifier ( wp ), site identity bundle. Daily license health check: license key, site URL, plugin version, WordPress version. Used to detect lapsed subscriptions. Site identity sync: the site identity bundle is re-sent when you change your site title, tagline, language, or logo, so generated content keeps referring to your brand correctly. Licensed installs only. Campaign run trigger: campaign settings (persona reference, topic / keyword inputs, schedule), plugin trace ID. The cloud service generates the post body and pushes it back to the plugin via a signed webhook. Post publish event: post ID, campaign ID, post URL, post title, publish state, edit URL, locale. Used by the Channels feature to fan out notifications to connected channels (Slack, Discord, etc.). Run acknowledgement and uploads: generated post artefacts and per-step diagnostic metadata, so the post is associated with the cloud-side run history. Generated images: downloaded from Structura Cloud’s storage ( storage.googleapis.com , time-limited signed URLs) into your Media Library. Every request carries the plugin version and, once one exists, your activation’s bearer token so the cloud can attribute the call to your workspace. This service is provided by Xerx, the plugin author. Customer portal: app.structurawp.com/ Terms of service: www.structurawp.com/terms Privacy policy: www.structurawp.com/privacy 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. Slack — terms: slack.com/terms-of-service , privacy: slack.com/privacy-policy Discord — terms: discord.com/terms , privacy: discord.com/privacy Telegram — terms: telegram.org/tos , privacy: telegram.org/privacy LinkedIn — terms: www.linkedin.com/legal/user-agreement , privacy: www.linkedin.com/legal/privacy-policy IndexNow (operated by Microsoft Bing) — FAQ / terms: www.indexnow.org/faq , privacy: www.microsoft.com/privacy/privacystatement Generic webhooks — a URL you own; its terms are yours. 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. Terms of service: www.structurawp.com/terms Privacy policy: www.structurawp.com/privacy 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. Terms of service: www.structurawp.com/terms Privacy policy: www.structurawp.com/privacy 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. WordPress.org terms: wordpress.org/about/license/ WordPress.org privacy: wordpress.org/about/privacy/ 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. Google Cloud Storage terms: cloud.google.com/terms Google privacy policy: policies.google.com/privacy Privacy 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.