Page Quality Audit
Page Quality Audit adds a Page audit action to Page Builder top menu bar. One click opens a side drawer that loads the current page in a live preview and audits it across seven tabs. Every tab leads with clear, severity-ranked recommendations written for content editors: what is wrong, why it matters, and how to fix it. Issues can be highlighted directly in the preview, results are cached per page with a "last audit" timestamp - and a notice tells you when the page changed since the audit - and the whole interface ships in English and French.
Accessibility runs the full axe-core WCAG A / AA / AAA rule set with per-level scorecards. It is transparent about what automation can and cannot do: it shows the engine version and rules executed, lists the borderline cases that need human review, and includes a guided manual checklist for the WCAG criteria no tool can verify.
SEO checks title and meta description lengths, accidental noindex directives, canonical URLs, structured data (JSON-LD), language attributes, image alt coverage and link labels, and renders a social sharing preview card from the page's Open Graph tags.
Links verifies every internal link with the editor's session and lists broken ones, and flags hardcoded URLs, mixed content and unsafe new-tab links.
Jahia does what no generic web tool can: it queries the repository to find unpublished content blocks visitors cannot see, content missing translations in the site's languages, raw translation keys visible on the page, and leftover placeholder text.
Web Vitals measures TTFB, load milestones, layout shift and estimated LCP in the editor's browser, with diagnostics editors can act on: page weight, request count, oversized images and images without dimensions.
Readability scores the text with Flesch (English) or Kandel-Moles (French) formulas and checks sentence length, paragraph density and heading structure.
AI review (optional) sends the page text and the audit findings to the LLM of your choice - Anthropic, OpenAI or DeepSeek - and returns an overall assessment plus up to 15 prioritized recommendations across dimensions no automated check covers: proofreading, factual accuracy, consistency, calls to action, localization quality and legal risk. Quoted wording is highlightable in the preview, and every review shows its token consumption and estimated cost. Configured server-side by an administrator (the API key never reaches the browser); disabled until configured.
The audit runs on the default workspace, so editors check exactly what they are editing before publishing. Editor-only tooling (such as the jExperience persona preview) is automatically excluded from results. By default no external services are called and no data leaves the platform; the optional AI review is the single exception - it sends page content to the LLM provider your administrator explicitly configures.
Requires Jahia 8.2+. Enable the module on each site where the action should appear.
Screenshots
How to install
- Install the module - from the Jahia Store directly, or download
page-audit-x.y.z.jarfrom the GitHub releases and upload it in Administration > Server > Modules and Extensions > Modules. - Enable it on your site(s) - in Administration > Server > Modules, select the Page Quality Audit module and enable it on each site to audit (or from the site's own module management panel). The action only appears on sites where the module is enabled.
- Use it - open any page in jContent or Page Builder: a "Page audit" button appears in the page toolbar. Click it, let the analysis run a few seconds, and browse the six tabs. Use "Re-run" after fixing issues and "Export JSON" to share results.
Requirements: Jahia 8.2 or later. No configuration, no external services, no additional dependencies. Editors need standard edit permissions on the page; the audit runs with their own session and rights.
FAQ
I installed the module but don't see the "Page audit" button.
The action only appears on sites where the module is enabled (Administration > Modules > enable on site), and only on pages and main-resource content. This is by design so the button doesn't clutter unrelated sites.
Does any data leave my platform?
No. All analyses run in the editor's browser against your own Jahia instance. No external service is called, nothing is uploaded, and the module works in air-gapped environments.
The accessibility tab says automated checks cover "a subset" of WCAG. Why not all?
No tool on the market can automate all of WCAG - roughly half the criteria require human judgment (is this alt text meaningful? are the captions accurate?). The module runs the full axe-core rule set (the same engine as Google Lighthouse), shows the cases needing human review, and provides a manual checklist for the rest. A tool claiming full automated WCAG compliance would be misleading you.
Do the audit results certify my site is compliant?
No - and no automated tool can. "0 violations" means the machine-checkable rules pass. Combine it with the built-in manual checklist for a defensible review.
Why do Web Vitals numbers differ from PageSpeed Insights?
The module measures a lab render in your editing environment (often faster than production, with caches warm). Values are directional, meant to catch regressions and obvious issues (oversized images, heavy pages), not to replace field data from real visitors.
Which page version is audited - what editors see, or what visitors see?
The default (editing) workspace, including unpublished changes: you audit what you are about to publish. The Jahia tab tells you which blocks are not yet published or missing translations.
Why are external links not verified?
Browsers block cross-origin requests from scripts (CORS). Internal links are fully verified with your session; external ones are counted and listed. Use the platform's Link Checker for scheduled external scans.
The audit shows an error instead of results.
If the page returns an error in the audited language (e.g. not translated yet), the module refuses to score the error page and says so - switch to a language where the page exists.
Does it work with jExperience?
Yes. Preview tooling injected by jExperience (persona panel) is automatically excluded from the analysis so it never pollutes results. Auditing personalized variants per persona is on the roadmap.
Which languages are supported?
The UI ships in English and French. Readability scoring adapts to the audited page's language (Flesch for English, Kandel-Moles for French). You can audit any page language by switching the language in jContent.
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.