Content Governance
Check a page before you publish it, from one drawer in jContent and Page Builder: page quality (accessibility, SEO, speed, readability, eco-design, links), readiness for AI assistants and the terms your glossaries forbid, with AI suggestions on demand and site dashboards. Each site chooses what it uses. In English and French.
Content Governance gives authors one place to check a page before they publish it. A Content governance button in the header of jContent and Page Builder opens a drawer with three sections, each with a red count of the issues to review and a tooltip saying what it is for.
Page quality
- Accessibility: automated WCAG A, AA and AAA rules (axe-core), issues by severity highlighted in the page, what to verify by hand.
- SEO: title, meta description, indexing, canonical address, social sharing card, structured data, link texts.
- Web Vitals, Readability (English and French formulas), Ecodesign (French RGESN referential), Links (broken internal links, unsafe new windows) and Jahia (unpublished content, missing translations, raw labels).
- Runs in the author's browser, on the page being edited, unpublished changes included.
GEO readiness
- Whether AI assistants and their crawlers can read and cite the published page: a score made of eighteen explained checks, the access of each AI crawler, what robots.txt and llms.txt say, and the structured data.
- AI citations: how often AI answers cite the page and for which questions, from BotRank, once the site is connected.
- The site dashboard, under Additional > SEO: site score, invisible content, sitemap against reality, internal links, addresses, freshness, languages, structured data, robots.txt and llms.txt editors, scheduled scans and a written report by AI.
Compliance
- Legal or Brand keep glossaries of non-authorised terms, one per language, with the reason and the wording to use instead.
- The section lists every use on the page and in the content it shows; the site report under Additional > Compliance covers every page and content item, with Export CSV and Export JSON.
AI on demand, one configuration
- One model serves every AI feature: the page review, suggested titles, descriptions, headings and call-to-action labels, alt text for images (Anthropic and OpenAI read the pictures), plainer rewrites of long sentences, and the GEO written report.
- Suggestions are written in the page's language, shown and copied, never written to the repository. Until a server administrator configures a provider, the AI features are greyed out and nothing leaves the server.
Each site chooses
- Administration > Sites > (site) > Content governance: a switch per section and per tab, everything on by default. The server refuses what a site switched off.
- Checks read with the author's own rights and change nothing; the only writes are the robots.txt and llms.txt editors (diff, then a confirming click) and the site settings.
Screenshots
How to install
Requirements
- Jahia 8.2 with jContent 3.7 or later. jContent and the GraphQL provider ship with Jahia; the module declares both and does not start without them.
- Optional: the robots and llms modules, for the robots.txt and llms.txt editors of the GEO dashboard.
- Optional: an Anthropic, OpenAI or DeepSeek API key for the AI features, a BotRank organisation API key for AI citations. Without them those features are greyed out.
- If GEO Readiness, Page Quality Audit or Content Compliance Scan is installed, uninstall it first. This module reads their data (GEO scans, BotRank connections, glossaries) and declares the same glossary types. After the upgrade, a site administrator saves the GEO scan schedule and the BotRank settings once to turn them back on.
1. Install the module (once per server)
- Install it from the Jahia Store, or download content-governance-1.0.0.jar from the GitHub release.
- For the file: open Administration > Server > Modules and Extensions > Modules, tab Installed modules. Under Upload module from file, click Select module, choose the jar and upload it.
- Content Governance appears in the list with the state Started.
2. Enable it on each site
- In the same list, click Content Governance.
- Under Usage in sites, switch each site from Disabled to Enabled.
3. First configuration
- Administration > Sites > (site) > Content governance: everything is on; switch off the sections and tabs the site does not use.
- AI features (a server administrator): fill in AI_PROVIDER, AI_MODEL and AI_API_KEY in digital-factory-data/karaf/etc/org.jahia.community.contentgovernance.llm.cfg. It applies at once.
- AI citations: a server administrator adds one org.jahia.se.modules.georeadiness.botrank-<id>.cfg per BotRank organisation in the same folder, then a site administrator connects the site in the BotRank tab.
- Compliance: in jContent, Content Folders, create a Compliance glossary per language and its Non-authorised terms.
- Guides: docs.
4. Check it works
- Open a page in jContent or Page Builder: the Content governance button is in the header. The default editor and reviewerroles open it; the Compliance section needs the right to edit the page (editor).
- In jContent, Additional > SEO > GEO readiness (roles editor, reviewer, site-administrator) and Additional > Compliance(editor, reviewer, translator) show the site dashboards.
- Content governance under the site's settings needs site-administrator.
Upgrade
Upload the new version the same way; Jahia stops the previous version and starts the new one. Uploading a version that is already installed again is skipped unless you force the update. Configuration files are never overwritten by an upgrade.
Scripted install (administrators)
With Jahia's provisioning API, as a server administrator:
curl -u root:<password> https://<jahia>/modules/api/provisioning \ -F 'script=[{"installOrUpgradeBundle":"content-governance-1.0.0.jar","autoStart":true},{"enable":"content-governance","site":"<siteKey>"}];type=application/json' \ -F file=@content-governance-1.0.0.jar
FAQ
I used GEO Readiness, Page Quality Audit or Content Compliance Scan. What carries over?
GEO scans, BotRank connection files and compliance glossaries, with nothing to do. The GEO scan schedule and the BotRank daily sync keep their settings but start switched off: a site administrator saves each once (dashboard, and the BotRank tab) to turn it back on. The AI settings do not carry over: copy the provider, model and key into org.jahia.community.contentgovernance.llm.cfg. On a server that had Content Compliance Scan, glossaries keep working but jContent shows their type and field names untranslated, with a generic icon.
Why is a tab greyed out?
Its tooltip says why. AI review and the AI suggestions need a provider configured on the server; AI citations needs the site connected to BotRank; Compliance needs a page you may edit.
A section or a tab is missing.
A site administrator switched it off in Administration > Sites > (site) > Content governance. With every section off, the button is not shown.
What leaves the server?
Nothing by default: page quality runs in the author's browser. GEO readiness fetches the site's own public pages as AI crawlers would. Once configured, an AI feature sends the page text, its metadata and a digest of the findings to the chosen provider, only when an author asks for it. BotRank is read once a day by the server.
Does it write to my content?
No. Suggestions are copied by the author. The only writes are the robots.txt and llms.txt editors of the GEO dashboard, after a diff and a confirming click.
Is the accessibility tab a conformity audit?
No. Automated rules cover part of WCAG; the tab lists what to verify by hand and never claims conformity. The eco-design tab is not an RGESN conformity score either.
MIT License
Copyright (c) 2026 Stephane Monier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Dependencies
Depended on by
Nothing depends on this module.