Skip to main content

CMS Remediation Agent Overview

Modified on: Mon, 3 Aug, 2026 at 3:28 PM

Answer

The CMS Remediation Agent helps you fix accessibility issues identified by Siteimprove directly within your CMS. The agent proposes changes to editable content such as image alternative text, link text, headings, page titles, and captions. You review every proposed change before it is applied. No changes are published automatically, and approved updates are saved as drafts or revisions according to your CMS workflow.

For issues located in themes, templates, or site configuration, the agent does not make changes. Instead, it classifies the issue, provides context and suggested code fixes, and can create a pre-filled Jira ticket when a Jira connection is available.

What it does

The CMS Remediation Agent takes an accessibility issue found by Siteimprove and proposes a fix for it directly in your CMS. You review every proposed change and decide whether to apply it. Nothing is ever written to your site without your approval, and every approved change is saved as a draft or revision in your CMS rather than published directly, so your normal editorial workflow stays in charge.

The agent works at the content layer: things you can edit in your CMS, such as image alternative text, link text, headings, and page titles. Issues that live in your theme or template code are identified and classified instead, and handed to your developers with full context: the failing element, a suggested code fix, and, where the agent can determine it, the template involved. If your account has a Jira connection, the agent can create a pre-filled Jira ticket for these so nothing gets lost.

Availability

  • Included in Accessibility Pro and above.
  • Applied fixes draw from the same AI credit pool as AI Remediate: one applied fix uses one credit. Reviewing proposals, rejecting them, and creating Jira tickets for routed issues does not use credits.
  • Access is controlled by the Use CMS Remediation permission in role management.
  • Supported at GA: WordPress and Drupal. Contentful support is planned for a later release.

Setting Up a CMS Connection

  • Go to Settings > AI management > AI access and connections and choose Add connector.
  • Select the connector type (WordPress or Drupal).
  • Select the Siteimprove site the connection applies to. Connections can only be attached to sites already in your account, so the agent can never touch a site outside it.
  • Enter the credentials for that CMS (see the platform requirements below) and save. Credentials are encrypted and stored server-side; they are never displayed again after saving.

One connection per site. If a single website runs on more than one CMS, set it up as separate Siteimprove sites and connect each one.

Changes are written in the name of the account you connect, so it is always visible in your CMS who made a change. Connect an account with the least access needed to edit the relevant content, and revoke access at any time from your CMS (for example, by deleting the WordPress Application Password).

How to Use It

  • Start from an issue. Open the page in the Page Report and start remediation from a code suggestion (Analyze in CMS). The agent uses the page URL and the Siteimprove findings for that page.
  • The agent investigates. It locates where the failing element lives in your CMS. This typically takes under a minute per issue.
  • Review the proposed fix. You see exactly what will change: the current value, the suggested replacement, and where it lives. Approve it, edit it, or reject it.
  • Apply. Only after you approve does the agent write the change, and only as a draft or revision. In WordPress, fixes are saved as named revisions you can inspect and roll back in the native revision history. In Drupal, fixes respect your Content Moderation workflow and are saved as drafts where the workflow supports it.
  • Verification. After a fix is applied and published, the page can be re-checked with the same Siteimprove rules, so the numbers you see in the platform reflect the fix.

What It Can Fix Today

At GA the agent applies fixes to editable content. Issues that sit in theme or template code are classified and routed to developers rather than changed automatically.

Fixed in Your CMS

Issues in editable content:

  • Missing or unhelpful image alternative text
  • Unclear, duplicated, or empty link text
  • Empty or truncated headings
  • Missing or unhelpful page titles
  • Captions and other editable text fields

Routed to Developers

Issues in theme, template, or site configuration:

  • ARIA attributes and roles in page markup (invalid values, misuse, missing required attributes)
  • Page language settings, autocomplete behaviour, and landmark or region labels defined in the template
  • Anything the agent locates outside the editable content of the page

Routed issues are not dead ends: the agent explains why it cannot fix the issue in place and provides the element, the suggested code change, and (when located) the template file, either in the flow or as a pre-filled Jira ticket.

Partly Supported

