One new toolset, one suite that was pretending to work, and two fixes where the plugin was telling you something untrue.
Site Kit by Google
Fourteen abilities under site-kit/*. Site Kit connects a WordPress site to Search Console, Analytics 4, PageSpeed Insights, AdSense and Tag Manager, and none of it was reachable from here.
Everything is read through Site Kit's own module clients — the same entry points its dashboard and WP-CLI commands use — so no request shape is reimplemented and no Google credential is ever returned.
Four gates, not one. Four situations all look like "no data", and each needs a different person to do a different thing: Site Kit not set up, this user not connected, the module switched off, the module on but missing its property settings. Each gets its own error code and its own sentence.
The per-user one is the gate that surprises people. Site Kit stores one Google token per WordPress user, so an administrator on a fully configured site sees nothing if a colleague did the connecting. The message says so outright rather than leaving you to work it out.
site-kit/get-status runs when nothing is connected — the ability whose job is to explain an unconnected site has to work on one — and names the single next thing to do.
PageSpeed returns a summary. Found by running it: Google's raw Lighthouse response for one page measured 528,765 characters, of which a base64 screenshot was 199KB and audit detail tables 315KB. The signal — four scores and six Core Web Vitals — is a few hundred bytes. The default is now that summary; detail: "audits" and detail: "full" opt into more, and the screenshot is stripped at every level.
Elementor design audits that actually look at the page
Twenty-seven audits shipped registered and callable with the analysis never written. They returned a fabricated score and no findings, wrapped in "Ran audit: …" and a claim to be grounded in Elementor's official documentation.
On a page built as four identical 50/50 sections carrying the same button, audit-generic-layout-patterns — whose own description is "audit for repeated generic landing-page composition patterns" — answered 100 out of 100. It now answers 46, and names the three reasons.
All 27 are implemented against one shared model of the document, so every audit means the same thing by a row, a lane and a ratio. The eleven that change pages write through a single audited path, report every setting they touched with its previous value, and are confirm-gated — a gate that did not exist before, so an ability marked as making changes previously ran on a post ID alone.
They are deliberately not opinionated about style: repetition is reported as a proportion rather than condemned, and a restrained page scores well rather than being told it lacks interest.
elementor/evaluate-design also failed on every call, on every site — it returned two fields its own output schema did not declare. It had never worked. Fixed, and it now composes the audits it was always supposed to.
Rank Math scores say where they came from
A score was a bare number, so nothing distinguished one Rank Math's browser analyzer wrote months ago from one an AI client worked out this morning. Scores written through rank-math/update-seo-scores now carry a timestamp and a source, and rank-math/audit-content-seo reports both back. Scores Rank Math set itself report null — the honest answer rather than a guess.
rank-math/audit-content-seo also takes post_ids now, reporting on an exact set of posts in the order given, which is what a before-and-after comparison needs.
All-in-One stops naming the wrong plugin
Asking All-in-One WP Migration for a backup on a site without it told you to install UpdraftPlus — wrong message, and the same updraftplus_missing error code from two different suites, so nothing could tell which plugin was actually absent. Now all_in_one_missing, and every guard in the plugin is checked for a shared code so it cannot recur quietly.
Upgrading
No breaking changes. Everything here is additive or a fix.
Two things to know:
- The Elementor design audits now return real findings where they previously returned none. If anything was treating a clean result as "this page is fine", it was never checking — expect findings to appear on pages that scored 100 before.
- The eleven Elementor design fixes now require
confirm: true. They previously ran without it, and did nothing; they now do something.
Full changelog: https://acrossai.co/changelog/acrossai-abilities-manager/
Compare: v0.0.38…v0.0.39