<div class="wp-block-smartcloud-ai-kit-feature"></div>

Architecture · Deep dive · Deployment model

AWS Deployment Wizard Architecture for WordPress Teams

A practical architecture for turning WP Suite product choices into repeatable CloudFormation deployments that live in the customer’s AWS account.

Architecture thesis: The Deployment Wizard is not a cosmetic setup screen. It is the bridge between WordPress product intent and AWS infrastructure ownership: collect a few meaningful decisions, open a CloudFormation Create stack review flow, deploy into the right account, then wire the resulting outputs back into WordPress.

Why deployment UX is part of the architecture

Most WordPress users do not want to design API Gateway, Lambda, Cognito, DynamoDB, WAF or Bedrock by hand. Most AWS architects do not want critical infrastructure to be created by a plugin that hides what it did. WP Suite needs both sides to be comfortable.

The Deployment Wizard solves that tension by staying deliberately thin. It collects product-level decisions, generates a prefilled CloudFormation flow, and lets AWS remain the place where the stack is reviewed, created and owned.

That is why this deserves its own architecture article: the provisioning model is part of the trust story. It explains how WP Suite can offer advanced AWS patterns without becoming an opaque hosted SaaS dependency.

System boundary

WP Suite / plugin settings
user chooses feature intent and a few important options
        │
        ▼
Deployment Wizard
validates choices and builds CloudFormation parameters
        │
        ▼
AWS Console → CloudFormation → Create stack (review)
customer reviews resources, parameters, IAM and outputs
        │
        ▼
Customer-owned AWS stack
Cognito / AI backend / Flow backend / protected delivery stack
        │
        ▼
CloudFormation Outputs
ApiBaseUrl, UserPoolId, role ARNs, distribution/domain details, bucket names
        │
        ▼
WordPress plugin configuration
Gatey, AI-Kit, Flow or static protection components call the deployed backend

The important boundary is ownership. WP Suite can generate the path to deployment, but the runtime belongs to the AWS account where the stack is created.

The wizard contract

Contract elementWhat the wizard ownsWhat AWS/CloudFormation owns
Decision collectionAsk only the few product decisions that change the stack shape: features, auth mode, optional protections, domains and integration values.Validate parameters, create resources, track drift/updates and expose outputs.
Template sourcePoint CloudFormation to the correct S3-hosted template artifact version.Read the template and create the declared resources in the target account/region.
Review stepSend the user to Create stack review with prefilled parameters.Show the final resource/IAM/change set context before deployment.
Post-deploy wiringTell the user which outputs must be copied into WordPress settings.Produce outputs such as API base URLs, Cognito IDs, role ARNs, bucket names or distribution settings.
Version controlExpose safe product decisions and keep developer-controlled release values out of normal user choices.Use template versions to update deployed infrastructure predictably.

Why not just deploy everything from WordPress?

A WordPress plugin can provide a friendly UI, but it should not silently become an infrastructure control plane for production AWS accounts. For CTOs and agencies, the AWS review step is not friction; it is the governance point where IAM, regions, billing, DNS and operational ownership are visible.

Hidden plugin provisioningDeployment Wizard + CloudFormationWhy WP Suite chooses the second
Easy first click, weak audit trailUser sees a CloudFormation stack in the AWS accountInfrastructure remains discoverable by the customer or agency.
Plugin needs broad AWS credentialsAWS Console handles stack creation permissionsWP Suite does not need to store long-lived customer cloud credentials.
Hard to reproduce across clientsParameters and outputs form a repeatable contractAgencies can write runbooks and compare environments.
Vendor account may own runtimeCustomer account owns runtime resourcesData, logs, costs and security controls stay closer to the customer.

Parameter design: ask less, not hide more

A good deployment wizard does not expose every CloudFormation parameter. It exposes the decisions that change the architecture and hides the ones that belong to the publishing/release process. For example, an AI backend wizard may ask which frontend features and protections are needed, while keeping DeploymentVersion developer-controlled.

Feature toggles

Enable only what the site needs

A site that only needs DocSearch should not deploy every possible public AI route by accident.

Auth modes

Separate frontend and admin surfaces

Admin APIs can default toward Cognito/scope enforcement while public routes can use reCAPTCHA, WAF or Cognito depending on the use case.

Domain choices

DNS is optional but explicit

Custom domains, certificates and Route53 records should be visible choices because they affect ownership and troubleshooting.

Security controls

Protections are architecture choices

WAF, IP allowlists, reCAPTCHA, KMS and GuardDuty-style options change how the backend can be safely exposed.

Artifact source

Templates must be CloudFormation-readable

CloudFormation requires an S3 template URL when using direct template links; the artifact bucket policy must allow the CloudFormation service principal to read it.

Integration handoff

Stack outputs connect the pieces

Values such as ApiBaseUrl should be copied from CloudFormation, not guessed from naming conventions.

Stack families in the WP Suite model

