Free vs Pro
Of 96 operations, 80 are free. Every control that decides whether a write is safe — the preview, the capability check, the snapshot, the verification, the rollback — is in the free plugin and will stay there.
Pro is a second plugin that registers more operations into the same dispatchers. It changes what an agent can reach, not what it is allowed to do without asking.
A plugin that puts a safety control behind a paid tier is selling you the risk and then charging you to remove it. SiteHelm does not have a tier like that and will not add one.
The split is by scope, not by safety. A free operation acts on one thing you named. A Pro operation acts across a site or a shop — every product, every post’s metadata, a settings surface rather than a single value. Both go through the same five gates.
An unlicensed site that calls a Pro operation is refused with
IntegrationUnavailable and told what is missing. It is
never silently ignored and it never half-writes.
A dry run that returns the exact diff before anything is written.
The write is refused unless the WordPress user could have made it by hand.
The prior state is recorded before anything is overwritten.
The write is read back and compared against what the preview promised.
Any recorded change can be put back from the admin.
Every call, its arguments, its outcome and its snapshot.
One switch stops every write on the site, immediately.
Any operation or whole module can be turned off independently.
A connected application can be disconnected without touching the others.
Open an area to see the operations by name. The lists come straight from the plugin’s own catalogue, so they are never out of date with the release you can download.
Site-wide SEO settings, schema, the 404 log and redirections, and bulk fixes across up to fifty posts at once.
Requires: SiteHelm Pro on a licensed site. The 404 log and the redirections list exist only on Rank Math.
Free
None — this whole area is Pro.
Pro
seo-settings-get Reads the SEO plugin's settings at site scope (separator, knowledge-graph name and logo, default social image, breadcrumbs) or for one public post type (`postType`: title and description templates, noindex, sitemap inclusion) seo-settings-set Writes the same allowlisted settings, one scope per change — site scope or `postType`, never both content-seo-bulk-set Sets the per-post fields of `content-seo-set` on up to fifty posts as one previewed, reversible change; one post the caller may not edit, or one that does not exist, refuses the whole set seo-404-log-list Pages Rank Math's 404 monitor newest first (URI, hits, last seen, referer), at most 200 per page seo-redirection-list Pages Rank Math's redirections newest first (sources, destination, status code, hits, status) content-seo-schema-get Reads one post's primary schema type (Schema.org spelling, `null` when the plugin's default applies), the plugin's stored fields for it, and the type names the plugin accepts on write content-seo-schema-set Sets one post's schema `type` and optional `fields` as a previewed, reversible change; `null` clears it back to the plugin's default and drops the stored fields; an unknown type is refused naming `content-seo-schema-get` for the list content-seo-audit-fix Takes the same page `content-seo-audit` would (type, status, limit ≤ 50, offset, minScore) and fixes the chosen findings on every post that carries one as one previewed, reversible change — `missing-description` from the post's excerpt or text (a post whose text yields fewer than 70 characters is reported under `unfixable`), `description-too-long` and `title-too-long` trimmed at a word boundary, `noindex` set to false Products read and edited; orders and customers read only, and always will be.
Requires: SiteHelm Pro on a licensed site, and WooCommerce 8.0 or newer.
Free
None — this whole area is Pro.
Pro
product-list Pages products newest first with name, SKU, status, type, price, sale price, stock status and quantity, and categories; filtered by search term, status, category or stock state product-get Reads one product in full — name, description, short description, SKU, regular and sale price, stock, categories, tags, images, type — and says when the price lives on the product's variations rather than on the product product-category-list Lists the product categories with parent, slug and product count order-list Pages orders newest first with status, total, currency, item count and date, filtered by status, customer or date range order-get Reads one order — line items, totals, tax, shipping, payment method and status history customer-list Pages shop customers with order count, lifetime spend and last order date product-create Creates one simple product from name, description, SKU, prices, stock and categories product-update Changes one product's name, description, SKU, regular price, sale price, stock status, stock quantity or categories Posts, pages, custom post types, blocks, terms and redirects — the operations an editor would otherwise perform by hand.
Free
content-get Reads one item with its fields, terms, and metadata content-list Lists items with filtering and pagination taxonomy-list Lists registered taxonomies and their terms content-blocks-get Returns the block outline of one item, or one addressed block in full content-links-check Reports the links in one item, resolving this site's own against its posts and redirects redirect-list Lists every redirect this site serves, with the table's size and capacity content-create Creates a post, page, or custom post type item content-update Updates title, content, excerpt, slug content-status-set Publishes, drafts, schedules, or privatises content-featured-media-set Sets or clears the featured image content-meta-update Writes registered post meta content-terms-assign Assigns categories, tags, or custom terms content-trash Moves an item to trash — reversible, never a permanent delete content-rollback-apply Restores a previous change from its snapshot content-block-update Changes the attributes or inner markup of one block redirect-set Points one path at a successor URL, or marks it gone redirect-delete Removes the redirect stored for one path Pro
Nothing here is behind the licence.
The library: attachment details, uploads, alt text and captions, and import from a URL behind a guarded fetch.
Free
media-get Reads one attachment with its metadata and generated sizes media-list Lists the media library with filtering image-size-list Lists registered image sizes and their dimensions media-upload Uploads a file from supplied bytes media-import Fetches a file from a URL and adds it to the library media-meta-update Updates alt text, caption, title, description media-attach Attaches an existing item to a post media-resize Brings an oversized image within a width and height you name, keeping the original file Pro
Nothing here is behind the licence.
Navigation menus, their items, their order, and which theme location each one is assigned to.
Free
menu-list Lists menus with their theme location assignments menu-get Reads one menu's full item tree menu-item-create Adds an item to a menu menu-item-update Updates an item's label, target, or attributes menu-items-reorder Reorders and re-parents a menu tree menu-location-assign Assigns a menu to a theme location Pro
Nothing here is behind the licence.
Documents and elements, widget settings, global colour and typography tokens, and theme-builder display conditions.
Requires: Elementor 3.0 or newer.
Free
elementor-document-list Lists Elementor-built documents elementor-document-get Reads a document's element tree elementor-composition-get Summarizes what a document contains, at a size that does not grow with it elementor-element-get Reads one element by its id elementor-element-search Finds elements within a document by type, text, or setting elementor-widget-availability Reports which widget types this site actually has elementor-control-schema Returns a widget's or container's control schema elementor-global-tokens-get Reads the global palette and type styles with their write identifiers elementor-theme-template-list Lists theme-builder templates with the display conditions each one stores elementor-element-add Inserts an element at a position in the tree elementor-element-update Updates an element's settings elementor-elements-update Updates several elements' settings as one change; one bad entry refuses all of them elementor-widget-settings-update Updates a widget's settings against its control schema elementor-element-move Moves an element within or between containers elementor-element-duplicate Duplicates an element with fresh ids elementor-element-remove Removes an element from the tree elementor-global-colors-update Updates global colour tokens site-wide elementor-global-typography-update Updates global type styles site-wide elementor-theme-conditions-set Replaces one theme template's display conditions as a whole rule Pro
Nothing here is behind the licence.
ACF and Meta Box field groups, their fields, and their values — read and written through each plugin’s own API.
Requires: Advanced Custom Fields 5.9 or newer, Meta Box 5.3 or newer. Either, both, or neither.
Free
acf-group-list Lists ACF field groups acf-field-list Lists fields in a group acf-field-get Reads a field's value for an object metabox-group-list Lists Meta Box field groups metabox-field-list Lists fields in a group metabox-field-get Reads a field's value for an object acf-field-update Writes an ACF field value metabox-field-update Writes a Meta Box field value Pro
Nothing here is behind the licence.
Titles, descriptions and robots directives, read and written through whichever SEO plugin the site already runs.
Requires: One of seven providers: Yoast, Rank Math, All in One SEO, SEOPress, The SEO Framework, Slim SEO, or SureRank.
Free
content-seo-get Reads one item's search-engine metadata from whichever SEO plugin the site runs content-seo-score-get Reads one item's SEO and readability scores as the SEO plugin stored them, with the findings SiteHelm derives content-seo-audit Audits a page of items: stored scores, missing or over-long descriptions, missing focus keywords, noindexed published items, in-page duplicate titles and descriptions content-term-seo-get Reads one category's or tag's search-engine metadata from whichever SEO plugin the site runs content-seo-set Writes one item's search-engine metadata into whichever SEO plugin the site runs content-term-seo-set Writes one category's or tag's search-engine metadata into whichever SEO plugin the site runs Pro
Nothing here is behind the licence.
The moderation queue: list by status, approve, hold, spam or trash, and reply beneath a comment.
Free
comment-list Lists comments by status, post, or search term, newest first comment-status-set Approves, holds, spams, or trashes one comment comment-reply Posts an approved reply beneath one comment, authored by the acting user Pro
Nothing here is behind the licence.
Read only: which forms the site holds, each form’s fields and embed shortcode, and its most recent entries.
Requires: Gravity Forms, WPForms, Contact Form 7, Fluent Forms, or Formidable Forms.
Free
form-list Lists every form the site's form plugin holds, with each form's embed shortcode form-get Reads one form's title, embed shortcode, and the fields it declares — name, type, required form-entries-list Reads one form's most recent entries, newest first — or says plainly that the plugin stores none Pro
Nothing here is behind the licence.
The roster, and one write: replacing a user’s roles with a single role the site has actually registered.
Free
user-list Lists user accounts by role or search term, newest registration first, with the role slugs this site has registered user-role-set Replaces one user's roles with a single registered role Pro
Nothing here is behind the licence.
Thirteen fields, allowlisted: title, tagline, timezone, date and time formats, posts per page, front-page geometry, permalinks, default discussion settings, and search-engine visibility.
Free
site-settings-read Reads the whole site-settings allowlist, typed, in one call — the same thirteen fields `site-settings-set` can change, and nothing else site-settings-set Changes site settings from a strict thirteen-field allowlist — title, tagline, timezone, date and time formats, posts per page, front page geometry, permalink structure, default comment and ping status, search-engine visibility Pro
Nothing here is behind the licence.
Connection, environment, integration health, one operation’s schema on demand, and the change ledger.
Free
system-connection Confirms the gateway is reachable and reports who is authenticated system-environment WordPress and PHP versions, theme, post types, taxonomies system-integrations Health of every optional integration: `Active`, `Inactive`, `VersionBlocked` system-operation-schema Returns one named operation's full input and output schema, so an agent fetches only the schema it is about to use audit-list Reads the change ledger: what changed, when, by whom, and what can be rolled back Pro
Nothing here is behind the licence.
Pro adds operations. Anything free in a release you have already installed stays free in every release after it.
Preview, capability checks, snapshots, verification, rollback, the log and every switch are free on every site, licensed or not.
Not at any price. These are excluded from the product, not held back from a tier.
The free plugin is open source, so this is checkable rather than promised: the licence gate is one function call, and you can read every place it is used.
Pro activates on the install you already have. There is nothing to reconnect, no data to migrate, and no second connection for your agent to learn.
You will know you need Pro when you find yourself asking the agent to do the same thing to fifty posts, or reaching for a shop catalogue. Until then the free plugin is the whole product.
Contributors get Pro without paying for it. The contributor programme sets out exactly what qualifies.