Depends on how your site is built:

  • Menu and navigation item text: fixable when the text comes from editable menus or content rather than the theme
  • Form control and group labels: fixable when they live in content, not in template code

Known Limitations

  • WordPress page builders such as Elementor store content in their own format and are not supported. Issues on those pages are routed with context instead of fixed in place. Supported editors are the Block editor (Gutenberg) and the Classic editor.
  • WordPress multisite installations are only partly supported today.
  • Drupal without the Siteimprove module: the agent works out of the box on standard sites, but limits itself to regular node content. Pages it cannot verify (for example, complex routed pages) are marked as unverified rather than guessed at. Installing the Siteimprove Drupal module removes these limits (see below).
  • The agent fixes issues in content. If an issue is baked into your theme or template, the agent tells you it needs a code change rather than fixing it in place.

Supported CMS Platforms

The agent connects to your CMS through its official API. The table below lists what is supported today. If your setup differs, the agent may still work but is not yet officially supported.

WordPress (Self-Hosted)

Versions

  • 5.6 or newer

How It Connects

  • WordPress REST API (/wp-json/wp/v2/)

What You Need

  • An Application Password for a user who can edit the relevant content. Application Passwords are standard since WordPress 5.6. WordPress.com-hosted sites that only allow OAuth sign-in are not supported.

WordPress Details

  • Editors: works with Block editor (Gutenberg) and Classic editor content, across posts, pages, media, and custom post types.
  • Revisions: every applied fix is saved as a named revision, so editors can see exactly what the agent changed and roll it back using WordPress's own revision history.
  • Authentication: uses Application Passwords over the REST API. Your main account password is never used.
  • Theme and plugin issues are routed to developers with a suggested code fix and, where possible, the probable template file based on the WordPress template hierarchy.

Drupal

Versions

  • 10 and 11 (Drupal 9 may work but is not verified)

How It Connects

  • JSON:API (/jsonapi/)

What You Need

  • The JSON:API core module enabled and Basic Auth allowed, plus a Drupal username and password with edit rights.
  • Recommended: the Siteimprove Drupal module for full coverage.

Drupal Details

  • Content: fixes fields on JSON:API entities such as nodes and media (alt text, link text, labels, captions), following relationships to the entity that actually holds the content.
  • Workflow: fixes respect Drupal's Content Moderation. Where the workflow supports it, changes are saved as drafts and go through your normal review and publish steps.
  • Authentication: a Drupal username and password with Basic Auth over JSON:API.
  • The Siteimprove Drupal module (recommended): a lightweight, read-only helper module that lets the agent resolve any URL to the right content entity, handle paragraph- and media-based page structures reliably, and positively identify pages that are not editable content (such as Views or custom controllers) so developer handoffs are precise. Without it, the agent still works on standard sites but with reduced coverage, and marks anything it cannot verify as unverified instead of guessing. Installation instructions will be linked here before GA.

When the Agent Cannot Fix Something

The agent always tells you why, in plain terms:

  • "This lives in your template": the issue was positively located in theme or template code. The suggested code fix and the located template are included in the handoff.
  • "No matching content found": the element could not be matched to an editable CMS entry (common with page builders). The code suggestion remains available to copy.
  • "Unverified": (Drupal without the module): the agent could not determine whether the issue is in content or in the template, and says so honestly rather than sending your developers in the wrong direction.

In all three cases, if your account has a Jira connection, you can create a pre-filled ticket carrying the rule, WCAG criterion, page URL, element, current HTML, and the suggested fix. You can review and edit the ticket before it is created. If no Jira connection exists, you are prompted to add one.

Additional Information

  • You are always in control. The agent only reads your content while investigating; it writes a change only after you approve it, only as a draft or revision, and only with the permissions of the account you connect.
  • Changes are precise. The agent replaces only the specific element that fails. It does not rewrite your page.
  • Changes are attributable. Every change appears in your CMS's own history under the connected account, with a recognisable revision message.
  • Credentials are yours to revoke. Delete the Application Password (WordPress) or change the password (Drupal) at any time and the agent immediately loses access.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.