#189 – Weston Ruter on Unlocking WordPress Performance
🔗 **Source:** [#189 – Weston Ruter on Unlocking WordPress Performance](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance)
> [!note]+ Document Notes
> tags: [WordPress Performance, Core Web Vitals, Speculative Loading, Interactivity API, Block Themes]
> author: WP Tavern
> source: WP Tavern
> reference: [https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance]
> date created: 2025-10-22 00:00
>
> # 🏷️ Title: #189 – Weston Ruter on Unlocking WordPress Performance
>
<!-- deep-read:sections start -->
## 🧭 Table of Contents
- [📝 Summary](#-summary)
- [📖 Main Content](#-main-content)
- [🗒️ Notes](#️-notes)
- [📚 References](#-references)
- [🗣️ Paraphrase](#️-paraphrase)
- [📰 Newsletter](#-newsletter)
- [✅ Action Items](#-action-items)
- [🧪 Hypotheses](#-hypotheses)
- [📊 Methodology](#-methodology)
- [❓ Questions](#-questions)
- [🔮 Future Research](#-future-research)
- [💡 Implications](#-implications)
- [🧠 Learning Styles Assessment](#-learning-styles-assessment)
- [📊 Accessibility Assessment](#-accessibility-assessment)
- [🌍 DEIB Assessment](#-deib-assessment)
- [✅ Logical Validity](#-logical-validity)
- [🛡️ DARVO Analysis](#-darvo-analysis)
- [🎯 Conclusion](#-conclusion)
### 🔗 References
- The Site Speed Frontier with Performance Lab and Beyond (WordCamp US 2025)
- Enhanced Responsive Images plugin
- Instant Back/Forward (bfcache) plugin
- Performance Lab plugin
- Chrome User Experience Report (CrUX)
- PageSpeed Insights
- Core Web Vitals (LCP, INP, CLS)
## 📝 Summary
- What happened: Nathan Wrigley interviews Weston Ruter at WordCamp US on practical WordPress performance advances in Core and the Performance Team’s plugins.
- Why it matters: Real-user metrics (Core Web Vitals) drive UX, retention, conversions; “100” Lighthouse isn’t the ceiling.
- Key stakeholders: WordPress Core/Performance Team, plugin/theme authors, hosts, site owners.
- Risks and tradeoffs: Plugin bloat, misprioritized JS, speculative loading vs. server load/environment, device variance.
- Bottom line: Core + ecosystem changes (speculative loading, better image handling, script priorities, block themes) materially improve UX and speed by default.
## 📖 Main Content
- Core idea: Optimize for real users via Core Web Vitals—especially LCP, INP, CLS—beyond lab scores.
- Advances:
- Speculative loading (prefetch/prerender) in Core with opt-in “moderate” modes via UI.
- Smarter defaults: avoid lazy-loading above-the-fold, set fetchpriority=high for key images, support AVIF/WebP.
- Interactivity API + Script Modules with lowered fetch priority to protect LCP.
- Block themes load only needed CSS/JS per page; improved responsive image sizing via Enhanced Responsive Images.
- bfcache readiness preserves page state and enables instant back/forward navigations.
- Uncertainties: Exact ranking weight of performance; balancing prerender eagerness with caching/server impact.
### 🗒️ Notes
#### ⏱️ [00:03:57](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=237) Weston’s background and focus
- Core committer, Google AMP, Core Performance Team; “making WordPress fast for everybody.”
#### ⏱️ [00:06:25](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=385) 100 Lighthouse isn’t the ceiling
- WordPress + Twenty Twenty-Five can score 100, but real-user LCP still has headroom.
#### ⏱️ [00:07:57](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=477) Lab vs. field data
- PageSpeed Insights: field (CrUX) atop, lab below; optimize for LCP under 2.5s—and push even lower.
#### ⏱️ [00:10:14](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=614) Democratizing performance
- Core should “decisions, not options” so non-experts benefit automatically.
#### ⏱️ [00:13:49](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=829) Plugin bloat and “kitchen sink”
- Prefer single-purpose plugins; performance plugins abound, but avoid snake oil.
#### ⏱️ [00:15:34](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=934) Ecosystem guardrails
- Proposes surfacing performance impacts in plugin checks alongside security.
#### ⏱️ [00:17:15](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=1035) Core wins: images, fetchpriority, emoji fix
- No lazy-load above-the-fold; fetchpriority=high for featured images; emoji script long-task fix; AVIF/WebP support.
#### ⏱️ [00:19:57](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=1197) Speculative loading modes
- Conservative prefetch saves ~50ms; moderate prefetch → TTFB≈0 (cached); moderate prerender → ~0.05s loads.
#### ⏱️ [00:22:23](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=1343) Balance with caching and environment
- Default only logged-out; ensure page/object cache for aggressiveness.
#### ⏱️ [00:25:16](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=1516) bfcache and state preservation
- Instant back/forward, preserves unsaved inputs; plugin to help readiness.
#### ⏱️ [00:27:39](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=1659) Interactivity API and script priorities
- Server-rendered UI; lower priority for module scripts to protect LCP.
#### ⏱️ [00:31:48](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=1908) Beyond LCP: INP and CLS
- INP: avoid long JS tasks (scheduler.yield); CLS: prevent layout shifts (ads, images).
#### ⏱️ [00:34:13](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=2053) Test on average devices
- Throttle CPU, test low/mid devices; caught emoji long task this way.
#### ⏱️ [00:40:46](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=2446) Block themes outperform classic
- Render blocks first, then load only needed CSS/JS → smaller payloads, faster.
#### ⏱️ [00:43:51](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=2631) Enhanced Responsive Images > format swap
- Accurate sizes attribute cut LCP ~45% vs. ~2% for AVIF swap in test.
#### ⏱️ [00:45:20](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance?t=2720) Where to follow
- Within WP (Remkus de Vries), Jono Alderson, newsletters for curation.
## 📚 References
- WordPress Performance Team: Performance Lab plugin (https://wordpress.org/plugins/performance-lab/)
- Speculative Loading reference (Chrome docs) (https://developer.chrome.com/docs/web-platform/prerender-pages)
- Enhanced Responsive Images plugin (https://wordpress.org/plugins/enhanced-responsive-images/)
- Instant Back/Forward (bfcache) plugin (https://wordpress.org/plugins/instant-back-forward/)
- Core Web Vitals overview (https://web.dev/vitals/)
- PageSpeed Insights (https://pagespeed.web.dev/)
- CrUX (Chrome UX Report) (https://developer.chrome.com/docs/crux/)
## 🗣️ Paraphrase
- Paragraph A: A perfect Lighthouse score doesn’t guarantee the best user experience; prioritize real-user data like LCP, INP, and CLS to guide optimization.
- Paragraph B: Block themes and smart defaults in Core, plus targeted plugins (speculative loading, enhanced images), deliver sizable, automatic speed gains.
## 📰 Newsletter
WordPress performance is sprinting ahead. Weston Ruter unpacks why “100” isn’t the finish line and how Core’s defaults now protect LCP, tame script priorities, and unlock near-instant navigations with speculative loading and bfcache. If you’re still on classic themes, block themes can dramatically cut unused CSS/JS. Don’t miss the Enhanced Responsive Images plugin—Weston saw ~45% LCP gains versus ~2% from just switching to AVIF. Recommended reads: Within WP by Remkus de Vries, Jono Alderson’s blog, and the Performance Lab plugin to safely try new wins.
## ✅ Action Items
#### DevRel
- Publish “Speculative Loading: Prefetch vs. Prerender” demo with metrics.
- Create field data playbook: CrUX, PSI workflows, and guardrails.
- Sample repos showing fetchpriority and script priority patterns.
#### OSPO
- Add performance impact checks to plugin admission/review policy.
- Establish guidance for bfcache-safe patterns and testing.
#### Community
- Host performance clinics: LCP triage, INP debugging, CLS fixes.
- Encourage single-responsibility plugin designs.
#### WordPress
- Core: default fetchpriority and script priority tuning.
- Core Performance: expand Enhanced Responsive Images coverage, metrics dashboards.
- Interactivity API: INP best practices (scheduler.yield).
- Meta: Plugin Check to surface performance regressions.
#### The WPOCC
- Fund perf bounties for LCP/INP/CLS regressions and audits.
### FAIR
- Publish provenance and test results for perf changes; sunset flags for experimental features.
## 🧪 Hypotheses
- Block themes reduce median LCP vs. classic themes by ≥20% on desktop.
- Enhanced Responsive Images improves LCP more than switching to AVIF alone.
- Moderate prerender cuts perceived navigation time to ≤0.1s for ≥50% of navigations on cached sites.
- Lowering module script fetch priority reduces LCP p75 by ≥5% on interactive pages.
### 📊 Methodology
- A/B test themes on identical content and hosting; collect CrUX/PSI.
- Page-level experiments toggling Enhanced Responsive Images vs. AVIF-only.
- Navigation measurement with Navigation Timing + RUM for prerender cohorts.
- Lighthouse + RUM to compare script priority changes.
### ❓ Questions
- What’s the safe default eagerness for diverse hosting without overfetch?
- How can plugin directory surface perf impacts pre-install?
- Best patterns for INP in high-interactivity blocks?
### 🔮 Future Research
- Automated sizes inference beyond block themes.
- Prerender heuristics tuned by analytics intent signals.
- Standardized bfcache readiness testing for plugins.
### 💡 Implications
- Practice: Prefer block themes; audit above-the-fold images and script priorities.
- Policy: Performance checks in plugin/theme reviews.
- Education: RUM-first mindset; device-throttled testing.
- Funding: Support Core perf initiatives and audits.
### 🧠 Learning Styles Assessment
- Reading level: Flesch-Kincaid Grade ≈ 10–11.
#### 👀 Visual learners
- Present: Examples of LCP improvements.
- Improve: Before/after waterfalls, CSS/JS diff visuals.
#### 🔊 Aural learners
- Present: Podcast format.
- Improve: 3-minute audio TL;DR.
#### 🗣️ Verbal learners
- Present: Clear definitions (LCP/INP/CLS).
- Improve: Glossary cards and analogies.
#### 🧩 Kinesthetic learners
- Present: Plugins to try.
- Improve: Step-by-step labs with RUM validation.
#### 🧠 Logical learners
- Present: Cause-effect between priorities and LCP.
- Improve: Decision trees for prefetch/prerender.
#### 🧑🤝🧑 Social learners
- Present: Community newsletters.
- Improve: Cohort sprints with shared dashboards.
#### 🧘♀️ Solitary learners
- Present: Links to deep dives.
- Improve: Self-audit checklists.
#### 🌿 Naturalistic learners
- Present: Discussion of overfetch costs.
- Improve: Green perf guidelines.
### 📊 Accessibility Assessment
#### Screen reader semantics
- Present: Clear headings.
- Improve: Consistent alt text guidance for images.
#### Keyboard navigation
- Present: N/A in audio; general web guidance applies.
- Improve: Skip links focus states.
#### Contrast and readability
- Present: N/A to podcast; general guidance applies.
- Improve: Ensure 4.5:1 in associated pages.
#### Text resizing and reflow
- Improve: Support 200% zoom in show notes pages.
#### Media and captions
- Present: Transcript excerpts.
- Improve: Full downloadable transcript, captions.
#### Forms and interactions
- Improve: Accessible player controls.
#### Standards reference
- Map to WCAG 2.2 AA (1.4.*, 2.1.*, 2.4.*).
### 🌍 DEIB Assessment
#### Cultural breadth
- Improve: Global examples and multilingual resources.
#### Inclusive language
- Present: Neutral language.
- Improve: Plain-language summaries for metrics.
#### Neurodiversity support
- Present: Structured sections.
- Improve: Icons+text, consistent patterns.
#### Representation
- Improve: Broader voices in performance case studies.
#### Psychological safety
- Present: Respectful tone.
- Improve: Clear community guidelines in forums.
### ✅ Logical Validity
#### Strong reasoning
- Causal: Lowering script fetch priority frees bandwidth for LCP—well supported by network contention logic.
- Inductive: Field data focus improves UX—supported by CrUX usage.
#### Fallacies
- None evident; ranking impact explicitly framed as uncertain.
#### Tone of voice
- Practical, evidence-seeking, user-focused.
### 🛡️ DARVO Analysis
- No denial/attack/reversal patterns observed.
## 🎯 Conclusion
- Bottom line: Optimize for users, not just scores. Use block themes, protect LCP with fetchpriority and script priorities, adopt Enhanced Responsive Images, and consider measured speculative loading and bfcache readiness.
- Next steps: Run PSI/CrUX, switch to a block theme, enable Enhanced Responsive Images, audit above-the-fold images, trial moderate prefetch/prerender with proper caching, and monitor INP/CLS.
## 🧱 Refactor Appendix (append after 🎯 Conclusion)
### 📚 Literature Split Pad
### [H1] Block themes load only needed assets
> [!quote] [#189 – Weston Ruter on Unlocking WordPress Performance](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance) by [[WP Tavern]] via [[WP Tavern]]. Published 2025. Accessed 2025-10-22.
> “A block theme is able to selectively load just the styles and just the scripts that are relevant.”
Improves LCP by reducing CSS/JS payloads; use for migration guidance.
[view highlight](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance#H1) #xref #articleseed ID:rw_[MISSING]
### [H2] Enhanced images beat format-only swaps
> [!quote] [#189 – Weston Ruter on Unlocking WordPress Performance](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance)
> “Enhanced Responsive Images… improved the LCP by I think 45%… AVIF only ~2%.”
Prioritize accurate sizes over format-only changes.
[view highlight](https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance#H2) #xref ID:rw_[MISSING]
---
### 🔖 Atomic Split Pad (Zettel Candidates)
#### [Z1] Block themes reduce unused CSS and JS
- Applies to WP block themes; compare payload vs. classic.
- Links: [[WordPress Themes]] [[Performance Budgets]]
#### [Z2] Accurate image sizes outperform format swaps
- Sizes attribute tuning yields larger LCP gains than AVIF-only.
- Links: [[Responsive Images]] [[Core Web Vitals]]
---
### ✏️ Fleeting Queue (Extract by Selection)
- [F1] Test moderate prerender with caching on a top nav flow — context/https://wptavern.com/podcast/189-weston-ruter-on-unlocking-wordpress-performance #fleeting #inbox
- [F2] Audit module script priorities on interactive pages — context/… #fleeting #inbox
- [F3] Migrate a classic theme baseline to block theme and measure — context/… #fleeting #inbox
---
<!-- deep-read:sections end -->