How to install the Siteimprove extension for Adobe Universal Editor
Purpose
Explain how to install and enable the Siteimprove Extension for Adobe Universal Editor so content editors can run accessibility, SEO, and content quality checks directly within AEM.
Task / Question
How do I install the Siteimprove extension for Adobe Universal Editor?
Environment
- Product: Siteimprove CMS integration
- CMS: Adobe Experience Manager – Universal Editor
- Audience: Siteimprove account owners or admins, Adobe users with install permissions
- Purpose: Install and enable the Siteimprove extension in Adobe Universal Editor
- Prerequisites:
| Requirement | Details | Where to obtain |
|---|---|---|
| AEM as a Cloud Service | Any Tier | Adobe Cloud Manager |
| Adobe Developer Console access | Admin or Developer role | developer.adobe.com/consoleApp Builder entitlement |
| App Builder Entitlement | Required for deployment | Contact your Adobe TAM/CSM or apply at developer.adobe.com/app-builder/trial |
| Siteimprove account with Prepublish subscription | Active subscription | Siteimprove Account Manager or Customer Success Executive |
| Node.js | v18+ (v.22.14.0 recommended) | nodejs.org |
| Adobe IO CLI | Latest version | Run: npm install -g @adobe/aio-cli |
| npm | v10.9.2 or higher | Included with Node.js |
| Allow Adobe I/O Runtime IP address ranges | See list of IP ranges to allow in the next column | 44.207.149.158/32 44.208.197.195/32 54.234.136.160/32 54.72.253.22/32 46.137.174.108/32 79.125.114.127/32 35.79.198.84/32 35.78.23.248/32 18.178.91.162/32 13.238.35.162/32 13.210.83.241/32 15.134.156.143/32 |
For additional details regarding Adobe IP allowlists, please refer to the documentation at the following link.
Note:
This extension requires AEM as a Cloud Service and is not supported for AEM 6.5 on‑prem environments.
Overview
This procedure installs the Siteimprove Extension using Adobe App Builder and enables it in the Universal Editor. After completing the steps, editors can access Siteimprove analysis directly within AEM.
Procedure
Step 1: Set up Adobe Developer Console
The extension runs as an Adobe App Builder application. A Developer Console project is required to host its backend runtime actions and frontend assets.
1.1 Create a new project
- Go to Adobe Developer Console and sign in.
- Click Projects in the top navigation, then New project from template.
- Select App Builder from the template list.
- Enter a project name (for example, Siteimprove UE Extension) and confirm your organization.
- Click Save.
1.2 Add required APIs
Inside the project, select the Production workspace. Click Add service and select API.
Add the following APIs and select OAuth Server‑to‑Server as the credential type:
- Cloud Manager
Scopes: openid, AdobeID, read_organizations, additional_info.projectedProductContext, read_pc.dma_aem_ams - I/O Management API
Scopes: AdobeID, openid, read_organizations, additional_info.projectedProductContext, additional_info.roles, adobeio_api, read_client_secret, manage_client_secrets
Notes:
- The Production workspace must be used for the extension to appear in the Universal Editor Extension Manager.
- To view scopes, open OAuth Server‑to‑Server under Credentials, then select the Scopes tab.
1.3 Collect your credentials
From Credentials, note the following values:
- API Key (Client ID)
- Client Secret
- Organization ID
Step 2: Install the Adobe I/O CLI
Install the CLI:
npm install -g @adobe/aio-cli
Verify the installation:
aio --version
Authenticate and connect to your project:
# login into cli aio login # see available projects aio console project list # select the one created at step 1 aio console project select <project_ID> # see workspaces aio console workspace list # select the workspace where the APIs were added aio console workspace select <workspace_name>
When prompted, select the project created in Step 1. Use the Production workspace for live deployments, or Stage for testing.
Step 3: Configure and deploy the extension
3.1 Extract the extension files
Extract the files from the ZIP file attached at the bottom of this article (aem-siteimprove-extension-main@54285744f47.zip).
Either double click on the archive or use the terminal to unzip in a new folder.
mkdir aem-siteimprove-extension unzip path_to_aem-siteimprove-extension.zip -d aem-siteimprove-extension cd aem-siteimprove-extension
3.2 Install dependencies
npm install
3.3 Create the .env file
Use the following command to link the local project to the Developer Console Project. It automatically creates the .aio file (which the CLI uses to know where to deploy the app) and populates the .env file (which holds both the CLI environment variables and the app specific variables).
aio app use
- Select the Organization, Project, and Workspace
- Use o to overwrite .env or .aio file if already exists if prompted
- Add the credentials obtained from Step 1.3
API_KEY=<your-client-id> CLIENT_SECRET=<your-client-secret> ORG_ID=<your-organization-id>
Warning:
Never commit the .env file to source control. It contains sensitive credentials and is excluded by the included .gitignore.
3.4 Deploy
aio app deploy
A successful deployment confirms that actions and static assets have been uploaded.
Step 4: Approval in Developer Console and Adobe Exchange
- Go to Developer Console and select the created project.
- Select Production Workspace. The status should show ‘In development’.
- On the left side menu, go to Approval and scroll to the ‘App Submission Details’ section.
- Fill in the details. The App title will be the title of the extension in the UE Extension Manager.
- Click on Submit.
- Go to Adobe Exchange and login.
- Go to the Manage page, and select the App Builder applications tab. You should see the submitted app here.
- An admin needs to select the app and click on Approve.
Step 5: Enable the extension
- Go to Extension Manager and sign in.
- From the left-hand menu, open Universal Editor.
- Locate Siteimprove in the list of available extensions.
- Toggle it to Enabled.
Extensions are enabled per organization. All users in the org with Universal Editor access will see the Siteimprove panel once enabled.
Step 6: Verify the installation
- Open Experience Manager.
- Go to Universal Editor
- Open a website URL
- Locate the Siteimprove icon in the right‑hand rail
- On the first launch, a sign-in popup will appear. Sign in to Siteimprove - the window closes automatically once complete.
- Click Run Content Check, and the panel displays Siteimprove results for the current page.
Step 7: Configure Cloud Manager domains
To enable Live Page and Unpublish Risk tabs:
- Open Adobe Cloud Manager
- Select your AEM program
- Go to Environments → Domains
- Confirm at least one active publish domain exists
Expected Result
The Siteimprove panel is available in the Universal Editor, and content checks can be run successfully on draft and published pages.
Validation / Confirmation
- The Siteimprove icon is visible in the Universal Editor right‑hand rail
- Running Run Content Check returns accessibility or content results
- Live Page and Unpublish Risk tabs appear when a publish domain is configured
How the Extension Works
The Siteimprove Extension provides content analysis in two ways:
- Live Page & Unpublish Risks Tabs
- Analyze published content on your live website
- Requires at least one active publish domain configured in AEM Cloud Manager
- If no domain is configured, these tabs will not appear
- Prepublish Tab
- Analyzes draft content directly from AEM Editor
- Content is automatically extracted from the current page being edited
- Requires Siteimprove Prepublish Subscription. No additional configuration required
Additional Information
Optional: Run the extension locally
To run and test the extension locally before deploying to production:
aio app run
The local server runs on https://localhost:9080.
There will be a few URLs provided by the run command. Use the link under the section, For a developer preview of your UI extension in the AEM environment, follow the URL: https://experience.adobe.com/aem/extension-manager/preview/some_token
After the Extension Manager opens, enter the Site URL and click Preview.
There is an ext query parameter in the browser URL, which can be used to point to the local or deployed app URL.
Use this value for testing by inputting the local server: https://localhost:9080
For testing the app deployed on different workspaces, use the corresponding workspace URL (the one shown after the deployment done through the aio app deploy command).
Common mistakes or pitfalls
- Using a non‑Production workspace for deployment
- Missing Adobe App Builder entitlement
- Forgetting to configure a publish domain in Cloud Manager
Known limitations
- Not supported for AEM 6.5 on‑prem
- Live Page analysis requires an active publish domain
Tips / best practices
- Use Stage workspace for testing before Production deployment
- Validate pop‑ups are allowed in the browser for Adobe authentication
Related Content
Did you find it helpful? Yes No
Send feedback