Sign in

Weston Ruter

@weston.ruter.net
345 followers 142 following 154 posts

WordPress Core committer 👨🏻‍💻 Daddy² & husband 👨‍👩‍👦‍👦 Going by bike/bus/train 🚴‍♂️🚍🚈 Runner 🏃‍♂️ Cat person 😸 Linguaphile 🇲🇽🤟 Portland, Oregon 🇺🇸 [ˈwɛs.tn̩ ˈɹu.ɾɚ] Blog: weston.ruter.net Profile pic credit: @andy.thefragens.com

PostsRepliesMedia
Reposted by Weston Ruter
Henri Helvetica 🧑🏾‍🚀🇭🇹 @henrihelvetica.bsky.social · 21/05/2026
Oh. I missed that Wordpress 7.0 launched yesterday?? Forgot to mention that I have WP Core performance contributors next week on the 23rd anniversary on WP, May 27th. Join @weston.ruter.net Adam Silverstein, Aditya Dhade and myself for ✨ SPDY STREAM 35 ✨ www.youtube.com/live/tFK9qZB...
youtube.com
SPDY STREAM 035 with The WordPress Core Performance Team 🎂
YouTube video by Henri Helvetica
031
Weston Ruter @weston.ruter.net · 09/04/2026
Time to do some in-person WordPress contribution! I'm a Table Lead at the Core Performance table alongside @b1ink0.bsky.social. #WCAsia
The Performance Team works to make WordPress faster and more efficient, improving loading speed, scalability, and real-world performance across millions of websites.
031
Weston Ruter @weston.ruter.net · 09/04/2026
Time to do some in-person WordPress contribution! I'm a Table Lead at the Core Performance table. #WCAsia
Core Performance slide being presented.
010
Weston Ruter @weston.ruter.net · 08/04/2026
How I've just enabled Claude Code to access all abilities registered with the Abilities API via MCP in the wordpress-develop environment, in preparation for the WordCamp Asia (#WCAsia) Contributor Day tomorrow:
weston.ruter.net
Adding an MCP Server to the WordPress Core Development Environment - Weston Ruter
How I've enabled Claude Code to access all abilities registered with the Abilities API via MCP in the wordpress-develop environment.
121
Weston Ruter @weston.ruter.net · 20/02/2026
It's a big day for @wordpress.org core PHP contributors and the overall quality of the core codebase: PHPStan is now part of the core development workflow! Changeset: core.trac.wordpress.org/changeset/61...
core.trac.wordpress.org
Changeset 61699 – WordPress Trac
Blog Tool and Publishing Platform
110
Weston Ruter @weston.ruter.net · 20/01/2026
I’ve wanted this for a while: A way for the Post Date block in WordPress to automatically append the modified date, but only when it differs from the publish date. Finally published a writeup and a plugin to implement this:
weston.ruter.net
Post Date Block: Published & Modified - Weston Ruter
Development of a WordPress plugin which appends the modified date to the Post Date block when it is different from the published date.
222
Weston Ruter @weston.ruter.net · 12/01/2026
If you're in PDX tomorrow (Jan. 13th), I'm sharing about web performance at our local WordPress Meetup, in person! I'm going over the perf work that landed in WordPress last year, how you can evaluate performance yourself, live side audits, and more: www.meetup.com/pdx-wp/event...
meetup.com
Speeding Up Your WordPress Site with WordPress 6.9, Tue, Jan 13, 2026, 6:30 PM | Meetup
**In-Person MeetUp at the [NW Portland Hostel](https://www.nwportlandhostel.com/)**, 479 NW 18th Ave, Portland, 97209. The most recent release of WordPress includes many p
000
Weston Ruter @weston.ruter.net · 01/01/2026
Something I've been thinking about a lot this Christmas season, so I blogged it:
weston.ruter.net
Would Jesus have found refuge in the United States? - Weston Ruter
When Mary and Joseph fled Judea to protect Jesus from Herod, would they have been welcomed as refugees in America if he had been born today?
000
Weston Ruter @weston.ruter.net · 17/12/2025
I used WordPress Playground for the first time in a support forum reply to try to reproduce a bug report. Super nice! I made a test plugin in a gist, within which I included a blueprint.json to self-install and set up the test case to repro with 1 click: wordpress.org/support/topi...
wordpress.org
WordPress 6.9 broke site layout
WordPress 6.9 broke site layout theinfoprovider (@theinfoprovider) 1 week, 6 days ago After the automatic update to WordPress 6.9 (and/or Gutenberg plugin 19.5), the entire front-end design of our …
100
Reposted by Weston Ruter
WordPress @wordpress.org · 02/12/2025
Meet WordPress 6.9 “Gene”. This release delivers collaboration with soul. Notes in the editor, smooth drag and drop, new creative blocks, and faster performance across your site. Discover what is new and upgrade today: wordpress.org/download/releas... #WordPress
Record image with Gene Harris. On the sleeve is an image of Gene with a stylized GENE font.
1188
Weston Ruter @weston.ruter.net · 27/11/2025
I'll be there.
000
Reposted by Weston Ruter
Jonathan Desrosiers @jonathandesrosiers.com · 25/11/2025
I'm really excited for the @wordpress.org 6.9 release! There's. A. Ton. The field guide is now live, and it proves my point (it's a doozy). I'm looking forward to seeing the community build on top of the new Notes feature, which unlocks new ways to collaborate!
make.wordpress.org
WordPress 6.9 Field Guide
This guide outlines major developer features and breaking changes in 6.9 and is published in the Release Candidate phase to help inform WordPress extending developers, Core developers, and others. …
041
Reposted by Weston Ruter
The Repository @therepository.email · 21/11/2025
WordPress 6.9 to Bring Performance Gains With fetchpriority Support, Increased Inline CSS, and New Output Buffer
therepository.email
031
Reposted by Weston Ruter
WordPress @wordpress.org · 18/11/2025
WordPress 6.9 Release Candidate 2 is now available for testing. This vital milestone invites you to download and test the latest features that aim to enhance your experience. Your feedback is crucial for the final release! Ready to dive in? Get the release here: wp.me/pZhYe-526 #WordPress
Ready to Download - WordPress 6.9 RC 2
085
Weston Ruter @weston.ruter.net · 18/11/2025
WordPress 6.9 includes so many performance improvements! Scripts with fetchpriority, increased inline CSS, minified theme styles, on demand block styles in classic themes, the template enhancement output buffer, and much more! Check out the field guide:
make.wordpress.org
WordPress 6.9 Frontend Performance Field Guide
This post is the latest in a series of updates focused on the performance improvements of major releases (see 6.8, 6.7, 6.6, 6.5, 6.4, 6.3, and 6.2). WordPress 6.9 is the second and final major rel…
120
Weston Ruter @weston.ruter.net · 11/11/2025
Worked nights and weekends (and days) to get these performance improvements landed! Getting 6.9 out the door on December 2nd will be a great relief. Hoping for a >20% boost to Largest Contentful Paint for Christmas! 🎄
252
Reposted by Weston Ruter
Jimmy Kimmel @jimmykimmel.com · 24/09/2025
As I was saying…
youtu.be
Jimmy Kimmel is Back!
YouTube video by Jimmy Kimmel Live
1665358197840
Reposted by Weston Ruter
Henri Helvetica 🧑🏾‍🚀🇭🇹 @henrihelvetica.bsky.social · 11/09/2025
Big thanks to @weston.ruter.net for joining me on the ✨ SPDY STREAM 009 ✨ yesterday. Lots of details were shared about the progress on the #WordPress platform re: performance. This should edited for next week.
image of two developers during live stream. One is wearing a yellow cap. Both arena glasses and a dark top. One screen shows a page being shared that reads: the site speed frontier with performance lab and beyond.
131
Weston Ruter @weston.ruter.net · 11/09/2025
I love this new post from Speed Kit. They divide up the 2.5-second “Good” threshold for LCP into two additional thresholds: Instant (300ms) and Fast (1000ms), while the current Good threshold becomes merely “OK”.
speedkit.com
Don’t Settle for “Good”: It Is Time for New LCP Thresholds | Speed Kit
We at Speed Kit are now extending Google's LCP thresholds in all our dashboards by adding two additional buckets to show more details for page loads faster than 2.5s.
111
Weston Ruter @weston.ruter.net · 03/09/2025
Just landed in WordPress trunk: scripts and script modules can be registered with a `fetchpriority` arg, and the Interactivity API script modules and comment-reply script use `low` by default. This can improve LCP by ~7% when the LCP element has an image: core.trac.wordpress.org/changeset/60...
core.trac.wordpress.org
Changeset 60704 – WordPress Trac
Blog Tool and Publishing Platform
120
Weston Ruter @weston.ruter.net · 27/08/2025
I've joined @wpengine.com to contribute full time to WordPress core, continuing the performance work I started while at Google:
weston.ruter.net
Joining WP Engine - Weston Ruter
I've joined WP Engine to contribute full time to WordPress core, continuing the performance work I started while at Google.
5190
Weston Ruter @weston.ruter.net · 27/08/2025
I just presented “The Site Speed Frontier with Performance Lab and Beyond” at WordCamp US. Shortly before my talk, I published a companion blog post that has 10x the information I had time to share, and I've just added an embed of the livestream: weston.ruter.net/2025/08/27/t... #WCUS
weston.ruter.net
The Site Speed Frontier with Performance Lab and Beyond - Weston Ruter
Analysis of the LCP impact for optimizations featured by the Performance Lab plugin and proposed for WordPress core. Presented at WCUS 2025.
062
Weston Ruter @weston.ruter.net · 22/08/2025
My blog has reached a web performance milestone: It's now in CrUX for both mobile and desktop (at the origin level), and it passes the CWV assessment for each! But the web performance journey isn't over…
weston.ruter.net
Web Performance Milestone - Weston Ruter
My blog is now passing the CWV assessment on desktop and mobile in CrUX and has 100 in Lighthouse! But the web performance journey isn't over.
151
Weston Ruter @weston.ruter.net · 16/08/2025
I've just made some updates to my Portland picks post for WordPressers coming to my town for #WCUS: weston.ruter.net/2024/09/12/m...
weston.ruter.net
My Portland Picks - Weston Ruter
Since so many of my teammates and colleagues are converging on my hometown of Portland, Oregon for WordCamp US, I've put together a list of some of my favorite things to do which may be helpful for WC...
030
Weston Ruter @weston.ruter.net · 10/08/2025
I've published a new WordPress security plugin: Strict CSP. It helps mitigate cross-site scripting (XSS) vulnerabilities on the frontend and login screen (but not yet in the WP admin):
wordpress.org
Strict CSP
Enforces a Strict Content Security Policy on the frontend and login screen to help mitigate any XSS vulnerabilities.
194
Weston Ruter @weston.ruter.net · 04/08/2025
¡Qué logro, ¿no?!
AUGUST 4, 2025

My Duolingo Spanish Score is 100!
000
Weston Ruter @weston.ruter.net · 31/07/2025
I've been enjoying Gemini Code Assist for GitHub. It is a very helpful AI code reviewer! I just learned it supports configuration via a .gemini/ directory, allowing you to provide a style guide. I've put together an initial one for my WordPress plugins: github.com/westonruter/...
github.com
Introduce code style for Gemini Code Assist by westonruter · Pull Request #1 · westonruter/wp-plugin-template
I just learned that Gemini Code Assist for GitHub supports a .gemini directory which can be used for configuration. One of these configuration files is a styleguide.md. This PR introduces an initia...
111
Weston Ruter @weston.ruter.net · 30/07/2025
If you're using Additional CSS (Custom CSS) in the Customizer and have a Block Theme active, you may have noticed that live preview hasn't been working. This will be fixed in the next version of Gutenberg (21.4):
github.com
Fix ability to preview Additional CSS changes in the Customizer when using a Block Theme by westonruter · Pull Request #70428 · WordPress/gutenberg
The implementation here is described in https://core.trac.wordpress.org/ticket/63589#comment:23 Instead of re-introducing the separate STYLE tag for the Customizer's Custom CSS in the Customiz...
110
Weston Ruter @weston.ruter.net · 29/07/2025
Planned performance improvements for WordPress 6.9, including: • script fetchpriority • output buffering • bfcache • CSS minification/inlining And more:
make.wordpress.org
Roadmap to 6.9
WordPress 6.9 is scheduled to be released on December 2nd, 2025 with plans for a simplified editing mode in the Site Editor, improvements to template management, block leveling commenting, and more…
030
Weston Ruter @weston.ruter.net · 25/07/2025
Do you like instant navigations on the WordPress frontend? Speculation rules! What if speculative loading was also in WP Admin? Check out this new experimental plugin that adds prerendering with moderate eagerness for links in the Admin Menu and Admin Bar:
github.com
GitHub - westonruter/speculative-loading-admin: Adds speculative loading to the WP Admin for prerendering links with moderate eagerness in the Admin Bar and Admin Menu. Experimental.
Adds speculative loading to the WP Admin for prerendering links with moderate eagerness in the Admin Bar and Admin Menu. Experimental. - westonruter/speculative-loading-admin
142
Weston Ruter @weston.ruter.net · 23/07/2025
If you've liked Speculative Loading with prerendering, you'll like this: The new “No-cache BFCache” plugin for WordPress enables instant back/forward navigations, particularly while logged in.
weston.ruter.net
Instant Back/Forward Navigations in WordPress - Weston Ruter
The new No-cache BFCache plugin enables instant back/forward navigations, especially while logged in.
121
Weston Ruter @weston.ruter.net · 19/07/2025
In one of my Duolingo lessons for Spanish, I encountered a word I hadn't used before: “conocedor”. But I quickly recognized its meaning since it just has the -edor agent suffix for the verb “conocer” which means “to know”.
100
Reposted by Weston Ruter
Remkus de Vries @remkusdevries.com · 18/07/2025
Weston Ruter wrote about how to improve LCP by deprioritizing Script Modules from the Interactivity API. This is a really lovely deep-dive into the issue, the research, and the result, the plugin that fixes it. weston.ruter.net/2025/05/26/...
weston.ruter.net
Improve LCP by Deprioritizing Script Modules from the Interactivity API - Weston Ruter
Adding fetchpriority=low to script modules and moving them from the head to the footer can improve LCP by >9%!
021
Weston Ruter @weston.ruter.net · 12/07/2025
Really excited to see how the adoption of PHPStan will improve the quality of the WordPress codebase. Static analysis FTW!
make.wordpress.org
Proposal: PHPStan in the WordPress core development workflow
tl;dr Several official WordPress projects use PHPStan for static code analysis of PHP files as part of their development tooling and quality control. It’s used by thousands of WordPress plugins and…
050
Weston Ruter @weston.ruter.net · 05/06/2025
I realized I could use Veo 3 to generate heartwarming AI videos of bison 🦬 (my favorite animal). But in order to share them, I had to first fix a problematic layout shift in the Video block, hopefully improving the CLS passing rate of WordPress along the way!
weston.ruter.net
Eliminating Layout Shifts in the Video Block - Weston Ruter
To share heartwarming AI-generated bison videos from Veo 3, I had to improve CLS in WordPress by adding width, height, and aspect-ratio.
010
Weston Ruter @weston.ruter.net · 01/06/2025
For the first time ever, I've just seen my blog appear in field metrics from CrUX (Chrome UX Report), albeit in desktop only and for the origin not an individual URL. Baby steps. In any case, Core Web Vitals Assessment: Passed ✅ pagespeed.web.dev/analysis/htt...
Screenshot of http://weston.ruter.net in PageSpeed Insights on the Desktop tab showing "Core Web Vitals Assessment: Passed". Only results for the origin are available, not for the specific URL. The "Diagnose performance issues" section shows a 100 performance score in Lighthouse.
030
Weston Ruter @weston.ruter.net · 26/05/2025
I've been doing a deep dive on the performance of script loading in WordPress. Adding fetchpriority=low to script modules and moving them from the head to the footer can improve LCP by >9%! Plugins available to implement now, and a WP core PR is drafted. Full writeup:
weston.ruter.net
Improve LCP by Deprioritizing Script Modules from the Interactivity API - Weston Ruter
Adding fetchpriority=low to script modules and moving them from the head to the footer can improve LCP by >9%!
194
Weston Ruter @weston.ruter.net · 25/05/2025
Please don't tell Duo. 🤟
250 days streak. I am learning sign language on Lingvano
000
Weston Ruter @weston.ruter.net · 23/05/2025
Great writeup from @felixarntz.bsky.social on how Speculative Loading (the Speculation Rules API) landed in WordPress 6.8. I was heavily involved in this project. Looking forward to seeing the performance impact on LCP and to further iterating on it now that the initial version is in core!
041
Weston Ruter @weston.ruter.net · 18/05/2025
When rebuilding my blog with a block theme, I was surprised to find the Featured Image block doesn't support caption or lightbox, like the Image block does. I wrote two little plugins to implement these until they land in Gutenberg / WordPress core:
weston.ruter.net
Adding Caption & Lightbox to the Featured Image Block - Weston Ruter
Earlier this year I re-built this site using the Twenty Twenty-Five theme, finally adopting a block theme over the veritable Twenty Twenty classic theme I had been using. In this rebuild, one thing th...
272
Weston Ruter @weston.ruter.net · 15/05/2025
I've done some retrospection and written up a history of my WordPress contributions. Next week marks a decade since I became a core committer. Now that I've been laid off from Google, I'm looking to find a sustainable way to continue contributing:
weston.ruter.net
A Decade as a Core Committer: My WordPress Contribution History - Weston Ruter
Overview of my contributions to the WordPress project with the goal of finding new sponsorships to continue contributing.
283
Weston Ruter @weston.ruter.net · 11/04/2025
This is also true for me: my position at Google was eliminated. I found out yesterday on my commute home from the PDX office which I love so much. It was a dream job in every way. I'm still processing, but what @nerdy.dev wrote resonates closely with me, so I'll just say "ditto" for now. #opentowork
9211
Weston Ruter @weston.ruter.net · 06/04/2025
Why is Bluesky's Discover feed so bad for me? I've spent a lot of time voting up and down the posts I want to see on my feed, but still the vast majority of the posts it feeds me I'm not interested in. The Threads algorithm is much better, I'm sorry to say.
000
Reposted by Weston Ruter
MDN Web Docs @developer.mozilla.org · 01/04/2025
Upgrade your forms with <select> elements beyond the browser default ↑ This guide teaches you how to: ⌨️ Support keyboard navigation 🔆 Preserve focus states 📖 Ensure screen readers can understand the custom control Start customizing now 👇 developer.mozilla.org/en-US/docs/...
developer.mozilla.org
Customizable select elements - Learn web development | MDN
This article explains how to use dedicated, modern HTML and CSS features together to create fully-customized <select> elements. This includes having full control over styling the select button, drop-down picker, arrow icon, current selection checkmark, and each individual <option> element.
0297
Reposted by Weston Ruter
WebDesignMuseum @webdesignmuseum.org · 01/04/2025
Happy 21st birthday to Gmail! On April 1, 2004, Gmail was launched. #InternetHistory
Gmail in 2004
811318
Weston Ruter @weston.ruter.net · 24/03/2025
Proof of concept using Popover and Anchor Positioning to enhance Footnotes in WordPress, replacing footnote links with footnotes that open in popovers when you click on the footnote ref (avoiding a lot of jumping back and forth from the end of the content): github.com/WordPress/gu...
github.com
Try replacing footnote links with footnote popovers by westonruter · Pull Request #69671 · WordPress/gutenberg
What? Closes #54089 Experiment with replacing footnote links (which take the reader to the end of the content to read the footnote) with footnote buttons which open the footnote inline in a popove...
120
Weston Ruter @weston.ruter.net · 24/03/2025
Experimenting with the Popover API including popover=hint and a polyfill for Interest Invokers to implement rich tooltips for an <abbr> element: codepen.io/westonruter/...
codepen.io
Rich tooltips for ABBR tags via Popover API (featuring popover=hint and Interest Invokers polyfill)
...
100
Weston Ruter @weston.ruter.net · 20/03/2025
Lazy loading background images, just one of the optimizations already implemented in the Image Prioritizer plugin for WordPress: wordpress.org/plugins/imag...
wordpress.org
Image Prioritizer
Prioritizes the loading of images and videos based on how they appear to actual visitors: adds fetchpriority, preloads, lazy-loads, and sets sizes.
010
Weston Ruter @weston.ruter.net · 08/03/2025
On the heels of @felixarntz.bsky.social's WP 6.8 Dev Note yesterday and @tunetheweb.com's implementation guide posted today, I wrote up how to extend Speculative Loading in WordPress to enable more instant page loads:
weston.ruter.net
Eagerly Prerender Key URLs with Speculative Loading in WordPress - Weston Ruter
Find out how visitors on mobile can get an instant loading experience without eagerly prerendering all links on the page.
0124
Reposted by Weston Ruter
Felix Arntz @felixarntz.bsky.social · 06/03/2025
Speculative Loading is coming to WordPress in 6.8, unlocking huge potential to boost your site's performance. The dev note explains how you can prepare your WordPress plugins for the new feature and how you can get the most out of it for your site: make.wordpress.org/core/2025/03...
make.wordpress.org
Speculative Loading in 6.8
WordPress 6.8 introduces speculative loading, which can lead to near-instant page load times by loading URLs before the user navigates to them. The feature relies on the Speculation Rules API, a we…
0218