• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Yoast / wordpress-seo / 1518afbcc87b849b58372cadc9ce92e71f9238cc / 15
54%
trunk: 56%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/action-runners-c1c88586cb
DEFAULT BRANCH: trunk
Ran 10 Jun 2026 12:40PM UTC
Files 1395
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Jun 2026 12:27PM UTC coverage: 40.404% (-0.02%) from 40.422%
1518afbcc87b849b58372cadc9ce92e71f9238cc.15

Pull #23344

github

vraja-pro
Add Elementor V4 atomic editor content extraction

The Elementor V4 atomic editor renders widgets as bare semantic tags
(<h1>, <p>, ...) without the .elementor-widget wrapper the existing
DOM-based content scraper looks for. As a result, on pages built with
V4 atomic widgets, the Yoast content extractor returns no content and
live readability and SEO analysis report empty.

This change adds a parallel content extraction path that walks the
_elementor_data JSON tree directly and emits analyser-ready HTML.

What's added
- src/integrations/third-party/elementor.php — is_elementor_v4_atomic_active()
  helper, defensive at each step: ELEMENTOR_VERSION defined, version
  >= 4.0.0, Elementor\Plugin instance present, experiments object
  present, is_feature_active method exists, e_opt_in_v4 experiment
  active. Exposed in wpseoScriptData as isElementorV4Atomic.
- src/integrations/third-party/elementor.php — conditional
  enqueue_script('elementor-v4') gated by that helper.
- admin/class-admin-asset-manager.php — registers the elementor-v4
  script handle with the same dependency set as the elementor handle.
- config/webpack/paths.js — registers elementor-v4 as a new webpack
  entry pointing at packages/js/src/elementor-v4/initialize.js.
- packages/js/src/elementor-v4/content-walker.js — pure function
  walking the document JSON. One extractor per atomic widget type
  (e-heading, e-paragraph, e-button, e-image, e-tab). Unknown widget
  types contribute no HTML themselves but their children are still
  walked.
- packages/js/src/elementor-v4/initialize.js — self-booting entry
  that subscribes to Elementor's document hooks, runs the walker on
  change, and dispatches through the same yoast-seo/editor Redux
  actions the legacy watcher uses.
- packages/js/tests/elementor-v4/content-walker.test.js — 25 cases
  covering every extractor, prop unwrapping (including malformed
  input), container recursion, unknown-widget pass-through, classic-
  widget non-extraction,... (continued)
Pull Request #23344: Add Elementor V4 atomic editor content extraction

16823 of 41637 relevant lines covered (40.4%)

1.24 hits per line

Source Files on job unit-php-7.4 - 1518afbcc87b849b58372cadc9ce92e71f9238cc.15
  • Tree
  • List 1395
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1518
  • 1518afbc on github
  • Prev Job for on feature/elementor-v4-compat (#00537f06977f3710ee68fa89d2ee59c70a68cc1b.10)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc