Klusio

Description

Klusio helps small and medium sized businesses improve their visibility in Google and AI assistants. This plugin connects your existing WordPress site to your Klusio account and brings relevant proposals, drafts and results into WordPress.

A Klusio account is required. Installing the plugin alone does not connect your site, send content or publish anything.

Start with a useful improvement

The Klusio menu guides you through connecting your account, choosing an important page and reviewing a concrete proposal. Keep one focus page per administrator, inspect the real website and decide what to improve. Existing package, approval and publication rules remain in force.

Guided setup works from WordPress or your Klusio account. A WordPress administrator confirms the exact website and a Klusio account administrator confirms the account and permissions. The handshake is resumable and verifies both ends before storing a connection. A new connection starts with automatic publication off; reconnecting preserves your existing publication preferences.

Your Klusio work inside WordPress

  • Overview: your goal, selected proposals, current work, drafts and verified results, with a visible synchronization time.
  • Growth: inspect the same execution contract as in your account. With explicit delegation, approve, reject or defer supported proposals and give feedback. Feedback pauses execution until a new approval.
  • Drafts: edit unpublished, unlinked articles, choose a local media image and update its alt text. Saving preserves a backup and invalidates the previous review. Publishing requires confirmation of the exact saved version.
  • Pages: find editable pages and posts, open their native editor and use “Improve with Klusio” for page-specific work.
  • History: accepted work stays visible on the Klusio server when your browser closes. Repeated submissions do not create a second job; interrupted writes require inspection.
  • Settings: manage supported notification and work-mode preferences through the same authorized account services. Without a delegated settings scope, choices open an account confirmation screen.
  • Results: see registered changes, live verification, available Search Console comparisons and AI evidence. Retrieved search results, cited pages and actual company mentions remain separate. Missing measurements are never replaced with invented results.

The optional account overview refreshes through the existing hourly synchronization. It shows its age and warns after two hours. Administrators can enable read-only editor access locally. Turning the overview off removes its local copy. Account deep links retain your selected page or proposal and still require the correct account login.

Preserve your Elementor and Bricks website

Klusio can place approved changes in existing builder text fields, headings, buttons, FAQs and internal links. Layout, styling and unrelated content remain intact. Supported objects include Elementor pages, templates and global widgets, and Bricks pages, templates, headers, footers and global elements.

Before each write the plugin checks the page fingerprint and editing lock. If someone changed the page, it refuses to overwrite their work. It creates a compressed backup and WordPress revision, reads the result back and refreshes the affected page’s generated CSS and cache. Restore also checks for newer changes.

Supported query-loop additions use existing public post types, categories and approved text fields. Optional WPML, Polylang and TranslatePress operations preserve independently edited translations. Approved redirects apply only to genuinely missing addresses, so they do not hide existing pages or other plugins’ redirects. Existing Yoast and Rank Math page title and description routes remain compatible.

Preview the real theme and inspect mobile

Administrators can open an unpublished article as a separate private WordPress draft using the active theme. The saved account revision is the source. A new revision creates a new private copy; previous copies and local edits are retained. Featured images are shown when already present in the local media library; missing images are disclosed. Publish the canonical article from Klusio: these preview copies remain drafts while the plugin’s protection is active.

For existing pages and private previews, inspect the actual rendered frontend at desktop and mobile widths. A bounded browser check identifies possible overflow, strong image cropping, missing image alternatives, heading gaps, unnamed fields and missing next steps. Builders and templates participate through their rendered output. The check submits no forms and changes no page content.

Save dated observations with a page fingerprint and read them back in WordPress or your account. Earlier reports remain available locally. Changes to theme, templates or external content can still make an observation outdated. This is not a full accessibility, conversion or SEO audit. A separate collapsed check of stored text remains available.

Explicit connection and permissions

The optional work connection requires local consent and an active account administrator’s confirmation. Scopes separately allow reading, reviewing proposals, editing drafts, publishing/restoring and changing preferences. Only WordPress administrators execute delegated actions; editor access remains read-only. Grants expire after 90 days and can be revoked. Changed integration credentials, website identity or account administrator access invalidate the delegation.

The Connection screen checks WordPress and Klusio in both directions and shows scopes, expiry and the last received overview. New Application Passwords created through guided setup, and exact credentials identified from that setup, are restricted by the active plugin to supported editorial REST routes. User administration, plugin/theme management, general settings, batch calls and unrelated routes are blocked for those credentials. Normal administrator sessions and other integrations remain unchanged.

This technical restriction depends on the plugin staying active. Revoke the Application Password in WordPress to remove access independently. Older manual credentials are not silently changed; reconnect through guided setup to create a limited credential. Account scopes further limit operations initiated in the plugin. No account browser session or login token is shared with WordPress.

Honest evidence, controlled changes

Google comparisons show their sources, equal-length periods and data limitations. Low-data and later-change warnings remain visible. A difference after a change does not prove that the change caused it. Only explicitly successful live checks are presented as verified.

Complete before/after text is required for native on-page approval. Existing customer pages are not overwritten by the article draft editor. Destructive operations such as deleting or merging pages remain outside the proposal workflow. No visitor tracking, advertising or unsolicited customer messages are added.

External services

The guided connection contacts https://klusio.nl/account/api/wordpress-connect.php only after you choose to check or confirm a connection. It exchanges a short-lived connection ticket, installation URL, account identity, chosen permissions and an automatically generated Application Password for the confirming WordPress administrator. That separate password is sent only in an HTTPS server-to-server request and stored encrypted in Klusio. The active plugin limits positively identified guided credentials to editorial REST routes; the underlying Application Password belongs to the administrator and must be revoked if that protection is no longer wanted. Account scopes separately limit actions initiated from the plugin. Revoke technical access in Users > Profile > Application Passwords. Revoke the account delegation in your Klusio account. No customer content is published by connecting.