Stack familyWizard intentTypical output contractWhy it matters
Cognito / Gatey identityCreate or attach a reusable Cognito identity backbone with app client, groups, triggers and optional custom domain.User Pool ID, App Client ID, Identity Pool ID, role ARNs, domain values.Login becomes a reusable runtime identity layer, not a page-level plugin setting.
AI-Kit backendEnable backend fallback, chatbot, DocSearch/RAG and protected AI/admin routes in the customer account.ApiBaseUrl, route/auth settings, KB/storage identifiers where applicable.Private AI becomes a deployable backend capability rather than a SaaS-only plugin feature.
Flow backendDeploy forms, submissions, drafts, uploads, templates, workflows, email and webhook runtime.API base URL/custom domain, bucket/table/function outputs and route/auth choices.Forms become durable workflows that can survive static delivery and external integrations.
Protected static deliveryCreate the edge authorization pattern for private static paths.CloudFront distribution/domain, signer/API endpoints, key/cookie settings.Private static WordPress can be enforced at the CDN/object layer.
Static Publisher targetPublish rendered WordPress output to AWS delivery targets; no dedicated stack is required for the publisher itself.Deployment target configuration rather than a separate runtime stack.Publishing and runtime architecture stay related but not confused.

The output contract is where WordPress reconnects

The deployment is only useful when WordPress can use it. That connection should be boring and explicit: deploy stack, copy outputs, paste into plugin settings, test the route. AI-Kit is the cleanest example: after deployment, the user copies ApiBaseUrl from CloudFormation outputs into AI-Kit Settings → API Settings.

Output typeExample valueWordPress usage
API base URLhttps://abc123.execute-api.region.amazonaws.com/prod or custom domainAI-Kit/Flow blocks and admin screens know where to send backend requests.
Cognito identifiersUser Pool ID, App Client ID, Identity Pool IDGatey can render the Authenticator and acquire tokens for protected APIs.
Role ARNs / scopesIAM role ARNs, group-derived scopes, admin scopesAPIs can enforce authorization instead of trusting hidden frontend state.
Distribution/domain valuesCloudFront distribution domain, signed-cookie issuer endpointStatic protection and publishing targets can be documented and verified.
Bucket/table namesPayload bucket, template bucket, data tablesRunbooks and diagnostics can point operators to the correct AWS resources.

Agency and CTO governance model

Client ownership

Runtime lands in the right AWS account

Agencies can deploy into their own account or the client account depending on contract, compliance and support model.

Reviewable IAM

Stack review exposes permissions

Architects can inspect IAM and resource creation before launch instead of trusting a black-box plugin flow.

Repeatable support

Same template, different parameters

Runbooks can describe parameters, outputs, DNS, certificates, logs and rollback once, then reuse the pattern across clients.

Cost visibility

AWS billing follows the deployed account

The client or agency can see API, Lambda, model, storage, WAF and logging costs directly.

Change control

Updates are stack changes

A new runtime feature can be introduced by updating a stack/version rather than hand-editing console resources.

Exit path

Resources remain visible

Even if the WordPress plugin changes later, the deployed AWS resources are not hidden inside an unreachable vendor account.

Failure modes the article should make explicit

Failure modeWhat happensHow to document it
Wrong regionStack deploys but related resources such as certificates or Cognito configuration are in another region.List required regions per stack family and call out certificate/domain constraints.
Output not copiedWordPress plugin still points to an old or empty endpoint.Make output-copying a deployment checklist item, not tribal knowledge.
Admin auth mismatchBackend expects Cognito/IAM/scopes that the plugin is not configured to send.Document auth mode, scopes and test calls immediately after deployment.
DNS/certificate half-configuredCustom domain exists but certificate, Route53 or API mapping is incomplete.Separate “stack deployed” from “custom domain live” in the runbook.
Version driftA site uses old stack resources with newer plugin UI expectations.Track template versions and plugin versions together in the client record.

Implementation path

  1. Start from the product feature: identity, AI backend, Flow backend, protected static content or delivery target.
  2. Define the smallest set of user-facing choices needed to shape that stack.
  3. Generate a CloudFormation Create stack review URL with prefilled parameters.
  4. After deployment, copy the relevant outputs into the matching WP Suite plugin settings.
  5. Test public, protected and admin routes separately.
  6. Record parameters, outputs, DNS, certificates, auth modes, logs and rollback guidance in the site runbook.

Deep dive

WordPress on AWS Reference Architecture

The pillar article that places deployment, identity, static delivery, AI and workflow runtime into one model.

Deep dive

Private AI and RAG Backend

The AI-Kit backend article where the ApiBaseUrl output becomes the WordPress integration contract.

Deep dive

Event-Driven Forms and Workflow Backend

The Flow backend stack as a concrete example of guided deployment for forms and workflows.

Solution

WordPress for Agencies on AWS

The business/operational case for repeatable client-owned infrastructure.

FAQ

Is the Deployment Wizard a separate runtime stack?

No. It is a guided provisioning layer. The runtime stack is the thing it helps deploy, such as Cognito, AI-Kit backend, Flow backend or protected static delivery.

Why use CloudFormation instead of a custom API that creates AWS resources?

CloudFormation gives the customer a reviewable, account-owned stack with parameters, outputs and lifecycle management. It also avoids requiring WP Suite to store broad long-lived cloud credentials.

What should be documented after deployment?

At minimum: selected parameters, stack outputs, copied plugin settings, DNS/certificate choices, auth modes/scopes, log groups, cost-sensitive resources and rollback steps.

Deploy WP Suite runtime stacks without hiding the AWS architecture

Use guided CloudFormation deployment to create customer-owned AWS backends, then connect the stack outputs back to WordPress.