This plugin is the WordPress part of the Klusio service (https://klusio.nl/). Without the guided connection or optional work connection, the plugin does not make external requests. The servers of Klusio connect to the REST API routes of this plugin on your website, authenticated with a separate WordPress application password created during guided setup or manually by your administrator.

With the optional work connection, WordPress sends authenticated HTTPS POST requests to https://klusio.nl/account/api/wordpress-native.php when an administrator opens live account data, submits an action or checks its status. Requests include the bound website, WordPress user ID, selected entity/action and any edited article text, media identifier, alt text, feedback or preferences needed for that action. A scoped credential is stored in a non-autoloaded WordPress option; only its hash is stored by Klusio. It is never placed in browser code or links. The endpoint does not accept arbitrary external destinations. Task history, feedback and verified before-state backups are retained by Klusio with the account; turning the connection off does not erase this audit history.

What is exchanged, and when:

  • When you connect or test the connection in your Klusio account, and before every change: Klusio reads the plugin status. That is the plugin version, which page builders are active, the capabilities of the connected user and a few recently edited Elementor or Bricks pages with their title and link. Without login, the status route only shows that the plugin is active, its version and its name.
  • When you approve a text change in Klusio: Klusio reads the page builder data of that page, sends back the changed data and reads it again to verify the result. Backups stay on your website.
  • When you ask Klusio to restore a change: Klusio sends which backup to restore.
  • When you publish a prepared blog article from Klusio (only after it was enabled on your site): Klusio sends the article address and a fingerprint of the approved version.
  • When you approve a redirect in Klusio: Klusio sends the old address and the new address on your website, and reads the list of redirects back to verify it. When you undo it, Klusio sends the old address to remove.
  • When you approve a translated page title or description in Klusio: Klusio sends the title or description of the page in your default language, the translation that your translated page shows and the approved new translation, and reads the dictionary entry back to verify it. When you undo it, Klusio sends which backup to restore.

  • When an administrator enables the optional account overview: Klusio sends the account identifier, connected site address, goal, selected proposal titles and descriptions, draft titles and bounded plain-text draft previews (up to 18,000 UTF-8 bytes each), proposal execution summaries, local page-draft references, work statuses, verification timestamps, available aggregate Search Console comparisons, six notification choices and the existing work mode through the existing authenticated WordPress connection. A bounded copy is stored as WordPress options. Short drafts may fit entirely in the preview; longer drafts are truncated and marked incomplete. No embedded media, financial information, account login tokens or visitor data are sent. Only the account and WordPress sender bound on the first successful synchronization may refresh it; a site administrator can reset that binding. No executable content is transferred.

  • Clicking a link to your Klusio account passes the website address and, where relevant, the selected page address or item ID. Prepared notification and work-mode choices are also passed to the account confirmation screen when you submit that form. These are navigation context only: Klusio still checks your login, company and access to that item.

Saved browser reviews contain the page address, revision fingerprint, observation time and bounded descriptions of elements needing inspection. Form values and visitor data are not collected. Reports remain in WordPress and are fetched by the bound Klusio account on request. Private article preview copies also remain in WordPress.

No data about your visitors is exchanged.

Klusio terms and conditions: https://klusio.nl/algemene-voorwaarden/
Klusio privacy policy: https://klusio.nl/privacy/

Installation

  1. In WordPress, go to Plugins, Add New, search for “Klusio”, then install and activate it. You can also upload the zip file under Plugins, Add New, Upload Plugin.
  2. Open Klusio in your WordPress admin and choose Connect my Klusio account. If you do not have an account, use Start with Klusio and return to this tab after signing up.
  3. In Klusio, confirm the installation address and choose the account permissions. Return to WordPress, check the account name and confirm. The plugin creates separate access, tests it and loads your overview. No password copying is needed.
  4. You can also begin at WordPress in your Klusio account. Existing publication settings stay unchanged. A new connection has automatic forwarding disabled until you choose otherwise.

Advanced manual setup remains available in the account’s technical connection settings. Use a separate WordPress application password, test and save the connection. Never use your ordinary login password.

FAQ

Does Klusio change my pages without my approval?

No. Klusio only writes a change you approved in your Klusio account. The plugin refuses any write that does not match the version Klusio read before.

What happens if someone edits the page at the same time?

Nothing is written. When a page is open in the WordPress or page builder editor, or changed since Klusio read it, the plugin refuses the change and keeps the current version.

Where are the backups stored?

On your own website, as compressed post meta of the page (up to three per page), next to a normal WordPress revision.

How do I undo a change?

Choose restore in your Klusio account, or use the WordPress revisions of the page.

Why is the page data sent as base64?

Elementor data contains HTML. Hosting firewalls sometimes block requests that contain HTML, and many limit the size of a request. The data is therefore sent compressed and base64 encoded. It is data, never code: the plugin decodes it, checks that it is valid page builder data and stores it as post meta.

Can I use the plugin as a must-use plugin?

Yes. Place klusio-builder-bridge.php in wp-content/mu-plugins. A must-use plugin is not updated by WordPress, so a regular install is recommended. When both are present, the must-use copy loads first. To migrate, back up the must-use file, install and activate the regular plugin, then move the old must-use file out of its loading directory and verify the connection. Keep the backup until verification succeeds. Klusio provides a guided migration for supported sites.

Which data does the public status route show?

The status route shows that the plugin is active, its version and its name. The guided setup connect-info route additionally shows the public WordPress installation URL. Neither proves access. Pairing proof requires authentication with the exact newly generated application password. All customer data requires authorization.

How do I stop Klusio from releasing blog drafts?

Releasing blog drafts is off by default. A user who may publish posts can switch it off again with a POST request to /wp-json/klusio/v1/blog-release with enabled=false, or by deactivating the plugin.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Klusio” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Klusio” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.18.0

  • Check desktop and mobile together, then jump from an observation to the relevant element in your actual website preview.
  • Saved checks update the page overview immediately. Unfinished checks are protected when leaving the screen.
  • Main-content conversion checks, missing label references and unloaded images are clearer; broken or changed previews cannot be saved as current.
  • The first-improvement guide retains your selected page. Existing page content and customer edits remain unchanged.

1.17.0

  • Guided first improvement with an important page, actionable checks and separate publication approval.
  • Private article previews in the real WordPress theme; saved account revisions use separate copies and preserve local edits.
  • Desktop and mobile rendered-page checks with dated findings, retained previous reports and shared account evidence.
  • Round-trip connection health, expiry and explicit account permissions. Guided application passwords are restricted to editorial and Klusio routes while the plugin is active.
  • One page story across WordPress and Klusio: proposals, changes, live verification and comparable Google/AI evidence.

1.16.0

  • Guided connection from WordPress and the Klusio account, with explicit consent on both sides and no manual password copying.
  • A separate WordPress Application Password is transmitted server-to-server over HTTPS, never in browser URLs or pages.
  • Existing publication preferences and website content are preserved. New connections start with automatic forwarding disabled.
  • Recoverable confirmation, short-lived tickets, exact website/account binding, concurrency checks and verified connection backups.

1.15.0

  • Optional scoped WordPress work connection with explicit consent on both sides, revocation and expiry.
  • Native proposal decisions, feedback and defer; complete text comparisons and protected restore.
  • Article draft editing, media selection and matching alt text; saved-version review before publication.
  • Native page draft workflow, preferences, persistent task history and per-page Google/AI evidence.
  • Existing builder layout, customer edits, package checks and ordinary WordPress updates are preserved.

1.14.2

  • Refined workspace spacing, left-aligned navigation, consistent icons and neutral card borders.
  • All existing account permissions, approval steps and builder protection remain unchanged.

1.14.1

  • Clarify the existing bounded draft previews in the service data disclosure and the coverage of static builder checks.
  • No additional data access or publishing permissions.

1.14.0

  • Read draft article text and the existing proposal execution plan directly in WordPress.
  • Search local pages, inspect bounded editorial checks and open native editors and previews without leaving WordPress.
  • Open mapped full-page drafts in the current website layout, respecting local edit capabilities.
  • Explicitly distinguish incomplete, dynamic and builder content checks from a full website audit.
  • Extended previews use the existing opt-in, tenant binding, freshness checks and bounded authenticated synchronization. No new outbound requests or publication permissions.

1.13.0

  • Added a responsive Klusio sidebar with overview, growth, drafts, results, settings and connection.
  • Added guided setup for new accounts and existing accounts that have not connected their website.
  • Show existing internal-link and conversion actions with their evidence and exact account destinations.
  • Show available verified page measurements with source, dates and uncertainty.
  • Prepare notification and work-mode choices in WordPress and confirm them securely in the Klusio account.
  • Preserve account approval boundaries, site binding, existing content and builder data.

1.12.0

  • Adds an optional WordPress workspace with overview, growth proposals, local and Klusio drafts, and page-specific links to the Klusio account.
  • Requires administrator opt-in for account summaries, restricts access by capability and preserves existing content and publication settings.
  • Uses the existing authenticated connection, bounded snapshots and explicit freshness indicators. The plugin makes no outbound service requests.

1.11.2

  • The public plugin name is now Klusio. Existing connections, plugin paths and the WordPress update channel are preserved.

1.11.1

  • Creating list items and new translations respects the post type’s separate create_posts capability. Existing translations remain editable with the appropriate edit permissions.

1.11.0

  • Usage lookups are cached per user and recheck page access on every cached response. Template condition titles also respect page access.
  • Layout size is checked before decoding and before TranslatePress inspection, for raw, base64 and compressed requests.
  • Translations are supplied by WordPress.org language packs. Updates use the standard WordPress.org mechanism for regular installations.

1.10.0

  • TranslatePress: Klusio can place an approved page title and meta description for the translated version of a page or post. TranslatePress translates them as texts of the page; the new translation is stored as a reviewed translation in one transaction, only when the translated page still shows the translation Klusio read. The rows it replaces are kept as a backup on your site (up to 200), and restoring brings them back unless someone changed the translation since. A title or description that is also a heading or text of the page is refused. The caches of the page in both languages are refreshed. The backups are removed when the plugin is deleted.

1.9.0

  • Redirects for addresses that give a 404: Klusio can store a redirect that you approved, from an old address on your website to another address on your website (301). It is only used when WordPress finds nothing at that address, so it never hides an existing page, post, product or a redirect made with another plugin. No chains, never from the home page, the admin, the login or the REST API, and only by a user who may edit and publish all pages. Every change carries a fingerprint of the list Klusio read; the list is removed when the plugin is deleted.
  • The status (with login) reports the number of redirects and whether the connected user may manage them.

1.8.0

  • Multilingual sites (WPML or Polylang): Klusio can place the translation of a blog post as its own post in that language, linked to the original. It gets the featured image of the original, the translated categories and tags that exist, and the meta description in Yoast SEO or Rank Math. The address comes from the multilingual plugin. A translation that someone made on the site itself is never overwritten.
  • TranslatePress: Klusio can add the translation of a blog post to the dictionary. A sentence that TranslatePress splits at bold text or a link is stored as one translation block, so it is translated as a whole; the block is only kept when TranslatePress recognizes it. Translations made or corrected by hand stay as they are; an automatic translation may be replaced by the checked one. Klusio may update a translation it stored itself, as long as nobody changed it in TranslatePress; the list of those translations is removed when the plugin is deleted.
  • The status (with login) reports the multilingual plugin (WPML, Polylang, TranslatePress, Weglot or GTranslate), the default language and the active languages.

1.7.0

  • Lists that a page shows with a query loop (Bricks): Klusio can add an approved item, such as a frequently asked question that is a post of its own with the answer in an ACF text field and the category of the page. The item gets a key from Klusio; restoring moves only that item to the trash. The page cache of the page that shows the list is refreshed.

1.6.1

  • Restoring the alt text of an image on a bilingual site keeps existing translations and leaves an untranslated text untranslated.
  • Alt text of an image without a bilingual setup (/klusio/v1/media/<id>/alt): the pages that show the image get fresh caches, so the new description is visible right away. Elementor kept the old one when only WordPress changed it.

1.6.0

  • Bilingual sites (TranslatePress): existing translations are chosen exactly as TranslatePress shows them (first translation for the exact original), instead of refusing the page when the dictionary holds duplicates or case variants.
  • New sections may contain images, icon lists, image boxes, spacers, dividers and icons; texts and image alt texts are translated together with the page.
  • Alt text of an image in both languages together (new route, inspect first, one transaction).
  • A refused bilingual change returns a short reason code for the support team.

1.5.0

  • All messages in English, with a Dutch translation included.
  • Releasing blog drafts that Klusio prepared is now a setting per site, enabled for one Klusio account by a user who may publish posts (/klusio/v1/blog-release). The routes are /klusio/v1/blog/<id>/publish and /klusio/v1/blog/<id>/preview.
  • The enabled setting is removed when the plugin is deleted.

1.4.2

  • Release of a blog draft prepared by Klusio, with an exact check of text, layout and address before publishing.

1.4.1

  • Stronger rollback backups for changes in two languages.

1.4.0

  • Saves the source language and its TranslatePress translation together, with a rollback when one of them fails.

1.3.2

  • Byte exact atomic changes and restores for both page builders, including Bricks headers, footers and global elements. A conflict never overwrites a newer version.

1.3.1

  • Bricks CSS is regenerated only with recognised parameters; a shared Elementor block refreshes the CSS per page.

1.3.0

  • Bricks support: pages, headers, footers, templates and global elements.

1.2.0

  • Templates and global widgets, usage lookup, compressed backups (up to three per page).

1.1.0

  • First version: Klusio updates texts on Elementor pages without touching the design.