28 Aug 2025
WordPress Planet
Open Channels FM: Closing the Black Friday Prep Gap: Woo’s 2025 Survey Insights
Woo's latest merchant survey uncovers a growing "preparation gap" for Black Friday and Cyber Monday (BFCM). Larger merchants, especially those earning over $1M annually, are prioritizing website performance optimization over inventory management and preparing months ahead, while many smaller merchants still rely on traditional, last-minute tactics. The findings reveal key shifts shaping the 2025 holiday […]
28 Aug 2025 2:26pm GMT
27 Aug 2025
WordPress Planet
Weston Ruter: The Site Speed Frontier with Performance Lab and Beyond
At WordCamp US 2025 this year, I'm presenting a talk called "The Site Speed Frontier with Performance Lab and Beyond" with the following description:
The Core Performance team has been incubating enhancements for WordPress through the Performance Lab plugin. These have been available for a few years now; some have been merged into core (e.g. Speculative Loading) while others are more experimental and remain in testing (e.g. Optimization Detective). This talk will look at how these performance plugins impact the speed of a stock WordPress site running the Twenty Twenty-Five default theme, using Core Web Vitals benchmarks and Lighthouse scores. It will also look at how the theme's performance can be further tuned, including the use of core patches proposed for the next major release (also available in plugin form to leverage today) to further accelerate the loading of pages to improve the user experience of site visitors.
Here's the livestream recording:
And here are my slides as well:
And what follows is my talk in blog post form, greatly expanded with a lot more details than I had time to share during my talk.
Table of contents:
Performance Lab
I've been a WordPress core committer for over 10 years, and since Spring 2023 I've been heavily involved on the Core Performance Team. In addition to contributing patches directly to the WordPress core codebase, we also develop new performance optimizations in the form of feature plugins. We use our Performance Lab plugin as a way to collect the feature plugins we're currently working on to facilitate discovery:
Most of these performance feature plugins are developed in the WordPress/performance monorepo on GitHub. In the same way as the Gutenberg plugin serves as a way to develop new editor features, the Performance Lab plugin is a way we incubate new performance features. It allows us to get feedback from users and test the impact prior to being proposed for merging into a new release of WordPress core when it gets rolled out to ~43% of the web.
Case Study: Twenty Twenty-Five
The default theme for the current version of WordPress is Twenty Twenty- Five. Default themes in core basically encapsulate the latest and greatest in what WordPress has to offer in terms of features and performance. Indeed, block themes are generally faster than classic themes (especially with page caching) for a few reasons, including:
- Scripts and styles are selectively loaded based on whether their blocks actually used on the page.
- Blocks are more likely to use the Interactivity API which involves deferred script modules (which don't block rendering) and server-side rendering.
So the Twenty Twenty-Five theme should be very fast, and indeed it is. But with Performance Lab features (and beyond), it can be made even faster.
Your mileage will vary with other themes, either having an even greater impact or a lesser one. Every site is unique (hopefully!) and so the impact of optimizations depends on a page's contents, how a theme is built, and which plugins are active. But in this post, I'll show the impact of the optimizations in various page layouts of the Twenty Twenty-Five Theme.
Performance Testing Methodology
Perhaps the most popular way to analyze the performance of a webpage is to use Lighthouse, either in Chrome DevTools or via the bottom half of PageSpeed Insights. Lighthouse allows you to test pages either as a desktop or mobile device, emulating the viewport, CPU, and connection speed. Lighthouse is an important tool to get a sense of a page's performance, but it has limitations. It captures data from a single page load on a simulated device. There is often variability in the results, and it also doesn't reflect the experience of real users which is what you'd get from Real User Monitoring (RUM), such as in the Chrome User Experience Report (CrUX)-shown in the first section of PageSpeed Insights. Lighthouse provides simulated lab data whereas CrUX provides real field data, which is more accurate. Nevertheless, field data can take a long time to collect and it can be difficult to do A/B tests at scale to capture the before/after performance impacts. That said, CrUX is definitely used to track the performance of new WordPress releases overall, as Felix Arntz shared the WordPress performance impact on Core Web Vitals in 2023. Felix also wrote up how to conduct WordPress performance research in the field.
For the purposes of measuring the impact of performance optimizations here, lab data will be more practical because the results are available in real time, without having to wait for real users to provide field data. And I'm interested in relative performance impacts, not necessarily absolute ones.
Running a Lighthouse audit before and after a Performance Lab feature plugin is active is a way to measure the impact of the optimization. However, given variability in the results, it can be difficult to be certain of the improvement. A Lighthouse audit may no longer flag an area for improvement, but the overall Lighthouse score may be unchanged. Indeed, even a Lighthouse score of 100 doesn't mean the page performance is "perfect". As found by Brendan Kenny:
Of the pages that got a 90+ in Lighthouse in September [2021], 43% didn't meet one or more CWV threshold.

A great score-even 100-doesn't mean there still isn't a lot of room for improvement!
Largest Contentful Paint
One of the main components in calculating Lighthouse's Performance score is the Largest Contentful Paint (LCP) metric of Core Web Vitals (CWV). LCP metric is weighted at 25% of the total Lighthouse score. As noted in how how Lighthouse scores are determined:
The metric value for LCP represents the time duration between the user initiating the page load and the page rendering its primary content. Based on real website data, top-performing sites render LCP in about 1,220ms, so that metric value is mapped to a score of 99.
A 1.2 second LCP is 12 times slower than a 100 ms LCP, where 100 ms is a proposed threshold for the user to perceive a reaction as being instantaneous. Nevertheless, a "good" LCP value is 2.5 seconds and below:
The LCP metric can be further subdivided, with the first part represented by the Time To First Byte (TTFB) metric. The longer it takes the server to respond with the generated HTML document, the more this will hurt the LCP metric. A slow TTFB means you are less likely to have a good LCP. If a site has a 1.5-second TTFB which needs improvement, then this leaves only 1 second for the LCP element to be rendered to get a good LCP metric. A good TTFB is considered to be about half that, at 800 ms and below:
Unfortunately, in looking at HTTP Archive's Tech Report, as of July 2025, only 31% of desktop clients visiting WordPress sites experience a good TTFB, whereas it's just 24% for mobile clients. This means it is all too likely that a 1.5-second TTFB is the norm for WordPress sites. This is in part what contributes to WordPress lagging behind most other CMSes for the LCP metric on mobile and on desktop, even about 10% below the average on all measured sites.
In comparison with the other CWV metrics-Cumulative Layout Shift (CLS) and Interaction to Next Paint (INP)-WordPress is doing worse in terms of LCP, as evident in the metric passing rates from the following reports on HTTP Archive:
Therefore, improving LCP remains the most important focus for performance optimizations in WordPress. So in this post I'll focus on the LCP impact for the plugins featured in Performance Lab and some other changes proposed for WordPress 6.9.
Benchmarking
Because the Lighthouse score is variable and a 100 score merely reflects a "good" LCP, evaluating the performance benefit of an optimization requires measuring the LCP metric itself. Due to the variability in the metric, it's important to obtain the median value of the LCP over many measurements. By capturing the median LCP value before and after an optimization is applied, the relative impact on performance can be measured.
The tool I use for benchmarking LCP is in the GoogleChromeLabs/wpp-research repo, which my team developed when I was at Google. Specifically, I use the benchmark-web-vitals
command which includes the ability to emulate mobile and desktop devices, network connections, and CPU speeds.
Here's an example command I use to benchmark two URLs emulating a mobile device on a Fast 4G connection, and compare their results:
npm run research -- benchmark-web-vitals \
--url="http://localhost/?enable_plugins=none" \
--url="http://localhost/?enable_plugins=foo" \
--number=50 \
--network-conditions="Fast 4G" \
--emulate-device="Moto G4" \
--diff \
--output=md
I threw this together to help me with benchmarking so that I didn't have to manually activate/deactivate plugins constantly.
<?php
/**
* Plugin Name: Active Plugins Override
*/
namespace ActivePluginsOverride;
function get_always_active_plugins(): array {
return array(
'user-switching/user-switching.php'
);
}
add_filter(
'option_active_plugins',
static function ( $plugins ) {
return array_unique( array_merge( $plugins, get_always_active_plugins() ) );
},
100
);
if ( isset( $_GET['disable_all_plugins'] ) || ( isset( $_GET['enable_plugins'] ) && $_GET['enable_plugins'] === 'none' ) ) {
add_filter( 'option_active_plugins', '__return_empty_array' );
}
if ( isset( $_GET['disable_plugins'] ) ) {
if ( is_array( $_GET['disable_plugins'] ) ) {
$disable_plugins = $_GET['disable_plugins'];
} else {
$disable_plugins = explode( ',', $_GET['disable_plugins'] );
}
add_filter(
'option_active_plugins',
function ( $active_plugins ) use ( $disable_plugins ) {
return array_merge(
array_filter(
$active_plugins,
function ( $active_plugin ) use ( $disable_plugins ) {
$slug = strtok( $active_plugin, '/' );
return ! in_array( $slug, $disable_plugins );
}
),
get_always_active_plugins()
);
}
);
}
if ( isset( $_GET['enable_plugins'] ) ) {
if ( is_array( $_GET['enable_plugins'] ) ) {
$enable_plugins = $_GET['enable_plugins'];
} else {
$enable_plugins = explode( ',', $_GET['enable_plugins'] );
}
if ( count( array_intersect( $enable_plugins, array( 'embed-optimizer', 'image-prioritizer' ) ) ) > 0 ) {
$enable_plugins[] = 'optimization-detective';
$enable_plugins[] = 'od-admin-ui';
}
add_filter(
'option_active_plugins',
function ( $active_plugins ) use ( $enable_plugins ) {
return array_filter(
$active_plugins,
function ( $active_plugin ) use ( $enable_plugins ) {
$slug = strtok( $active_plugin, '/' );
return in_array( $slug, $enable_plugins );
}
);
}
);
}
This results in a table like the following, showing the median metrics for the number of requests to both URLs:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 436.1 | 438.6 | +2.5 | +0.6% |
LCP | 915.3 | 690.9 | -224.4 | -24.5% |
TTFB | 50.8 | 50.6 | -0.2 | -0.3% |
LCP-TTFB | 865.6 | 638.3 | -227.3 | -26.3% |
In this example, the LCP improved by ~25% by enabling the "foo" plugin, which is exactly the kind of performance improvement we're looking for on the Core Performance Team. Note this "LCP-TTFB" metric is simply the LCP metric minus the TTFB metric; this allows for measuring the client-side contributions to LCP by discounting any server-side variability in generating the response. The LCP-TTFB metric is important considering the lack of page caching on a local environment, and that certain optimizations may increase TTFB when page caching is not involved. For WordPress to scale, it's important to have some page caching layer in place.
Analyzing Optimization Impact on LCP
I'm going to analyze the impact of the following feature plugins featured in Performance Lab:
- Image Placeholders
- Modern Image Formats
- Enhanced Responsive Images
- Image Prioritizer
- Speculative Loading
- View Transitions
I'm not covering Performant Translations since it was mostly merged into core as of 6.5. I'm also not covering Embed Optimizer since it primarily helps with INP by lazy-loading and CLS by reserving space for resizing embeds; the LCP improvement is difficult to measure for embeds that appear in the initial viewport given their cross-origin nature. Lastly, I'm not covering Web Worker Offloading since it is quite experimental and it is only related to INP. However, I am going to cover enhancements beyond Performance Lab being targeted for WordPress 6.9:
- No-cache BFCache (actually, brand new to Performance Lab)
- Script Module Deprioritization
- Minified CSS Inlining
The first four Performance Lab feature plugins are all related to images. In focusing on improving the LCP metric, this makes sense because images are the LCP element 73.3% of the time on mobile and 83.3% of the time on desktop, according to Web Almanac 2024:

Image Placeholders
The Image Placeholders plugin, originally called "Dominant Color Images", adds a non-transparent image's dominant color as the background color. This improves the perceived page loading experience by showing something sooner, rather than just a blank spot on the page.
Instead of this:

With the plugin active (and the media regenerated), the following is the result:

The visual impact that this plugin has on the loading of the page is that there is a brown rectangle serving as a placeholder for where the user can expect an image to load.
However, when benchmarking the web vitals, there is no improvement in LCP. In fact, there even appears to be a slight regression:
Before | After | Diff (ms) | Diff (%) | |
---|---|---|---|---|
FCP | 437.2 | 439.5 | +2.3 | +0.5% |
LCP | 610.8 | 613.5 | +2.7 | +0.4% |
TTFB | 44.2 | 44.0 | -0.2 | -0.5% |
LCP-TTFB | 566.3 | 568.1 | +1.8 | +0.3% |
npm run research -- benchmark-web-vitals \
--url="https://wcus-perf-talk-demo.local/2025/07/30/bison-featured-image/?enable_plugins=none" \
--url="https://wcus-perf-talk-demo.local/2025/07/30/bison-featured-image/?enable_plugins=dominant-color-images" \
--number=250 \
--network-conditions="Fast 4G" \
--emulate-device="Moto G4" \
--diff \
--output=md
Moreover, there is no difference in the Lighthouse performance score which is already maxed out at 100 (but again, this doesn't mean perfection). Nevertheless, just because there is no improvement on the raw performance metric, this doesn't mean there isn't value in doing it. User-perceived performance is also important, as long as it doesn't negatively impact LCP (which should hopefully not conflict). We'll revisit this later with View Transitions.
Modern Image Formats
Modern image formats, like WebP and AVIF, are able to compress much higher compared to older formats like JPEG and PNG. For example, an image compressed with AVIF could be 50% smaller than a JPEG with similar visual quality. It stands to reason that if an image is smaller, then it will take less time to download, and the LCP metric will be improved since the image can render sooner. This also addresses a common audit you encounter in Lighthouse to serve images in next-gen formats:

Note that the audit here estimates that the image in a modern image format would be 54% smaller for this image. (Note also the shameless plug for Performance Lab thanks to the Stack Pack for WordPress.)
The Modern Image Formats plugin (originally called "WebP Uploads") addresses this audit's complaint by converting uploaded images into AVIF or WebP, depending on which is available on your server. With the plugin active, the original Bison image uploaded as a JPEG is compressed from 356 KB down to 292 KB in AVIF format. This is ~18% smaller, not the hoped-for ~50% reduction in file size. Nevertheless, will this yield a 18% improvement in LCP? Here are the results of testing the same page as when testing Image Placeholders above, a post where the featured image is the LCP element:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 438.8 | 426.8 | -12.1 | -2.7% |
LCP | 613.8 | 599.2 | -14.6 | -2.4% |
TTFB | 47.8 | 49.2 | +1.4 | +2.8% |
LCP-TTFB | 565.1 | 550.6 | -14.5 | -2.6% |
npm run research -- benchmark-web-vitals \
--url="https://wcus-perf-talk-demo.local/2025/07/30/bison-featured-image/?enable_plugins=none" \
--url="https://wcus-perf-talk-demo.local/2025/07/30/bison-featured-image/?enable_plugins=webp-uploads" \
--number=50 \
--network-conditions="Fast 4G" \
--emulate-device="Moto G4" \
--diff \
--output=md
So while the image file size was reduced ~20%, the LCP improvement here was only ~2%.
Brendan Kenny's article on Common Misconceptions About How to Optimize LCP shows that among the LCP sub-parts, the TTFB and "image load delay" contribute much more to the overall time compared with actually downloading the image resource. (Also described in Web Almanac.) Remkus de Vries has likewise emphasized that we should Stop Obsessing Over Image Optimization. We absolutely shouldn't be serving 10 MB images to visitors, but there are diminishing returns for optimizing LCP with each percentage reduction in an image's file size. There are far more impactful ways to improve LCP than to use the most optimal image compression.
Thanks to Adam Silverstein for championing support for modern image formats both in this plugin and in core!
Enhanced Responsive Images
The Enhanced Responsive Images plugin was originally developed as a way to automatically add sizes=auto
for images with loading=lazy
. This new part of the HTML spec lets the browser compute the responsive sizes because lazy-loaded images are loaded after the page has been laid out. This enhancement landed in WordPress 6.7. Since then, the scope of the plugin has changed to improve the calculation of the responsive sizes
attribute for images which are not lazy-loaded.
By default, WordPress uses the same formula for constructing the default sizes
attribute for all images. For example, if an image is 1024 pixels wide, then the sizes
attribute is set to:
(max-width: 1024px) 100vw, 1024px
This is problematic, however, because if the image takes up half the width of the screen, then the browser will select the image URL from the srcset
attribute for the size corresponding to the width of the viewport, not the width of the actual IMG
element. This is often fine on mobile when images are more often taking up the full page width, but on desktop viewports it means a much larger image will be downloaded than is appropriate for the container size. For example, consider these images in a Columns block (sourced from Wikipedia, as linked):
These images were all resized to be 1024 pixels wide, and so using the default WordPress scheme, they all have the same sizes
attribute (as shown above), in spite of the fact that the first IMG
element is twice the width of the second and third, and 1024px itself is about double the entire 645px width of the root Columns block on desktop.
In Lighthouse, the properly size images audit correctly identifies these images as having inaccurate sizes
:

On my test page, this Columns block is at the beginning of the content, so none of the IMG
tags are lazy-loaded and likewise none are eligible for auto-sizes. This is where the enhanced Enhanced Responsive Sizes plugin comes in. Now that auto-sizes was merged into core, the plugin's scope has changed to improve the accuracy of the sizes
attribute by using the structured layout information available in block themes (which is not available in classic themes). With this plugin active, the width in the sizes
attribute for the IMG
in the first column reduces from 1024px down to 429px:
(max-width: 429px) 100vw, 429px
And the two smaller IMG
tags in the second narrower column get reduced from 1024px down to 134px:
(max-width: 134px) 100vw, 134px
Here is the performance impact when benchmarking the change:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 436.1 | 438.6 | +2.5 | +0.6% |
LCP | 915.3 | 690.9 | -224.4 | -24.5% |
TTFB | 50.8 | 50.6 | -0.2 | -0.3% |
LCP-TTFB | 865.6 | 638.3 | -227.3 | -26.3% |
npm run research -- benchmark-web-vitals \
--url="https://wcus-perf-talk-demo.local/2025/07/31/bison-two-columns/?enable_plugins=none" \
--url="https://wcus-perf-talk-demo.local/2025/07/31/bison-two-columns/?enable_plugins=auto-sizes" \
--number=50 \
--network-conditions="Fast 4G" \
--emulate-device="Moto G4" \
--diff \
--output=md
This has a dramatic ~25% reduction in LCP!
This also has an improvement in the Lighthouse score for this example page, whereas I did not find an improvement when testing the previous plugins.


The optimization also greatly improved the properly size images audit, before and after:


Note that this audit is unlikely to ever pass completely unless you generate many more intermediate image sizes to better fit all possible dimensions for your responsive images. This is something that an image CDN could do for you, however.
The effect of the more accurate sizes
can be is evident in which intermediate image size files get downloaded:
Before | After | Reduction | |
---|---|---|---|
![]() |
2048×1336 | 1024×668 | -75% |
![]() |
2048×1483 | 300×217 | -98% |
![]() |
2048×1413 | 300×207 | -98% |
Total: | 8,667,136px | 811,232px | -91% |
In this test of images in a Columns block, what follows is the impact of Modern Image Formats with AVIF versus Enhanced Responsive Images with more accurate sizes
, and then with them both active together:
Plugins | Transferred | Reduction |
---|---|---|
None | 1,595 kB | - |
Modern Image Formats with AVIF | 1,137 kB | 29% |
Enhanced Responsive Images | 206 kB | 87% |
Both | 175 kB | 89% |
As is evident, the use of a more accurate sizes
attribute has three times the reduction in bytes compared with using the AVIF image format (87% vs 29%)! Adding AVIF on top of the better sizes
only yields an additional 2% reduction in transferred bytes in this example. It's no wonder why Enhanced Responsive Images has a greater impact on LCP compared with Modern Image Formats!
Props to Mukesh Panchal and Joe McGill for their work on this! Joe also first proposed the original sizes
attribute.
Image Prioritizer
The last Performance Lab feature plugin which focuses on images is Image Prioritizer. As indicated by the name, the plugin optimizes image loading prioritization. For example, it boosts the priority of the detected LCP image with fetchpriority=high
while also deprioritizing the loading of images outside the viewport with lazy-loading. This plugin depends on the Optimization Detective plugin as its framework for the optimizations it applies. I gave a talk at WordCamp Asia 2025 all about this plugin:
In that talk, I cover Image Prioritizer in depth; the plugin description also has the full list of optimizations. But I'll highlight here a couple of the most impactful optimizations which improve the LCP metric for images.
Responsive Image Prioritization
Take for example this gallery of three images (again, from Wikipedia as linked):



This gallery is configured without the "Crop images to fit" setting enabled. On desktop, the second image is the largest image of the three, and so it is the LCP element. However, on mobile it's actually the third image which is the largest (and the LCP element) since it appears on a row by itself:


Nevertheless, WordPress core adds fetchpriority=high
to the first IMG
, of the bison and calf, even though it is never the LCP element. WordPress adds the fetchpriority
attribute to the first sufficiently-large image it finds on the page, making a best guess as to which is the LCP element. But even when core does add the attribute to the right image on a desktop viewport, it could be wrong for mobile, and vice versa. In my research, when WordPress core correctly adds the fetchpriority
attribute to the LCP IMG
element on desktop or mobile, I found that 37% of those pages have a different IMG
which is the LCP element for the other viewport. This means it's only safe to use the fetchpriority
attribute on IMG
tags when they are the LCP element on both desktop and mobile (and tablet too). But WordPress doesn't know how the page is laid out (although this is starting to change in the case of block themes, as with Enhanced Responsive Images above). This is where Optimization Detective comes in.
The Optimization Detective plugin provides a framework to capture measurements from site visitors about what elements are displayed on a page across a variety of device form factors and responsive breakpoints (e.g. desktop, tablet, and mobile). These measurements are stored in "URL Metrics" (a custom post type) which can then be used by extensions, like Image Prioritizer, to apply more accurate optimizations. In this case, Image Prioritizer:
- Removes
fetchpriority=high
from the firstIMG
in the Gallery. - Adds responsive preload
LINK
tags for the actual LCP element based on media queries.
For example, the following LINK
tags are added to the page:
<link
rel="preload" as="image" fetchpriority="high"
href=".../bison-2.jpg"
imagesrcset="..." imagesizes="..."
media="screen and (width <= 480px)"
>
<link
rel="preload" as="image" fetchpriority="high"
href=".../bison-3.jpg"
imagesrcset="..." imagesizes="..."
media="screen and (782px < width)"
>
Note how the first LINK
preloads the second bison image on mobile, but the second LINK
preloads the third bison image on desktop. Here is the performance impact for these changes on mobile:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 441.9 | 449.5 | +7.7 | +1.7% |
LCP | 984.1 | 713.2 | -270.9 | -27.5% |
TTFB | 49.4 | 53.5 | +4.1 | +8.3% |
LCP-TTFB | 935.1 | 659.5 | -275.6 | -29.5% |
npm run research -- benchmark-web-vitals \
--url="https://wcus-perf-talk-demo.local/2025/08/04/bison-gallery/?disable_all_plugins" \
--url="https://wcus-perf-talk-demo.local/2025/08/04/bison-gallery/?enable_plugins=image-prioritizer" \
--number=50 \
--network-conditions="Fast 4G" \
--emulate-device="Moto G4" \
--diff \
--output=md
This is the biggest LCP improvement I've yet shown, with a 27.5% reduction compared with the 24.5% improvement in Enhanced Responsive Images. This shows up as an improvement in the Lighthouse performance score, increasing from 95 to 99:


But what becomes truly impressive are the results on desktop:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 434.9 | 436.0 | +1.2 | +0.3% |
LCP | 1020.1 | 503.2 | -517.0 | -50.7% |
TTFB | 49.9 | 52.4 | +2.6 | +5.1% |
LCP-TTFB | 969.4 | 451.3 | -518.2 | -53.5% |
The LCP improvement here on desktop is almost double the improvement on mobile, at an over 50% reduction in LCP! In other words, the LCP metric is cut in half! This shows impressively in the Lighthouse performance score increasing from 93 to 100:


Background Image Prioritization
Related to there being different LCP IMG
elements on desktop versus mobile is that the LCP element's image may not be an IMG
at all, but rather a DIV
(or some other element) with a CSS background-image
. This is a very common way that imagery is added in page builders. Background images are also present in WordPress core, such as in some classic themes' header images; background images are also on any WordPress site using the Cover block when using a fixed background or when adding a background image to a Group block. The prevalence of non-IMG
LCP images is captured in this data presented in Web Almanac 2022, showing that the DIV
(presumably with a background image) is the LCP element ~26% of the time compared with an IMG
at 42% of the time:

The problem with the background-image
style is that it is CSS: there is no way for core to attach a fetchpriority=high
HTML attribute as can be done for LCP IMG
candidates. Take the following page for example, where there is a parallax Cover block at the beginning of the content, followed by some paragraphs of text, and finally a Gallery block with five images in it. The black rectangle denotes the desktop viewport:

Cover image courtesy Gintare K. on Pexels. Other previously-unused images courtesy Wikipedia: 1, 2, 3.
The DIV
in the Cover block with the CSS background-image
is the LCP element. Nevertheless, WordPress core is adding fetchpriority=high
to the first IMG
in the Gallery block because it is the first sufficiently large image, just in terms of its width
and height
attributes. Additionally, WordPress core omits loading=lazy
from the first three content images (the first three images in the Gallery), but they are not even visible on either the desktop or mobile viewports. The effect here is that the first three images of the Gallery are all loaded first before the all-important background image for the Cover block. Image Prioritizer fixes this by:
- Removing
fetchpriority=high
from the firstIMG
in the Gallery, since it is not the LCP element. - Adding
loading=lazy
to the first threeIMG
tags in the Gallery, since none of them are visible in any initial viewport. - Adding a preload
LINK
for the CSSbackground-image
so that it is properly prioritized.
The preload LINK
looks like the following:
<link
rel="preload"
as="image"
fetchpriority="high"
href=".../bison.jpg"
media="screen"
>
Unlike with the responsive image prioritization, the Cover block here is the LCP element for both desktop and mobile, so here there is only one LINK
and the media
attribute doesn't need to add any viewport constraints.
Here is the performance impact:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 436.5 | 433.9 | -2.7 | -0.6% |
LCP | 1042.4 | 579.8 | -462.7 | -44.4% |
TTFB | 49.0 | 53.1 | +4.1 | +8.4% |
LCP-TTFB | 994.6 | 526.9 | -467.7 | -47.0% |
npm run research -- benchmark-web-vitals \
--url=https://wcus-perf-talk-demo.local/2025/08/04/cover-block/?disable_all_plugins \
--url=https://wcus-perf-talk-demo.local/2025/08/04/cover-block/?enable_plugins=image-prioritizer \
--number=50 \
--network-conditions="Fast 4G" \
--emulate-device="Moto G4" \
--diff \
--output=md
This is the second-best improvement to LCP I've shown here in analyzing these plugins. The Lighthouse performance score is also improved from 92 to 99:


Surely nothing can improve LCP more than what was achieved here with the Image Prioritizer plugin, right? Read on.
Speculative Loading
The Speculative Loading plugin is the first discussed here not specifically focused on improving LCP for images, although they do benefit. This was a feature plugin actually to bring the Speculation Rules API to WordPress core, which was merged in 6.8. This API allows pages to either:
- Prefetch a link, reducing TTFB to zero.
- Prerender a link, potentially reducing LCP to zero.
As such, Speculative Loading is somewhat cheating at performance because you can't get any faster at loading something than to have it already loaded.
The degree by which TTFB and LCP are improved is largely dependent on the "eagerness" of the speculation. There are three main eagerness values for when speculation starts:
- Conservative: when you pointer-down on a link.
- Moderate: when you hover over a link (or soon on mobile when a link is in the viewport).
- Eager: right away without any user interaction.
For the initial core merge, the default cautious configuration was to use prefetch with conservative eagerness. Conservative eagerness was to avoid unused speculations which can overly tax under-powered servers, and prefetching was to avoid potential compatibility issues with prerendering, such as with analytics or ads.
Here's the impact that the various configurations of Speculative Loading have on LCP:
No Speculation
2.17 s
Conservative Prefetch
2.12 s
(default as of WP 6.8)
Moderate Prefetch
1.04 s
Moderate Prerender
0.04 s
Navigation with prerendering results in a practically instantaneous page load with a near zero LCP! In all these cases the LCP is still considered "good" at being less than 2.5 seconds, but just because something is good doesn't mean it can't be better!
Note that the test page here adds a 1 second TTFB via sleep(1)
. This reflects a fairly typical server response time considering that only a quarter of WordPress sites have a good TTFB passing rate, which is 800 ms and faster.
Props to Felix Arntz for spearheading this feature and landing it in core.
View Transitions
As described in the previous example, page navigations with Speculative Loading can be nearly instant with prerendering. This is great, but it's almost too good. The navigation can feel so instant as to be abrupt. There can also be a white flicker between the page loads. To help in part with having too much of a good thing, the newest plugin to be featured in Performance Lab is View Transitions. There is a new web platform feature for cross-document view transitions for multi-page applications, and this plugin brings these smooth page navigation animations to WordPress. With Speculative Loading and View Transitions, navigating around a regular multi-page WordPress site can feel as fluid as a single-page app (and without all the implementation complexity).
Take a look at the impact on the user experience when navigating between the homepage and a blog post:
Note that these view transitions apply not only when navigating via links, but they also apply when navigating with the back/forward buttons in the browser:
Nevertheless, as nice as these cross-document view transitions are, do note that there is no LCP improvement to using them. As referenced previously with Image Placeholders, the View Transitions plugin provides a non-performance user experience improvement. So don't expect to find any difference in your Lighthouse scores or LCP passing rates with this plugin.
Props again to Felix Arntz for spearheading this feature plugin.
No-cache BFCache
Originally, the No-cache BFCache plugin was part of the "beyond" part of my talk because it wasn't among the plugins featured by Performance Lab. However, this is no longer the case since v4.0.0. In the previous section about Speculative Loading, I showed how prerendering enabled near instant page loads with practically zero LCP. But there is a much older browser technology for instantaneous page navigations: the back-forward cache (bfcache). This was also depicted above in the back/forward navigation videos with view transitions.
I wrote up a blog post already all about bfcache and this plugin:
To recap, webpages are generally not eligible for bfcache when they are served with Cache-Control: no-store
. This header is sent when a user is logged-in and often on e-commerce sites for the shopping cart, checkout, and account pages. While it importantly prevents such pages from being cached by proxies, it also prevents the browser from storing pages in bfcache. This plugin removes the no-store
directive. In its place, it ensures that the private
directive is sent to prevent proxies from caching the response; also, to ensure preserve privacy after logging out, it includes logic to invalidate pages from the bfcache so they cannot be re-accessed.
What follows is an example of a site running Twenty Twenty-Five with the BuddyPress plugin and Slow 4G network emulation. After entering an activity status update, I navigate from the Personal tab to the Mentions and Favorites tabs. Then I use the back button to go back to the Personal tab. Without bfcache, navigating back from the Favorites tab to the Personal tab is very slow since (1) the browser has to re-fetch the HTML from the server, and (2) the DOM has to be completely reconstructed. Without bfcache, there is also the unfortunate result that the drafted status update is lost, since the form field was re-constructed with JavaScript. In contrast, when bfcache is enabled, navigating to the previous tabs is instant, and the DOM is preserved with each navigation, resulting in the drafted status update being kept intact:
Without bfcache, the back navigation has an LCP of 1.41 seconds whereas with bfcache the LCP is 0.02 seconds: nearly instantaneous.
There are other reasons why pages may be ineligible for bfcache than the no-store
directive, but it is one of the most common causes. It's very important to try to preserve bfcache eligibility because back/forward navigations are very common on the web:
Chrome usage data shows that 1 in 10 navigations on desktop and 1 in 5 on mobile are either back or forward.
Script Module Deprioritization
Moving on from instant page loads with Speculative Loading and bfcache, another way to shave off milliseconds on the LCP metric is to reduce network contention for loading the LCP element resource (e.g. an image). Consider a template with an Image block and a Navigation block, where the Image block has a lightbox and the Navigation block expands on mobile. These blocks use the Interactivity API which involves adding script modules to the page with the necessary logic. As noted previously, one of the key design principles of the Interactivity API is server-side rendering. This means that by design the Navigation block and the Image block do not need their script modules in the critical rendering path.
It turns out that these script modules are currently loaded with high priority because the browser doesn't know they aren't critical. So they compete with the loading of critical resources, like the LCP image, even though script modules aren't render blocking.
I've written a separate post all about this problem and the solution:
To summarize, there are two ways to prevent script modules from delaying the loading of critical resources:
- Add
fetchpriority=low
to theSCRIPT
module tags and themodulepreload
LINK
. - Move the
SCRIPT
tags to the end of theBODY
(the footer).
Here are the results of these optimizations on an emulated broadband connection with an IMG
as the LCP element:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 137.0 | 137.2 | +0.2 | +0.1% |
LCP | 406.0 | 368.8 | -37.2 | -9.2% |
TTFB | 33.7 | 33.6 | -0.1 | -0.1% |
LCP-TTFB | 371.7 | 336.0 | -35.7 | -9.6% |
This is a healthy LCP improvement, more impactful than using the Modern Image Formats with the AVIF format in my testing above. There are two plugins available on GitHub which implement these optimizations while waiting for them to be available in core:
Minified CSS Inlining
The final optimization I'm analyzing is the impact of eliminating render-blocking external stylesheets. With JavaScript, adding defer
to a SCRIPT
is an easy way to prevent them from blocking rendering (assuming they can be deferred). However, this is not so easy to do with external stylesheets. CSS is always render-blocking because otherwise there is a flash of unstyled content (FOUC). The web platform does not (currently) provide an official way to opt in to async CSS. Instead, the best way to handle this is to inline the CSS in STYLE
tags (at least for the critical CSS).
On a vanilla WordPress install when loading the Sample Page, where the LCP element is text, there are two render-blocking stylesheets:
- The Navigation block's
style.min.css
- The Twenty Twenty-Five theme's
style.css

Despite these render-blocking stylesheets, Lighthouse is giving the page a 100 performance score. But as I've said before, just because you have a 100 score in Lighthouse, this doesn't mean you can do more. Even with a perfect Lighthouse score, there is actually an audit that is pointing out the performance problem: Eliminate render-blocking resources.

It's strange that this audit has an overall estimated savings of zero milliseconds, but for the theme's stylesheet it shows an estimated savings of 150 milliseconds.
To inline these two stylesheets to prevent them from being render-blocking, what is needed is to:
- Opt in to inline the (minified) theme's
style.css
. - Increase the
styles_inline_size_limit
.
To inline Twenty Twenty-Five's stylesheet, all that is required is to add the path
data for where the registered style is located on the filesystem. This can be done as simply as follows:
add_action(
'wp_enqueue_scripts',
function (): void {
wp_style_add_data(
'twentytwentyfive-style',
'path',
get_parent_theme_file_path( 'style.css' )
);
},
20
);
However, since the stylesheet is not yet minified (cf. #63012), you can hack in runtime minification using a plugin like Twenty Twenty-Five Stylesheet Inlining. This plugin is currently just in a Gist since I hope this will land soon in core for 6.9 via #63007.
To increase the limit for inline CSS, all that is needed is a simple filter. The default limit is 20 KB which seems low considering the inline CSS limit for an AMP page is 75 KB. To increase the limit to 30 KB which allows enough room for the Navigation block's relatively stylesheet to be inlined, you can use this PHP code:
add_filter(
'styles_inline_size_limit',
function (): int {
return 30000;
}
);
<?php
/**
* Plugin Name: Increase Styles Inline Size Limit (styles_inline_size_limit)
* Author: Weston Ruter
* Update URI: false
*/
add_filter(
'styles_inline_size_limit',
static function (): int {
$limit = -1;
if ( isset( $_GET['styles_inline_size_limit'] ) ) {
$limit = (int) $_GET['styles_inline_size_limit'];
}
if ( $limit < 0 ) {
$limit = 75000;
}
return $limit;
}
);
Increasing this limit in core is being tracked in #63018. We still need to determine the optimal threshold for inlining, weighing against the benefits of serving stylesheets from the browser cache for subsequent page navigations.
As for the performance impact of inlining these stylesheets, here are the results for the loading Sample Page on an emulated Fast 4G connection:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 409.1 | 228.4 | -180.7 | -44.2% |
LCP | 510.0 | 325.4 | -184.6 | -36.2% |
TTFB | 43.3 | 43.8 | +0.6 | +1.3% |
LCP-TTFB | 466.5 | 281.2 | -185.4 | -39.7% |
npm run research -- benchmark-web-vitals \
--url="https://wcus-perf-talk-demo.local/sample-page/?enable_plugins=twentytwentyfive-stylesheet-inlining" \
--url="https://wcus-perf-talk-demo.local/sample-page/?enable_plugins=twentytwentyfive-stylesheet-inlining,increase-styles-inline-size-limit.php&styles_inline_size_limit=30000" \
--number=50 \
--network-conditions="Fast 4G" \
--emulate-device="Moto G4" \
--diff \
--output=md
This decreases the LCP by over a third!
And here are the results when emulating a Slow 3G connection:
Metric | Before | After | Diff (ms) | Diff (%) |
---|---|---|---|---|
FCP | 4206.5 | 2276.0 | -1930.5 | -45.9% |
LCP | 4308.3 | 2384.6 | -1923.7 | -44.7% |
TTFB | 42.6 | 45.5 | +2.85 | +6.7% |
LCP-TTFB | 4265.9 | 2339.7 | -1926.3 | -45.2% |
npm run research -- benchmark-web-vitals \
--url="https://wcus-perf-talk-demo.local/sample-page/?enable_plugins=twentytwentyfive-stylesheet-inlining" \
--url="https://wcus-perf-talk-demo.local/sample-page/?enable_plugins=twentytwentyfive-stylesheet-inlining,increase-styles-inline-size-limit.php&styles_inline_size_limit=30000" \
--number=50 \
--network-conditions="Slow 3G" \
--emulate-device="Moto G4" \
--diff \
--output=md
A 44.4% reduction in LCP is on par with the largest improvements achieved by the Image Prioritizer plugin in my evaluations here. This means that on a Slow 3G connection, the LCP goes from poor at 4.31 seconds to good at 2.38 seconds.
What's Next
My hope is that several of these improvements will land later this year in WordPress core. Some of them are tracked in the Roadmap to 6.9:
Planned performance improvements include improving Data Views performance by supporting partial entity fetching and smart field resolution, adding the ability to handle "fetchpriority" to ES Modules and Import Maps, standardizing output buffering so developers can hook into a unified filter and manipulate the entire rendered HTML after it's generated but before it's sent to the browser (e.g. for page caches and performance optimizations), implementing instant page navigations from browser history via bfcache even when pages are flagged with "nocache" such as when users are logged in, and stylesheet improvements around minification and inlining.
You can get involved with the Core Performance Team to help make this happen!
Where I've shared this, if you want to discuss or boost:
The post The Site Speed Frontier with Performance Lab and Beyond appeared first on Weston Ruter.
27 Aug 2025 6:05pm GMT
HeroPress: Learn. Connect. Contribute. My WordPress Story – শিখুন, যুক্ত হোন, অবদান রাখুন; আমার ওয়ার্ডপ্রেস গল্প
এই নিবন্ধটি বাংলায় পাওয়া যায়
Beginnings
My story with WordPress began in a classroom. I was a student working on a simple project, a portfolio website. I wanted to use WordPress because it felt easy to learn and flexible enough to build what I had in mind. I completed the project and proudly showed it to my teacher.
Instead of encouragement, I was told to scrap it. "Do it with raw PHP coding," my teacher said. WordPress was dismissed as the easy way out. At the time, that felt discouraging. I followed instructions and rewrote everything in PHP, but the memory stayed with me.
What my teacher could not see was what I had already discovered. WordPress had opened a door. It gave me confidence that I could build something meaningful with the skills I had. That moment became a seed. It was the beginning of a path that would later shape my career, my community work, and my life.
Learn
In 2016, I joined weDevs. This was my first real step into the professional WordPress ecosystem. Products like Dokan and WP User Frontend were not just plugins. They were solutions that empowered people. Dokan made it possible for anyone to create a multi-vendor marketplace without needing deep technical knowledge. WP User Frontend gave site owners control from the frontend in a way that felt natural and accessible.
Then came WP ERP. This plugin fascinated me more than anything else at that time. The idea that WordPress could run HR, CRM, and accounting for a business was almost unbelievable. For me, it was proof that WordPress is like water. It can take any form. It can flow into any gap and solve almost any problem.
Later, I worked with newer products, including ElementsKit, MetForm, ShopEngine, GetGenie AI, which now powers more than 2 million websites around the world. Over the years, I built an 8-year career in WordPress product marketing, working with multiple global companies to grow their eCommerce, LMS, SaaS, and WordPress products.
But my learning did not stop there. Coming from a computer science background, I shifted into marketing. At first, I wasn't sure I belonged in this space. But I discovered that having the knowledge of algorithms, logic, and technical systems helped me become a better marketer. It allowed me to solve business problems more effectively and to connect with product teams in a way that bridged technical and user needs. That blend of skills became my advantage.
As Shakespeare wrote, "To be or not to be, that is the question." For me, the answer has always been to be-to be curious, to be adaptable, and to be willing to learn. Or in the words of Bruce Lee, "Be water, my friend." That is what WordPress has taught me. Adapt, flow, and find your form.
Connect
In 2017, I organized my first WordPress meetup. It was a small gathering, but the energy in the room was undeniable. People came together to share, to teach, to learn, and to encourage each other. That was when I saw the true strength of WordPress. It was not just software. It was a community.
From that point on, I made community a core part of my life. Meetups turned into WordCamps. I spoke at events. I volunteered wherever I could. And I attended as many gatherings as possible. To date, I have been part of 25 WordCamps around the world. Each one gave me new lessons, friendships, and a sense of belonging.
The first time I spoke at WordCamp Kathmandu 2019, I was nervous. I had fixed what I would say but my heart was racing. I kept thinking, "What if nobody listens? What if I fail?" When I walked onto the stage and looked at the audience, something changed. I saw faces eager to learn. I realized they were not there to judge me. They were there to grow with me.
It was a panel discussion where I sat together with my mentor, M Asif Rahman, and we discussed marketing WordPress products. That panel discussion gave me confidence I had never felt before. It showed me that sharing what you know, even if it feels small, can inspire others. After that, I participated in two other panel discussions: WordCamp Nagpur in 2022 and WordCamp Sylhet in 2024.
Over the years, I have served as a WordCamp Organizer, Speaker, Volunteer, Global Mentor, and Event Supporter. I mentored teams as they organized their first WordCamps, helping them overcome challenges and celebrate success. These connections showed me that WordPress is not just a platform to build websites. It is a platform to build people. It gives us the tools, but more importantly, it gives us the relationships that carry us forward.
In 2022, I was humbled to receive the Yoast Care Fund award for my community contributions. It reminded me that the efforts we give to the community, often behind the scenes, do not go unnoticed.
Contribute
With learning and connection came responsibility. I knew I had to contribute.
Contribution takes many forms. For me, it has been about building communities, mentoring, and supporting events. I have served as a WordCamp Mentor and Global Event Supporter, helping new organizers take their first steps. I have guided teams, answered their questions, and encouraged them through the challenges of organizing. Seeing them succeed gave me joy that no personal achievement could replace.
WordCamp Asia holds a special place in my heart. I have been part of its organizing team three times so far, including working with the AX and communications teams. It was a chance to tell stories, welcome attendees, and celebrate the diversity of Asia's WordPress community.
When I joined the organizing team for the first WordCamp Asia in 2022, it felt like stepping into history. This was the first flagship WordCamp in our region, and expectations were sky high. I worked on the AX team, helping to provide an amazing experience to the attendees. There were long nights, endless discussions, and moments of uncertainty. But when the doors opened and thousands of people gathered, it was worth it. That event showed me how powerful Asia's WordPress community had become. It was proof that our voices, our energy, and our contributions mattered on a global scale.
Since then, I continued serving as part of WordCamp Asia 2023 and 2025, and later joined the organizing team of WordCamp US 2025, one of the biggest WordPress events in the world. Being part of that team was a reminder that no matter where we come from, our contributions connect us on a global scale.
In 2025, I was also honoured to be selected as a recipient of the Automattic Open Horizons Scholarship, which supports contributors from underrepresented communities in continuing their WordPress journey.
At the same time, I am pursuing a PhD in marketing, researching Agile Marketing Methodologies for Promoting Digital Software Products. For me, this connects directly to WordPress. Agile and AI-driven methods are shaping how we market plugins, SaaS platforms, and digital tools. My research helps me give back not only to academia but also to the WordPress ecosystem by exploring new ways to reach people, improve adoption, and create sustainable growth.
Volunteering, speaking, organizing, mentoring, researching - each role has shown me the same truth. Contribution is not about doing everything. It is about showing up, sharing what you can, and making space for others to shine.
A Story for Marketers Who Wonder: "Can I Belong?"
If you are a marketer, a writer, or someone who feels more comfortable with words than code, you may wonder if you truly belong in WordPress. I want to speak directly to you.
You do belong.
WordPress needs your thinking. It needs your storytelling. It needs people who can bridge the gap between product and user. Your technical background, even if it is small, is an asset. Your creativity is essential. Your ability to connect with people is what gives technology meaning.
I moved from computer science into marketing and found my place. You can too. You don't have to be a developer to be valuable. Contribution comes in many forms. Learning, connecting, mentoring, writing, organizing-all of these matter.
Remember: WordPress is like water. It adapts to the needs of its people. And in the same way, you can adapt your own path in it.
Lessons
Looking back, three words define my WordPress journey.
- Learn. WordPress taught me more than software. It taught me resilience, curiosity, and the courage to explore.
- Connect. The relationships I built through meetups, WordCamps, mentoring, and organizing have been the most valuable part of this journey.
- Contribute. Giving back to the community has been my way of honouring everything I have received.
Wrapping Up
I sometimes think about that moment in my classroom when my teacher told me not to use WordPress. At the time, it felt like rejection. Today, I see it as the spark that lit the way forward. Without that moment, perhaps I would not have discovered what WordPress truly means to me.
WordPress has been my teacher, my platform, and my community. It has given me a career, friendships across the world, and a purpose that goes beyond myself.
I am also a loving father of a 3-year-old daughter and a proud husband. My family gives me balance and joy, and they remind me why community and contribution matter so much.
If you are reading this and wondering whether you belong in WordPress, I want you to know that you do. Whether you are a developer, a writer, a designer, or someone still figuring out your path, there is space for you here.
Start by learning. Reach out and connect. Then, when you are ready, contribute in your own way.
That is how WordPress grows. That is how communities grow. And that is how we grow as people.
Learn. Connect. Contribute. That is my story.
শিখুন, যুক্ত হোন, অবদান রাখুন; আমার ওয়ার্ডপ্রেস গল্প
শুরু
আমার ওয়ার্ডপ্রেসের যাত্রা শুরু হয়েছিল ক্লাসে। তখন আমি একজন ছাত্র, একটা পোর্টফোলিও ওয়েবসাইট বানাচ্ছিলাম। কাজটা করার জন্য আমি ওয়ার্ডপ্রেস বেছে নিয়েছিলাম কারণ এটা শেখা সহজ আর ব্যবহার করতেও আরামদায়ক। প্রোজেক্টটা শেষ করে গর্ব করে স্যারকে দেখালাম।
কিন্তু প্রশংসার বদলে স্যার বললেন, "এটা বাদ দাও, একেবারে শুরু থেকে PHP দিয়ে বানাও।" কথাটা শুনে খারাপ লেগেছিল। তবুও তার কথা মেনে PHP তে আবার করলাম। কিন্তু সেই অভিজ্ঞতা মনে গেঁথে রইল।
তখনই আমি বুঝে গিয়েছিলাম ওয়ার্ডপ্রেস আমার জন্য একটা নতুন দরজা খুলে দিয়েছে। সেটাই পরে আমার ক্যারিয়ার আর জীবনের পথ ঠিক করে দিয়েছে।
শিখুন
২০১৬ সালে আমি যোগ দিই weDevs এ। তখন কাজ করেছি Dokan, WP User Frontend, WP ERP এর মতো প্রোডাক্টে। এগুলো আমাকে দেখিয়েছিল ওয়ার্ডপ্রেস কতটা শক্তিশালী হতে পারে।
পরে কাজ করেছি ElementsKit, MetForm, ShopEngine, GetGenie AI এর মতো প্রোডাক্টে, যা এখন লাখ লাখ ওয়েবসাইটে চলছে। গত ৮ বছরে আমি ওয়ার্ডপ্রেস প্রোডাক্ট মার্কেটিং এ ক্যারিয়ার গড়েছি, বিভিন্ন আন্তর্জাতিক কোম্পানির সাথে কাজ করেছি তাদের eCommerce, LMS আর SaaS প্রোডাক্ট বড় করতে।
আমি কম্পিউটার সায়েন্স থেকে মার্কেটিং এ চলে এসেছিলাম। প্রথমে ভয় ছিল আমি পারব কিনা। কিন্তু টেকনিক্যাল ব্যাকগ্রাউন্ডটা আমাকে এগিয়ে দিয়েছে। এতে প্রোডাক্ট টিমের সাথে কাজ করা আর ব্যবসার সমস্যা বোঝা সহজ হয়েছে।
ওয়ার্ডপ্রেস আমাকে শিখিয়েছে কৌতূহলী থাকতে, মানিয়ে নিতে আর শেখা চালিয়ে যেতে।
যুক্ত হোন
২০১৭ সালে আমি প্রথম ওয়ার্ডপ্রেস মিটআপ আয়োজন করি। অনুষ্ঠানটা ছোট ছিল, কিন্তু সেখানে সবাই একে অপরকে শেয়ার করছিল, শেখাচ্ছিল, শিখছিল। তখনই বুঝলাম ওয়ার্ডপ্রেস শুধু সফটওয়্যার না, এটা আসলে একটা কমিউনিটি।
এরপর থেকে আমি মিটআপ, ওয়ার্ডক্যাম্প, নানা ইভেন্টে যুক্ত থেকেছি। এখন পর্যন্ত আমি ২৫টা ওয়ার্ডক্যাম্পে অংশ নিয়েছি, কখনো বক্তা হিসেবে, কখনো স্বেচ্ছাসেবক বা আয়োজক হিসেবে। প্রতিটি অভিজ্ঞতা আমাকে নতুন বন্ধু আর আত্মবিশ্বাস দিয়েছে।
প্রথমবার ওয়ার্ডক্যাম্প কাঠমাণ্ডু ২০১৯ এ বক্তা হই। শুরুতে ভয় লাগছিল, মনে হচ্ছিল যদি কেউ না শোনে? কিন্তু মঞ্চে উঠে দেখলাম সবাই শিখতে এসেছে। তখনই সাহস পেলাম।
২০২২ সালে কমিউনিটিতে অবদানের জন্য আমি Yoast Care Fund Award পেয়েছিলাম।
অবদান রাখুন
শেখা আর সংযোগের পর বুঝলাম ফিরিয়ে দেওয়ার সময় এসেছে।
আমি কাজ করেছি WordCamp Mentor আর Global Event Supporter হিসেবে। নতুন আয়োজকদের পাশে দাঁড়িয়েছি, তাদের সাহায্য করেছি। তাদের সাফল্য আমাকে সবসময় খুশি করেছে।
WordCamp Asia আমার কাছে খুবই বিশেষ। আমি ২০২২, ২০২৩ আর ২০২৫ এ আয়োজক টিমে ছিলাম। পরে যুক্ত হই WordCamp US 2025 এর টিমেও।
২০২৫ সালে আমি পাই Automattic Open Horizons Scholarship। একই সময়ে মার্কেটিং এ পিএইচডি করছি, যেখানে গবেষণা করছি কিভাবে নতুন পদ্ধতিতে সফটওয়্যার প্রোডাক্ট প্রচার করা যায়।
এসব অভিজ্ঞতা আমাকে শিখিয়েছে: অবদান মানে সবকিছু করতে হবে না, বরং যা পারেন সেটুকু নিয়মিত শেয়ার করাটাই আসল।
মার্কেটারদের জন্য কথা
আপনি যদি মার্কেটার হন, লেখক হন বা কোডের চেয়ে লেখালেখি ভালো পারেন, তবে নিশ্চিন্ত থাকুন, ওয়ার্ডপ্রেসে আপনার জায়গা আছে।
ওয়ার্ডপ্রেস শুধু ডেভেলপারদের প্রয়োজন নেই। প্রোডাক্ট আর ব্যবহারকারীর মধ্যে সেতু গড়তে যারা পারে, গল্প বলতে পারে, মানুষের সাথে সংযোগ তৈরি করতে পারে, তাদেরও সমানভাবে দরকার।
আমি কম্পিউটার সায়েন্স থেকে মার্কেটিং এ এসেছি, আপনিও পারবেন নিজের জায়গা খুঁজে নিতে। শেখা, লেখা, আয়োজন, মেন্টরিং সবই অবদান।
শিক্ষা
আমার যাত্রাকে তিনটি শব্দ সবচেয়ে ভালোভাবে বোঝায় -
- শিখুন. কৌতূহলী হোন, শিখুন, এগিয়ে যান।
- যুক্ত হোন. সম্পর্ক আর বন্ধুত্বই আসল শক্তি।
- অবদান রাখুন. যা শিখেছেন, সেটা অন্যদের সাথে ভাগ করুন।
শেষ কথা
শুরুতে শিক্ষক আমাকে ওয়ার্ডপ্রেসে কাজ করতে মানা করেছিলেন। তখন খারাপ লেগেছিল, কিন্তু আজ বুঝি সেটাই আমাকে সামনে এগিয়ে নিয়ে গেছে।
ওয়ার্ডপ্রেস আমার শিক্ষক, আমার প্ল্যাটফর্ম, আমার কমিউনিটি। এখান থেকেই আমি ক্যারিয়ার, বন্ধু আর জীবনের উদ্দেশ্য খুঁজে পেয়েছি।
আমি একজন ৩ বছরের মেয়ের বাবা আর একজন গর্বিত স্বামী। পরিবারই আমাকে সব সময় প্রেরণা আর আনন্দ দেয়।
আপনি ডেভেলপার হোন, লেখক হোন বা এখনও নিজের পথ খুঁজছেন, ওয়ার্ডপ্রেসে আপনার জন্য জায়গা আছে। শুরু করুন শেখা দিয়ে, তারপর সংযোগ তৈরি করুন আর ধীরে ধীরে অবদান রাখুন।
শিখুন. যুক্ত হোন. অবদান রাখুন. এটাই আমার গল্প।
The post Learn. Connect. Contribute. My WordPress Story - শিখুন, যুক্ত হোন, অবদান রাখুন; আমার ওয়ার্ডপ্রেস গল্প appeared first on HeroPress.
27 Aug 2025 3:00pm GMT
26 Aug 2025
WordPress Planet
Matt: The Future of WordPress and AI at WCUS
The presentations for WordCamp US are just a few days away! We have some really exciting keynotes including Danny Sullivan from Google, John Maeda from Microsoft AI, and Adam Gazzaley (one of the top neuroscientists in the world) from UCSF. I think being in the room and able to meet the speakers and ask questions is even more valuable this year, as things are changing so quickly. If you know anyone in or near Portland, Oregon have them get a ticket! Here are all the other AI-related talks:
- Scalable, Ethical AI: How to Own Your Content and Your AI with WordPress
- Presenter: Jeffrey Paul, VP of Open Source, Fueled
- Wednesday, August 27, 1:15 PM PT
- Catch Bugs Faster with AI & Playwright (No Hype, Just Results)
- Presenter: Wendy Erdheim-Poch, Senior Automation Engineer, Elementor
- Wednesday, August 27, 3:15 PM PT
- Core AI: What We're Building
- Presenter: James LePage, Head of AI, Automattic
- Thursday, August 28, 10:30 AM PT
- Zero to Plugin in 30 Minutes - Harnessing AI Coding Assistants for WordPress Development
- Presenter: Maulik Vora, Founder and CEO of Zluck Solutions
- Thursday, August 28, 1:45 PM PT
- Fixing and Optimizing websites with AI
- Presenter: Arnas Donauskas, Product Manager at Hostinger
- Thursday, August 28, 3:45 PM PT
- Turn your local WordPress install into your AI coding assistant
- Presenter: Jonathan Bossenger, Developer Educator, Automattic
- Friday, August 29, 10:30 AM PT
- From Storefront to Strategy: What Happens When AI Shops for Your Customers?
- Presenter: Sonja Ibele, Delivery and Account Manager, Syde
- Friday, August 29, 1:15 PM PT
- Unlock Developer Superpowers with AI
- Presenter: Adam Silverstein, Developer Relations Engineer, Google
- Friday, August 29, 2:15 PM PT
26 Aug 2025 2:21am GMT
25 Aug 2025
WordPress Planet
Open Channels FM: LoopConf 2025, the Premier WordPress Developer Conference
We're excited to share that Open Channels is an official media partner for LoopConf 2025, the leading event for WordPress developers, engineers, and builders. This year's conference takes place on Thursday, 25 September 2025 at the historic Bishopsgate Institute in London. LoopConf is known for its high-quality, developer-focused sessions covering everything from advanced WordPress development […]
25 Aug 2025 9:00am GMT
23 Aug 2025
WordPress Planet
Gutenberg Times: WordCamp US, more blocks, a new book, Gutenberg 21.4, and WordPress 6.9—Weekend Edition 338
Hi there,
I am thoroughly giddy for WordCamp US. The schedule looks fantastic. A great collection of Keynote speakers with Amy Sample Ward (NTEN), Danny Sullivan (Google), John Maeda (Microsoft), and Adam Gazzaley (Neuroscape at UCSF).
There are in total 44 sessions, covering three overall topics: "Technical WordPress," "Honing your skills," and "AI." Below you'll find a list of block and block theme-related talks you can follow on the livestream or on demand later on.
And when you read this, I am already on my way to Portland.
Yours,
Birgit
WordCamp US talks and workshops on block development and block themes
Staying within the block editor context, here is the list of talks that tackle the latest blocks buzz.
- Joeleen Kennedy: Modernizing at Scale: How FSE Supports Wikimedia's Evolving UX
- Josh Bryant: Reimagining WordPress Editing: How We Embedded Gutenberg Into Our Product Ecosystem
- Seth Rubenstein: Block Composability: The Past and The Future
- Stephanie Stelzer: Coding the Magic: A Developer's Journey Through Aloha
- Mary Ann Aschenbrenner: Moving a Website from Classic to a Block Theme
- Anton Plauche: Building Resilient Interfaces by Embracing Fluid Design
- Jemima Abu: A PHP Developer's Guide to ReactJS
- Michelle Schlup Hunt: Building Experiences: Design Systems, User Experience, and Full Site Editing
- Tammie Lister: The System is the Strategy
- Jamie Marsland: Launch Your Personal Portfolio-A Hands-On WordPress Workshop
- Ryan Welcher: The Block Developer Cookbook
Developing Gutenberg and WordPress
Jeff Paul posted the members of the Release Squad for WordPress 6.9. It's a mix of community and sponsored contributors. Five squad members are from Automattic; two of them, Jonathen Bossenger and Ryan Welcher are first-timers, paired with longtime contributors on the Triage team and Test team.
In a personal blog post, Exploring work in progress for WordPress 6.9, Anne McCarthy selected a few features on their way to the WordPress 6.9 release and reported on their status. She followed fairly closely the Roadmap 6.9 post and shared updates and discussions that are happening right now, roughly two months away from Beta 1 on October 21.
Rae Morey, The Repository, reported on both publications in WordPress 6.9 Release Squad Named as Features Take Shape.
The latest episode is Gutenberg Changelog 119-WordPress 6.8.2 and 6.9, Gutenberg 21.1, 21.2, and 21.3 Releases with Tammie Lister.

If you are listening via Spotify, please leave a comment. If you listen via other podcast apps, please leave a review. It'll help with the distribution.
Release lead Hector Prieto published What's New in Gutenberg 21.4 and highlighted
- DataViews table layout grouping and multi-selecting
- More on DataViews enhancements
- Style shuffling in write mode

In his August edition of the What's new for developers roundup post, Justin Tadlock has a vast array of released or upcoming updates for you to review. He also added three discussions you might want to chime in on if they are relevant to your work.
- Expanding the Core block library? It might be in the cards
- Proposing more theme.json settings control
- Discussion on "composite" blocks
You also learn about Playground updates and Theme related changes and interesting bug fixes. If you only have time to read one post this week, make it this one.
Never ever miss another post from the WordPress Developer Blog! Subscribe!
Plugins, Themes, and Tools for #nocode site builders and owners
In previous editions of this newsletter, I mentioned the new Events plugin by Lesley Sim and Ahmed Fouad called EventKoi. It works natively with the block editor, supports recurring + multi-day events, and gives you beautiful calendar views out of the box. They are running a Founding Partner Lifetime Deal from Aug. 25-31 only. Learn more and get on the waitlist now.
Ajit Bohra and the team at LubusIN have shared their super cool Slider Block that they originally used for their own projects! Now, you can get it from the WordPress Plugin Directory, complete with a handy setup guide to help you get started.

The new plugin WPMozo Blocks and Addons by Elicus comes with a set of very fancy blocks like FlipBox, Image Card, Tilted Image, and some more. Each of them has also many design choices. If you need some interactive blocks on your site, it's worth checking out.
Theme Development for Full Site and Blocks
On the Developer Blog, Justin Tadlock wrote a tutorial on how to use a new extensibility feature to add custom social links to the block editor: Registering custom social icons in WordPress 6.9. If you want to test this for yourself before WordPress 6.9 comes out, make sure you install Gutenberg plugin 21.1 or newer.

I used this new feature to add podcast directory icons for my block theme on Gutenberg Times. The plugin will be in the WordPress repository as soon as I figure out this SVN version control thingy. The code is available on GitHub.

In her latest tutorial, Anne Katzeff, ASK Designs, explores the core Gallery block and shows how to arrange multiple images in a grid of rows and columns. She also mentioned the 'click to enlarge' feature. Katzeff then continues comparing the default gallery block with the one provided by Kadence Blocks.

Web developer Elliott Richmond delivers a thirty-year veteran's verdict: "Menus have always had one job… to help people find their way around a website." His manifesto against mega-menu bloat reveals hidden SEO penalties-link dilution, crawlability nightmares, and semantic confusion plague JavaScript-heavy navigation systems. Richmond advocates for WordPress's foundational principle: semantic simplicity over marketing spectacle. The prescription? Five to seven top-level items maximum, unified cross-device structure, and letting content-not navigation-handle conversion duties.
Building Blocks and Tools for the Block editor.
Paulo Carvajal shared in his blog post how to build Blocks That Work Seamlessly with Block Themes and the Site Editor. He covers the paradigm shift where everything becomes blocks, emphasizing the importance of integrating with theme.json
design systems rather than using hard-coded styles. Key topics include responsive design integration, global styles compatibility, block patterns usage, and performance optimization for the evolving WordPress ecosystem.
Carvajal is also working on the block editor book called WordPress Editor and Blocks-A Comprehensive Guide.
In his livestream, Ryan Welcher let you in on Block Deprecation Secrets Only WordPress Experts Know as one of the Block Development Cookbook series. He cooked up a tasty recipe block and walked through the process of updating it with block deprecations-the secret ingredient to keeping your blocks fresh while maintaining compatibility with older content.
Brendan O'Connell started a video series talking about Remote Data Blocks. the plugin by the WordPress VIP team. Using it helps you connect the block editor to external APIs and sync data in real time to blocks. It also auto-registers custom blocks with a custom schema.
- In Part 1, O'Connell gives you an introduction.
- In Part 2 He covers using the plugin with an Airtable.
WordPressVIP also held a webinar highlighting the Remote Data Block. Rae Morey, The Repository, has the report for you. WordPress VIP Demos Its New Enterprise Suite: Remote Blocks and Parse.ly AI Updates
Questions? Suggestions? Ideas?
Don't hesitate to send them via email or
send me a message on WordPress Slack or Twitter @bph.
For questions to be answered on the Gutenberg Changelog,
send them to changelog@gutenbergtimes.com
23 Aug 2025 1:58am GMT
22 Aug 2025
WordPress Planet
Weston Ruter: Web Performance Milestone
A couple months ago, this blog reached a web performance milestone which I shared on LinkedIn, Bluesky, Mastodon, Twitter:
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
Yesterday, I checked PageSpeed Insights again, and I was excited to discover that my blog is now also appearing in field metrics for mobile as well! And like desktop, the CWV assessment is also passing for mobile. The eligibility criteria for the CrUX dataset includes that "there must be a large enough number of visitors in order to create a statistically significant dataset." Granted, my site is still only getting enough traffic for origin-level metrics, and I can't see field metrics for the homepage URL specifically, but it's another baby step! (Or maybe a toddler step?)
I've really been trying to double down this summer on tuning every bit of performance possible out of WordPress (on the frontend), using my site as a case study, and I've been sharing my findings in posts here. I hope the site traffic is an indication that the community has found my posts helpful. The learnings are also making their way into Performance Lab feature plugins as well as in performance improvements on the roadmap for WordPress 6.9. I have some more posts that I'm working on. You can subscribe to get them in your inbox.
On August 27th (next Wednesday) at WordCamp US 2025 here in Portland, Oregon, I'm giving a talk called "The Site Speed Frontier with Performance Lab and Beyond" at . I hope to see you there, but it will also be livestreamed and recorded. I'll be blogging an elaborated version of what I have time to share in my talk. (By the way, if you are attending in person, check out My Portland Picks post for what I recommend visitors check out!)
One takeaway I'll be emphasizing in my talk is that we needn't settle with sites merely passing the Core Web Vitals assessment or achieving a "perfect" 100 performance score in Lighthouse. Why be content with a good 2-second LCP when it could be half that or even practically zero? Web performance is a journey, and there's always room for improvement. I can see from my blog's field metrics, for example, that the TTFB is hovering around the threshold between "needs improvement" and "poor". In spite of this, the frontend is so tuned that on mobile the LCP-TTFB in CrUX is 400ms and on desktop it's only 100ms.
I personally love optimizing the performance of WordPress sites, but I get it that this isn't for everyone (nor should it be). By landing our improvements from the Core Performance Team, my hope is that WordPress core (and the ecosystem) will have best practices implemented by default so that site owners needn't worry about performance.
I had to take some PSI screenshots to memorialize the milestone:
Field Data via CrUX


Lab Data via Lighthouse


Where I've shared this on social media if you want to discuss there:
The post Web Performance Milestone appeared first on Weston Ruter.
22 Aug 2025 6:13am GMT
20 Aug 2025
WordPress Planet
Matt: Coyote Card Game
My good friend Tim Ferriss has launched a new card game with the Exploding Kittens folks, I just ordered it and you should do so too. It's a lovely way to share an evening with a few friends.
20 Aug 2025 11:07pm GMT
Aaron Jorbin: A WordPress Book Club
At a previous job, we had an engineering book club. Once a week we would meet and discuss a chapter of a book. It was a good opportunity to hear multiple perspectives on an author's work, to see who agreed with the author and where people thought the author was off-base.
I would like to bring this concept to WordPress, especially to fellow Core Contributors. For the first book, we will be reading Producing Open Source Software by Karl Fogel. This is a book that has greatly influenced my perspective on open source and software development in general.
The club will meet on Google Meet on Tuesdays at 16:00 UTC (edit: This was originally 15:00 UTC. Moving to not conflict with recurring meetings of multiple WordPress teams) for one hour with the following schedule:
- 2 September 2025: Preface and Chapter 1. Introduction
- 9 September 2025: Chapter 2. Getting Started
- 16 September 2025: Chapter 3. Technical Infrastructure
- 23 September 2025: Chapter 4. Social and Political Infrastructure and Chapter 5. Organizations and Money: Businesses, Non-Profits, and Governments
- 30 September 2025: Chapter 6. Communications
- 7 October 2025: Chapter 7. Packaging, Releasing, and Daily Development
- 14 October 2025: Chapter 8. Managing Participants
- 21 October 2025: Chapter 9. Legal Matters: Licenses, Copyrights, Trademarks and Patents
While not an official WordPress event, the expectations from the WordPress Community Code of Conduct will apply and at my sole discretion, violations may result in individuals not being invited to continue. Additionally, participants are also encouraged to blog their thoughts on each chapter.
If you are interested, please leave a comment on this post. I will be getting in touch with respondents. If there is an overwhelming interest, I may need to restrict attendees or run a second meeting.
Props to Jonathan Desrosiers and Tammie Lister for discussing this idea with me, Pattie Reaves for starting the club at PMC and the PMC PEP team who ran the club I was a part of.
The post A WordPress Book Club appeared first on Aaron Jorbin.
20 Aug 2025 7:36pm GMT
WPTavern: #182 – Michelle Frechette and Jonathan Desrosiers on the story of .com and .org
[00:00:19] Nathan Wrigley: Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley.
Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case the long complex story of how WordPress came to have a.com and.org variety.
If you'd like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to wptavern.com/feed/podcast, and you can copy and paste that URL into most podcast players.
If you have a topic that you'd like us to feature on the podcast, I'm keen to hear from you and hopefully get you, or your idea, featured on the show. Head to wptavern.com/contact/jukebox, and use the form there.
So on the podcast today, we have Michelle Frechette and Jonathan Desrosiers. Michelle is well known in the WordPress community for her myriad roles, including Executive Director of Post Status, and program director for WP Includes. She's a prolific freelancer, podcaster, and a driving force behind many WordPress initiatives.
Jonathan is a WordPress Core committer, contributing to the project since 2013, and has been sponsored by Bluehost to work on WordPress Core since 2018. His work largely takes place behind the scenes supporting contributors, maintaining build tools, and keeping WordPress running smoothly for millions of users.
If you've ever searched for WordPress online, you've probably found both wordpress.com and wordpress.org at the top of your results, and like many, you might be unsure what really separates the two.
Today, Michelle and Jonathan helped clear up the history, philosophy, and practical differences between wordpress.com and wordpress.org.
They talk about how these two flavors of WordPress came to be, why they've both been key to WordPress's growth and the ways they overlap and differ in features, user experience, and monetization.
Michelle shares her perspectives as a longtime user and advocate, with experience across both.com and.org sites. While Jonathan dives into the technical and historical details from his Core contributor vantage point.
They also explore whether the naming conventions of .com and.org have helped or hindered the project, and how the WordPress communities open source ethos shapes the ongoing conversation.
Along the way, they touch on how .com made WordPress accessible in the early days, the importance of data portability, and evolving efforts to unify the user experience between the two platforms.
If you've ever wondered which version of WordPress is right for you, why the projects seems split into two variants, or how community and commerce intertwine in the WordPress ecosystem, this episode is for you.
If you're interested in finding out more, you can find all of the links in the show notes by heading to wptavern.com/podcast, where you'll find all the other episodes as well.
And so without further delay, I bring you Michelle Frechette and Jonathan Desrosiers.
I am joined on the podcast by two guests today. I'm joined by Michelle Frechette and Jonathan Desrosiers. Hello.
[00:03:48] Michelle Frechette: Hello.
[00:03:48] Jonathan Desrosiers: Hi, how's it going?
[00:03:49] Nathan Wrigley: Yeah, good thank you. We're going to talk today a little bit about a subject, which I confess confuses me greatly. It's the differences, the similarities between WordPresses variance, .com and.org.
Before we get into that, I know it's a terribly generic thing to do, but nevertheless, we're going to do it anyway because we have a new audience member each time this podcast airs. So I'm going to ask you both to give us your little potted bio. Tell us who you are. So let's start with Michelle.
[00:04:14] Michelle Frechette: Hi, I am Michelle Frechette. I do a lot of freelancing type work in WordPress, and I also am the Executive Director of Post Status, and the Program Director for WP Includes. I have a couple podcasts, a couple different things that I do, lots of different projects I've started, none of which are relevant today.
[00:04:31] Jonathan Desrosiers: Hi, I am Jonathan Desrosiers. I am a WordPress Core committer since 2018. I've been contributing to the project in some way since 2013, and I am partially sponsored by Bluehost to be a contributor to the project.
And so for me, a lot of that results in, some people call it invisible work, but I'm behind the scenes just making sure people are supported properly, they have the resources they need, they're not blocked.
I also do a lot with our build tools. So making sure our tests keep running and our different build processes to build the software that's eventually shipped to the world is working in order. Yeah, you'll find me a little bit everywhere. I'm a generalist. I have my hands in a lot of different things.
[00:05:13] Nathan Wrigley: Well, thank you both for joining me and also for giving us your credentials there. That's great. So we're going to get into this strange topic.
Now, I just carried out a typical search. I went onto a search engine. It wasn't Google, by the way, but nevertheless, I went to a search engine, and I typed in one word, and that word was WordPress.
And I'm now confronted by a result at the top, which says wordpress.com. That came in at number one. The second result for me was wordpress.org. And I'll just give you the headlines. It says wordpress.com, this is the first result, wordpress.com, everything you need to build your website. And then the second result, download wordpress.org.
And both of you know the difference. I know the difference, on a very high level, I understand the difference, but when we get into the weeds, I quickly start to misunderstand what the difference is. But they are different. These two things are radically different in their intention, in the relationship they have with their users, the way that they're monetised, and so on and so forth.
So let's, first of all, just clear that up. Let's rewind the clock, if you like. How did this all start? What's the history of wordpress.com and wordpress.org. And then we can get into what the heck they are and how they're different a bit later. So, I don't know who wants to answer that.
[00:06:28] Michelle Frechette: I'll give a quick start. Then I'm going to let Jonathan get into the more technical aspects of things.
Back in the nineties, blogging became a thing, and lots of people were establishing blogs online through things like Blogger, Blogspot and all those things. And then WordPress was one of the blogging platforms that you could create your blog on. All of them were free. I think I still have a Blogspot out there somewhere with really angsty poetry on it. So if you ever really want to find that out, sure, I could send you a link. But the idea was that, you know, you could get online and you could do the blogging things with it.
And then it was like, well, is it just for blogging or could it be used for other things? And so there are still people today that when you say, oh, I could build you a WordPress website, say, isn't that just a blog? And to which I say, look at all of these websites that are built on, like the White House and NASA and all of these other things that are not just blogging, and are building their websites on WordPress.
But that's different necessarily from wordpress.com where I do have a blog, right? I actually, it's actually a website, wptrailbuddies.wordpress.com. I'm using the free .com to create a very quick, very simple, very easy way for people to sign up for one program.
But I also have several websites built on the .org idea, right, which is self-hosted. Find a host, download the software, or have the one button install, which is much more common now.
And then also I have a paid plan on wordpress.com as well, which takes away any ad space, and also allows me to have plugins and themes within that website.
So that's what I know at the surface level, what are the differences. I know that Jonathan knows much more about the software itself.
[00:08:13] Nathan Wrigley: Yeah, I think you've highlighted some of the top level items, so we'll circle back to those in a moment. But first, let's get Jonathan's take on that. So it's the history question, really. What's the history of these two different things?
[00:08:24] Jonathan Desrosiers: Yeah, so WordPress started as a project in 2003, and it's what we call a fork. And so you probably know if you listen to this, that WordPress is open source software. And basically that means, it's licensed under the GPL, and you have the right to download it, make modifications, see how it works. We distribute, all those things are your right to do with the software that is published.
And so it was forked from a project called b2 where a couple people were not really happy with the development that was happening on that, bugs weren't being fixed to their liking, and so they decided to fork it. And so that was Matt Mullenweg and Mike Little. And that was in 2003, and they called it WordPress. And so that was the beginning of the WordPress project that we know today that is now over 22 years old.
A few years later, Automattic just turned 20 years old, so in 2005, Matt Mullenweg, one of the co-creators of WordPress, co-founders of WordPress, decided to create a company. And so he created a company called Automattic. And the company's bread and butter was obviously WordPress, because he knew it very well. And so that's how wordpress.com came about.
And in many ways it was the first true managed WordPress hosting platform, because you could sign up, you could get a blog for free, and you still can, and your URL will be, you know, nathanssite.wordpress.com, or johnssite.wordpress.com. And you can pay for additional things such as, the subscription plans allow you to have a custom domain name, and that's evolved. The features that you can pay for has evolved significantly over the years.
But along with this is the WordPress software that I mentioned earlier. And so the WordPress software is available for anyone to download and run, as I mentioned. And Automattic has a hosting setup that runs the open source software. And so many of the hosts that you have today, you all run that same software at the core of it, and it's just a matter of what services are surrounded with it. What do they allow you to do within their environment? And how they support you in your journey to have an online presence.
[00:10:36] Nathan Wrigley: So the .com side of things was a very early move. So really, more or less as, I mean we're into sort of the 20 plus years of history of WordPress, but right back near the beginning it was made easier to install. And nowadays, if you go to more or less any host that's got any association with WordPress, they will offer some kind of one click solution, which makes it trivially easy, within a couple of moments, really, and a few buttons, you'll have a version of WordPress. And I'm talking there about the .org side of things. So you'll have a .org install of WordPress. Really straightforward.
However, if you rewind the clock right back to the beginning when .com started, I'm guessing it was a much more painful process. There weren't these managed hosts where you could do that, and so it made sense, I guess, into the market to put something where you didn't need to install anything. You simply sign up, create an account, be it free or paid, we'll get into that in a moment as well, and you've got yourself the software.
And so I guess that's an important part to remember. It was much more difficult back then to do the .org thing than it is now. So many tools now making it relatively straightforward. I guess that's a part of the success of .com, that it was just the first mover made it more straightforward.
[00:11:51] Jonathan Desrosiers: The WordPress project has several philosophies that we use to guide our decisions and how we choose what makes it into the software and what shape that takes. And some of those, for example, are design for the majority, decisions not options, clean, lean, and mean, striving for simplicity, out of the box software.
And so you see this in the setup process in the five minute install. We really aim to make the installation as simple as possible for the software itself. But that doesn't mean the surrounding database set up and server set up and uploading, getting the files on the server, doesn't mean that that's easy as a part of that.
And so WordPress could be two clicks to install. Could be really simple, email and password and installs it for you, but it doesn't really, can only contribute so much to that cohesive experience, that all encompassing experience of what a website is, of what hosting is.
[00:12:42] Michelle Frechette: I think back to, again, the early days of blogging where that was the goal. You could change the colors behind it, you were limited to the theming that was provided with whatever platform you were choosing from. And the way that we've grown from just like, here are your five options, kind of like a MySpace idea, right? You're kind of limited with what you could do back in those days as well, to where you can do a lot more now.
And so even with .com, with the free plan, you have a lot more options than you did 20 years ago, 23 years ago. And if you upgrade to a business plan, then you have all the options basically that you have with the install, the .org install for yourself, self-hosted.
One of the things I love about it is that I don't have to worry about security, I don't have to worry about traffic, and I don't have to worry about upgrades. I don't get a message that my PHP version is outdated. On some other sites where I'm self-hosting, I have to make sure that everything's up to date all the time. With the .com. It's one of those things that I don't have to do.
And so for me, that is one of the benefits. Of course, I have only one site there, but I'm loving the fact I can walk away from it and not be having to check it on a regular basis. And I think that's one of the beautiful things for people who are not tech savvy, because they can get in and do the things like they would in one of the competitors.
[00:13:57] Nathan Wrigley: So a lot of this conversation is going to be done through the prism of history, you know, and decisions that were made which now perhaps people have got opinions about, maybe they think poor decisions were made, or brilliant decisions were made, they were made at a different time.
And I'm going to allude to what I said right at the top of this episode, which was that if you do a Google search, for just simply for the word WordPress, and that probably is the word that you've heard. You probably have no familiarity with whatever WordPress is. You just, somebody told you, you know, you were in a bar somewhere and somebody said, oh, you want a website? WordPress can do that.
So you end up at a search engine and in it goes, WordPress, and up come these slightly conflicting things. And I guess that's maybe where some problems for end users begin. We're in the inside of it all, so we've totally got a grip on this. We might not understand the intricacies of all of the bits and pieces, but we understand what .com is and we understand the difference.
This is a question you don't have to answer in a binary way. It doesn't have to be a yes or a no. But, do you think with the benefit of hindsight, it would've been a good idea to call these different versions different things? So for example, WordPress could have been the .com or the .org, and it would've had a different name for something else. And that's purely from a, keeping it obvious what the two different things are. So again, you can obfuscate or you know, dodge that question if you like.
[00:15:18] Michelle Frechette: I'm reminded of George Foreman, whose children are all named George.
[00:15:23] Jonathan Desrosiers: Most confusing household ever. Without getting into the nuances of the agreements and all, how the permissions work, Automattic just has special permission to use the WordPress trademark. And so that's why it's called wordpress.com and wordpress.org. And while there are some, there is some confusion that comes from that. In many ways, it also has contributed to the success of the project, because in the early days, it was very easy to get a site spun up on WordPress, on wordpress.com, and people started using WordPress.
And so there are definitely people out there that solely started using WordPress because they got to wordpress.com and they were able to get a site. And now more and more hosting companies are much more capable, and we all have our own, like I said, I work at Bluehost, so for example, we have our own special sauce of onboarding, where we ask you a couple questions and we help you. We find that the thing people struggle with a lot is where to start.
You get dumped into WordPress, right? And you don't know where to start. What do I need on my site? What do I make it look like? What do I need to do? And so using these onboarding questions to produce a starting point for you, that's contextual to what you're trying to do. And so that's one of the things that we take pride in is our onboarding process that we're working on and is available if you want to try it out.
But all that to say is that, you know, in the early days it was definitely a benefit. And now as the project has grown to over 40% of the internet, that confusion gets magnified in some ways. And a lot of times that takes the form of, as you said, Googling and finding conflicting resources as people not accurately describing the differences.
We get a lot of tickets on Trac, which is the bug tracking software for WordPress, for the software itself, that incorrectly is saying there's a bug, but it's actually intended behavior, but it's on .com and not in the .org software. The support forums are full of people that are not sure of the difference.
And so it's just important as community members that we keep this in mind, that it's not always easy to understand, but a lot of times people just need a push in the right direction. And in some ways it returns to our philosophies of making it simple because the majority of WordPress users are not technically minded and so they probably don't care about the difference, right? They just want their WordPress site. I have a site, I need it up, I need it to not go down. I need customers. And so keeping that lens in mind as well is helpful to get through this.
[00:17:40] Nathan Wrigley: It is kind of interesting, I've been using the internet more or less from the beginning and although these boundaries have got really blurred, back in the day, anything which ended .org had a real kind of community, charity, non-profit kind of focus to it. I don't know if you both remember that as well, but anything ended .org, it felt like there was a philanthropic purpose to it. And anything which was .com, that wasn't the case.
[00:18:11] Michelle Frechette: It was commerce.
[00:18:12] Jonathan Desrosiers: Commercial. Yeah, it for commercial.
[00:18:13] Nathan Wrigley: Yeah, there go. So commercial, company, along those lines. And I don't know when that was, but that just ceased to be a thing at some point. But back when .com began, naming it .org maybe was a bigger signpost than it now appears to be, if you know what I mean. Oh, look, it's WordPress, it's .org. It speaks for itself. It's a philanthropic version or what have you. And that is maybe a part of the jigsaw puzzle.
And again, rewinding history, when the split happened between.com and .org, I'm presuming that nobody had any intuition that any of this was going to be successful in any way, shape, or form. .com, you know, the commercial wing could have been an absolute failure. The whole project could have collapsed within a couple of years. . org, again, nobody took any interest in it. It just didn't work out. And it became, well, another b2, the annals of history. And it didn't work out that way.
But I guess once you've started down the path, you are going to stick with it. There would be no point 3 years in in saying, you know what? Everybody's confused about .com, .org, we should upend the whole thing. I guess that's off the table a bit at that point as well.
[00:19:20] Michelle Frechette: Well, I think that the generic web user who's not a techie still doesn't necessarily have an idea that the .org and .com were originally intended for different audiences, right? So I think that, I mean there are, definitely are some savvy people who understand that, but I think that the majority of people still, it doesn't matter if it's a .io, we have so many extensions now that I think it's kind of blurred what those actually mean. And if you actually go to register a .org, it'll say, do you want the .com and the dot net, and the dot whatever else too? So that you're kind of getting all of your traffic driven to the same place.
I think that that is something that, yes, we understand that now. And I think that we would've always understood that, the three of us, but I don't know that that was such a huge distinction back in the day.
I also think that it was one of those things where, you know, you have light versions of something or, you know, you have free versions of other things in life that aren't software related that you can upgrade to or that, you know, free gifts with purchase.
And so I think the idea of, you could have this free one, or you can upgrade to these other things, or you could take it and run with it and do it your own thing, I think is something that made sense at the beginning, but again, can be slightly confusing now.
Because I do see people come to my meetup and they're asking questions, and we all try to troubleshoot. We get them to log in, and we're like, oh, okay, now I see, you're using the free version, so you don't have the ability to add this plugin or change your theme this way, or use CSS, you know, and those kinds of things, as you can with the paid version or with the self-hosted. And so I think that there is an opportunity for us to make that distinction in different places.
I will say one of the benefits, however, even if you start on the free .com, you can upgrade to paid and get that, or you can port that over to your own self-hosted as well. Other competitors don't necessarily let you, like take your whole version of your website that you've built on their platform and bring it into a self-hosted situation like WordPress can.
And so even if you made the decision to go with wordpress.com, and halfway through a build, or a year later, realise that you really wish you had done something different, we make it easy for you to be able to take that and move it someplace else, like Bluehost or you know, SiteGround or other places like that. So we make it easy for you. We're not trying to shove you into one box and make you stay there and say look at all those people over there doing things you wish you could do.
[00:21:43] Jonathan Desrosiers: Yeah, I think that the underlying motivations was just fueled by the open source ideals, and the software belongs to the people and not so much specific companies or corporations. And so by putting it in .org, it was just more about being open and available and for the community, right?
Matt and Mike, when they forked b2, the intention was to get more people to work on it with them, right? And ensure that the software that they were running their website with survived and continued to grow and didn't have bugs. And so I think that that was just part of the motivation where, I just looked it up, and the .org domains were intended to only be used by organisations. And it seems like the intention was to require documentation at some point, but it was never enforced.
I mean, when I got, in the late two thousands when I got involved, there was always the perception in my mind that you had to be an organisation to get one of those right? But that's not actually the case. At least my early perception was that I needed it in order to do that. And so I wonder if that persists with other people as well.
And so I think that what Michelle also said resonates well is that, you know, no matter where you WordPress, you're going to be able to take your site with you and go somewhere else. And that's what makes WordPress great. And maybe you're not even taking your site somewhere else, maybe you're just taking out your content and, I don't know, maybe feeding it into AI, or creating a book of all your posts, like a historical reference or something.
[00:23:07] Michelle Frechette: I did that.
[00:23:07] Jonathan Desrosiers: That sounds kind of cool actually, yeah. And so being able to take your content with you and you are the true owner of your content, and you have the rights to it, is not something that's true for other platforms. You know, not to name names, but there's a lot of other website platforms where it's difficult to impossible to extract out your content if you need to move somewhere else.
[00:23:27] Michelle Frechette: It's a lot of copy, paste at that point.
[00:23:29] Jonathan Desrosiers: Yeah, or like finding someone that knows how to create a browser extension, or a scraper or something like that. And so that's always something that I tell someone looking to get started with a website where, you know, it might be easier to get started with this other service now, and it might be okay with your needs now, but if you outgrow that website or that service, it's more difficult to bring it elsewhere later.
We're working on different ways with the data liberation initiative where we're looking at ways to make our data more portable from other platforms to other platforms. And so I really feel strongly about that.
Like, that's the strongest point, one of the strongest points of WordPress is that you own your content, you control it, there's no algorithm changes, you know, on Facebook where all of a sudden people aren't seeing your content. They change a feature, right? People can't react a certain way to your content anymore, and it affects your traffic to your site.
And so I always strongly emphasise that to people, because people don't think about that. They think I just need a website, right? But they don't think about, what happens if I need to make changes and this software doesn't work, or this service doesn't help me anymore?
[00:24:36] Nathan Wrigley: We've definitely moved as a community, and by community I don't mean the WordPress community, I mean the community of online users. We've definitely moved towards more gatekeeping and siloed consent repositories. You know, you think of things like social media, and essentially anything where there's a, you know, a username and a password and a paywall. We seem to be more at peace with that.
And that brings me to the next thing actually. And I'm sorry if this comment lands badly, dear listener, but I think there is something quite curious about our community. I think we are full of people who are very well intentioned, who have extremely benevolent motives, and often, I think, regard commercial things sometimes as something to be viewed with a little bit of suspicion. I don't know if you've detected this kind of thing as well.
All of those things are things which drew me in. They didn't alienate me. They were exactly the kind of people that I wanted to be around. But I do wonder if WordPress' history, so the .com, .org history over the last, let's say 15 years or so, I do wonder if the flavor, the colour of the community, if you like, that we've got meant that we were going to have problems about this .com, .org split.
Because on the one side, fierce, fierce open source advocacy people. You must own your own content. You've got to be able to download the software. This is terribly important, you want to be able to fork it at a moment's notice.
And then on the other hand, a bunch of people are, well, that's great you do that, but I'm happy over here. I'll pay my fee for the premium version of wordpress.com. That's fine with me. I'm okay with that. I don't need all the bells and whistles that you seem to have. I don't need it to be this version and that version. I don't need this plugin or that thing.
But I do wonder if the community that we've got is a part of that. In the mix somewhere is just what we've got. The people that are drawn to open source are going to view the .com side of things with a little bit of suspicion, and maybe see that, you know, that's something which, gosh, we should not have that.
[00:26:46] Jonathan Desrosiers: The only thing I'd challenge you on there is that I don't think it's fair to say that people on the .com side don't also care about the open source ideals. I think that many of them, if not all of them, do care about the underlying principles there. I think that, you always hear, you have to look after your own, right? You have to make sure you can pay your bills and you have a business and you. I'm US based, the American dream, right? Of creating a business and growing that into something sizable that can help people and benefit many.
And so that's my only pushback there is that they do. It's not a binary thing. It's definitely an overlap. And I like to think that there's more overlap than we think. And that might be a little naive, but I do tend to think that it overlaps pretty heavily in that section there.
[00:27:29] Nathan Wrigley: I think you are right, and I think what you've done there is uncovered the poor way that I phrased what I was saying. I think when I was trying to describe that I was, although I didn't say it, I was trying to describe things from the .org point of view only. And so the nature of that community is fiercely protective of the open source values there and what have you. So yeah, you're quite right. It felt, with a bit of hindsight, it felt like that question was coming from both sides and it really wasn't. So thank you for picking me up on that.
[00:28:01] Jonathan Desrosiers: It's normal to be skeptical of other people, right? Especially when you see all these horror stories of this big business, you know, draining these businesses out there that are draining money out of everybody and raising prices and profits are through the roof, right? So it's normal to have this skepticism towards commercial entities, and that they're trying to do the right things and things of that nature.
But to that, I just say to look at how the company and the space is contributing back and how they are ensuring that they do get their fair share of the WordPress pie, that is billions of dollars, on the last publishing that I saw, last report that I saw. But also making sure that that ecosystem is still strong, and supportive of everybody in the pool. To make sure that we can all compete to, you know, there's definitely competition. We're all going to compete together to make sure we're trying to get more of the pie, right? And try to prove that our service or our products are the best.
But, yeah, so I think a little level of skepticism is healthy. You always hear, assume good intent. I think that's very important, and to obviously judge people by their actions and what they do to help grow that open source community while they're living in that .com commercial space.
Yeah, I don't know, Michelle, if you have anything to add there. You probably have a different lens as the non-developer background.
[00:29:19] Michelle Frechette: Definitely the non-developer background here. So you used the word community when you talked about that when you first started the question, and I think we have to think about the fact that the community, although it does encompass both .com users and anybody who's self-hosted through .org. It really is the lion's share of that community comes from that self-hosted .org side. Comes from the people who go to Meetups. Comes from the people who attend WordCamps. And most importantly, it comes from the people who contribute to the ecosystem.
Whether that's by volunteering through the .org and Make WordPress, whether that's selling a product, or having a podcast or any of the things, a newsletter, any of the things that contribute to the success of WordPress overall, it applies across the board. But when you look at all of the volunteerism, and all of the unsponsored people, and even sponsored people who are creating, right? So Jonathan is a developer, he's in the weeds with it. He's got a sense of pride with what the community creates for each other.
And when you have a sense of pride in what you do, you have a loyalty to that as well. And so we are part of a group of people, a huge group of people, a multimillion group of people worldwide who are this .org community with some .com community peppered in. So of course there's going to be skew, one direction versus the other.
I don't think it's necessarily derision. That I don't think people like necessarily look at .com and go, ugh, what do they say? The redheaded stepchild of, you know, .org or whatever. I think it's more along the lines of, we know this, we use this. We want other people to use this too. This is our community and this is what we've built this community around.
But I think that democratising publishing is used by both, right? So if you look at .org and .com, we talk about democratising publishing. And the free .com allows people in incredibly socioeconomically depressed areas, and who have very little side income to be able to start a website. The ability to do that, whether it's a website to talk about a service that they offer. Whether it's a website just to blog. Whether they're trying to monetize or not, there's opportunities for people around the world to create a free, absolutely free website on .com.
And have it say, you know, michellefrechette.wordpress.com, because that's what I could afford at the time. And then when I can, I either upgrade to paid, or I port that over to a self-hosted situation. So I think that both of them really have an amazing place in our ecosystem, but we tend not to see that when we sit squarely in one side or the other.
[00:32:02] Nathan Wrigley: Do you know? That's a really interesting point, and one I cannot believe I've never thought about that. Over all these many years of thinking about WordPress and all of its different flavors and things, wordpress.org carries the word free around with it in my head. I'm thinking wordpress.org, free. I'm struggling to imagine a scenario where it is entirely free to deploy.
[00:32:25] Michelle Frechette: I used to say WordPress is free like a free puppy. A free puppy, you still have to take to the vet, and buy food, and get their nails trimmed, and buy the leash, and all of the things that go along with a free puppy. WordPress.org is like that. It's a free puppy. You still have to pay for hosting and pay for themes, and I mean, you couldn't do it fairly inexpensively, but not a hundred percent free.
[00:32:44] Jonathan Desrosiers: I was just going to add in, likewise, it's not free to get to the point where it's published. And another thing that you brought up, Michelle, that made me think is, I mentioned about judging companies based on how they contribute and the ideals they follow. But that also is true for the individuals that spend their personal time, or self sponsor, to contribute to the software.
And so they are not looking, most likely, not looking for your business. They may be if they're a freelancer type thing. But in most cases they're looking for just recognition, or maybe a job, or maybe sponsorship, so that they could continue to help the software grow.
And so there's multiple lenses to that commercial side of things, right? Where we talked about .org versus .com, and commercial versus, open source. But within that, there's also other layers of that as well where you're contributing to make sure the software grows, so that your company continues to do good. But also maybe you just really enjoy the software and believe in it and want to contribute on your own to ensure that that same thing happens.
[00:33:46] Nathan Wrigley: Yeah, interesting. I'm just going to finish off my thought from previously there. So the free to download bit, I think where I was going with that was that there's a minimum of hosting. In order to get that free version of the software, the zip file that you download. In order to make it meaningful, you've got to at least do the hosting. The other bit, well, I suppose you could host it on your own computer, but good luck with that if you're a newbie.
[00:34:09] Jonathan Desrosiers: I challenge that too, not necessarily, right? Like a website is only as good as who can access it, if they find what they're looking for. But you could very easily just run WordPress on a Raspberry Pie somewhere in your basement that, you know, you use it to send requests to, to turn on your lights or something like that, or sync up your garage door. You know, you could theoretically use WordPress to do all these types of things.
So I would also challenge you to think outside the box a little bit on that. I'm not saying it's a good idea and I'm not saying I might grunt at you when you come with your really weird obscure edge case in Trac, but that's part of the great thing about WordPress.
[00:34:45] Michelle Frechette: But it's possible.
[00:34:46] Jonathan Desrosiers: You can use WordPress in many different ways, with many different combinations of plugins and themes. And that makes WordPress great, but it also makes it incredibly difficult to maintain and ensure that backwards compatibility, which is one of our main pillars, is sustained release to release.
[00:35:02] Nathan Wrigley: It's fascinating. Yeah, what insight that was. That's remarkable.
The commercial side, so the .com side where you're paying a subscription if you want the different tiers and the abilities that you get for doing that, I don't know if any of this data is available, whether it's been published, whether it's easy to access, I'm not sure. But I'm guessing that there is some through line between the profitability of the .com business side of things, and the open source project.
We all know that many, many, many volunteers contribute to .org in every conceivable way. Whether that's to the code, to events, to whatever it may be. But I'm imagining there is some connection. Maybe it's attenuating a little bit more now. Maybe it was more in the past than it is now. But I'm imagining that there is a connection between sales, unit sales of the .com out into the open world, and people being paid, seconded, and what have you, to work on the .org side.
I actually don't know if there's any truth in that, if there's anything there, but I'm imagining there is. If the .com business pays for the .org side to be as successful as it is essentially is what I'm trying to say.
[00:36:18] Jonathan Desrosiers: Yeah, I mean, historically Automattic has been the most sizable contributor to the project. There's something called the Five for the Future Project, which is basically a challenge to companies, or individuals, making a living on WordPress to contribute 5% of their time back to the project. It's a great initiative. That's something that I was hired to participate in, so I'm very thankful for that because I'm able to have employment to work on open source software because of it.
But there are some flaws with it in that 5% isn't right for everyone. It's a goal, right? It's, I've talked about this at WordCamps in the past, but time is not necessarily a good measure because it doesn't measure the impact you have, or the productivity, or the efficiency that you have, right? So you could spend one hour working on this one bug fix that could fix screen reader software for millions of people accessing sites across the world. That's very meaningful and that has a very strong impact. But that's very hard to measure. And hours is certainly not the way that you can measure that.
So it's a good idea. I like that a lot of people rallied behind that, and that it's a very strong program. There's a lot of participants. I'm looking forward to the next iteration of that, which a lot of community members are discussing and, you know, I'm sure leadership is always thinking about that as well. Like, how can we improve this and encourage more people to contribute and give back?
And so I guess all that to say that, you know, I guess .com and Automattic have contributed a sizable amount to the project over its history, and many other companies as well have historically contributed a lot back too.
[00:37:53] Nathan Wrigley: So another thing that I wanted to discuss, which we haven't discussed so far is the sort of different feature set that you get, and the evolution of that over time. So if I was to get a .com site back, I don't know, 12 years ago, the things that I could do with that would be different to what I can do now.
Obviously with the .org side, all bets are off. You can do what you wish with that. It's yours. You can do anything you like. But on the .com side, it was limited in certain ways. The software was designed presumably to facilitate whatever it was that their agenda items were, whether that was profitability, growth, simplicity to use, whatever those metrics were.
Where are we at at the moment? Because it kind of feels like the two are coalescing, especially from a UI point of view. It feels like there's moves at the moment to make the .com side be brought in line with the .org side. So the .org UI it feels like is going to be made available or pushed into the .com side.
And that kind of feels curious to me. It always felt that the UI was a big differentiator, like, you know, it looks different, you can immediately see that's a .com website. Maybe in the future it won't be. So let's just talk around that. What are the differences in what you can do with the platforms? And then maybe we can get onto the UI and the UX.
[00:39:08] Michelle Frechette: So the free .com versus the upgraded paid plans have very different things that you can do within them. And then the paid plans are almost identical to what you can do with self-hosted. And so the difference really is you're looking at the free plan versus any upgraded paid plan.
And with the free plan, you're very limited into plugins and themes. There are very few that you can choose from. There's more now than there were 10 or 15 years ago for sure. And I think my experience with logging into a free .com site looks different now than it did 10 or 12 years ago as well. But it still looks different than it does on a self-hosted WordPress installation.
That does change with an upgrade plan, because now you have a lot more features that you can add, you can bring in plugins, you can change a lot of the way that things look through CSS or through customisation. And so, yes, I think that the paid plan and the self-hosted are very much in sync with one another.
But the free plan still looks, to me at least, a lot different. And when I tried to add CSS to what it said, oh, you need to upgrade to do that, which I understand, right? So if they gave away everything, then there would be no money coming into the company to be able to operate and to pay the employees that actually work at Automattic. So yeah, I think there is still a difference. And I know that Jonathan probably knows a lot more about the technical differences than I do, but that's my experiential difference.
[00:40:38] Jonathan Desrosiers: Well, one interesting fact is that wordpress.com is just one multi-site. So when you create a site, it's just all in the same instance of WordPress. You just have your own space on that install.
[00:40:48] Nathan Wrigley: That is truly remarkable by the way. That is a quite numbing thought when you actually ponder that for a moment.
[00:40:54] Jonathan Desrosiers: For anyone that's worked with multi-site, you know how challenging it is to have 10 sites, nevermind millions of sites. So it's definitely impressive and interesting.
I'd also add that, you know, Michelle has talked a lot about more the personal style plans, right? Where we mentioned you get a free site if you have your site at nathan.wordpress.com. You can pay, you know, to get a domain, like I mentioned is the next plan. And then you can pay for more things like different plugins and different backups, whatever the features are that they offer.
But after you get past that, there's additional tiers for people like agencies. There's very, very high level, reliable hosting for companies that run Fortune 500 companies, Fortune 10 companies, whatever it is that they need more handholding. They need you to help them with engineering maybe with their team. There's tiers all the way up to that level at Automattic. And I think it's fair to say that any, you know, they have plans that compete with any different tier that may be out there.
There's e-commerce plans and all of that. And, you know, at Bluehost we have e-commerce plans. We have managed plans just like they do. And like I said, before, we're all trying to have our special sauce to make our home the best place to WordPress and for you to come and want to set up your site and make a living on us.
[00:42:09] Nathan Wrigley: So then back to the question of the, what feels like an endeavor to make the .com look a lot like the .org. Now that was something that I caught sight of not that long ago. It was probably, maybe, I want to say about eight weeks ago, something like that. I don't know if either of you caught that piece of news, and whether or not that's in fact moving forward. But the idea is to make a default version of .org basically identical in terms of look and feel.
I found that curious. I wondered what the intention was there. Was it purely just to have, I don't know, one base of software that could be relied upon for both, or whether it was to make it easier to do a migration in either direction? I don't know. So, I don't know if either of you do.
[00:42:48] Jonathan Desrosiers: So a little, I guess a little history is that wordpress.com used to use the same dashboard as .org. And a while ago there was a project called Calypso, and that is basically the dashboard that you know probably from the last five years or so. And I can't confirm this, but I believe that it was an exploration on what the dashboard, what a new WordPress dashboard could be. And I think that they've realised that having your own dashboard that's different than .org is not really the best path.
And there's a few reasons for that. One is that we mentioned you have millions of sites on .com, right? That's all very valuable feedback from using the software. And if they're using a different dashboard than everybody that's not on wordpress.com, that's basically lost opportunities to receive feedback on the software that we're building. And so that's one aspect.
And the other aspect is that, if you have a different dashboard, you have to have people maintaining that different dashboard, and making sure it works with all the new features that are added to wordpress.org. Make sure it's sustainable and performant and all of this requires resources. But if you could adapt your products to use the same dashboard that everybody else has, then maybe you could take some of those resources and put them back to the .org software, instead of the internal Calypso project.
I should correct that, it wasn't an internal project, it was used internally. It is open source and, especially initially there was a lot of encouragement for community members to participate in that. And so it's not like it was a closed thing where they shut everybody out and they wanted, you know, it to be their own thing. It wasn't trade secret type stuff. It was open source.
So, yeah, those are just two things that stand out to me as reasons why you would want to use the same experience that everybody else has, as it just contributes to the greater good of the software and the health of the ecosystem.
[00:44:45] Nathan Wrigley: Yeah, it's interesting, and again, something I hadn't really thought about. The heuristics that would come out of .com. Well, for a start, it's incredibly cohesive. That data set is going to be enormous, whereas trying to gather that from all the other versions of WordPress, you would obviously have to opt people into that to begin with. But also, it would be very difficult to gather all of that, whereas presumably the .com side of things has got that completely sealed up. So yeah, again, really interesting.
It is curious. I don't really know if we'll ever overcome in people's heads the, well, for some people I think it's a chasm. You know, it's a really big divide, the difference between .org and .com. But I think we've done a fairly good job of explaining what the history is, why the things have been done in the way that they've been done, maybe a little bit into the future and how things are going to look.
I don't know if there's any salient point that you think we missed there, but if not, I think we'll round it up. So I'll just ask Michelle first. Anything you wanted to get across about that before we knock it on the head?
[00:45:43] Michelle Frechette: I think that we often talk about .org versus .com as though they were adversarial, but it's really just a comparison as opposed to one being better than the other. I think you choose the option that's best for you and your goals, and there's nothing wrong with choosing any of those options.
[00:46:02] Jonathan Desrosiers: Yeah, I'd just add that with any technology or anything, knowledge is not always binary, right? It's a spectrum. And so how can we better expose people to the concepts, better explain them to people so that it's easier to understand and get up to speed on what different concepts are. Technical concepts, brand concepts, whatever that may be, software, and strive for simplicity, right? That's our, one of our philosophies. And so how can we make things more simple so that more people are able to better understand and be empowered to have a better online presence by having a greater understanding.
[00:46:37] Nathan Wrigley: Well, thank you both for picking that puzzle apart with me. That's been really interesting. So Michelle Frechette and Jonathan Desrosiers, thank you both for joining me today. Really appreciate it. Thank you.
[00:46:46] Michelle Frechette: Thanks for having us.
[00:46:46] Jonathan Desrosiers: Always a pleasure. Thank you Nathan.
On the podcast today we have Michelle Frechette and Jonathan Desrosiers.
Michelle is well known in the WordPress community for her myriad roles, including Executive Director of Post Status and program director for WP Includes. She's a prolific freelancer, podcaster, and a driving force behind many WordPress initiatives.
Jonathan is a WordPress core committer, contributing to the project since 2013, and has been sponsored by Bluehost to work on WordPress core since 2018. His work largely takes place behind the scenes, supporting contributors, maintaining build tools, and keeping WordPress running smoothly for millions of users.
If you've ever searched for "WordPress" online, you've probably found both WordPress.com and WordPress.org at the top of your results, and, like many, you might be unsure what really separates the two.
Today, Michelle and Jonathan help clear up the history, philosophy, and practical differences between WordPress.com and WordPress.org. They talk about how these two flavours of WordPress came to be, why they've both been key to WordPress' growth, and the ways they overlap and differ in features, user experience, and monetisation.
Michelle shares her perspective as a long-time user and advocate, with experience across both .com and .org sites, while Jonathan dives into the technical and historical details from his core contributor vantage point.
They also explore whether the naming conventions .com and .org have helped or hindered the project, and how the WordPress community's open source ethos shapes the ongoing conversation.
Along the way, they touch on how .com made WordPress accessible in the early days, the importance of data portability, and evolving efforts to unify the user experience between the two platforms.
If you've ever wondered which version of WordPress is right for you, why the project seems split into two variants, or how community and commerce intertwine in the WordPress ecosystem, this episode is for you.
Useful links
Michelle's WP Trail Buddies on WordPress.com
20 Aug 2025 2:00pm GMT
HeroPress: The Stone That Turned Out to Be Gold – My WordPress Journey
When I first heard about WordPress, people talked about it like it was a joke - the cheap shortcut for people who couldn't "do real coding." I wasn't looking for money, fame, or even a side hustle. I just wanted to know what the fuss was about so I could talk with authority the next time it came up. What I didn't know was that I was picking up a stone that would later prove to be gold - taking me from clueless newbie to community leader, and from replacing demo content to designing websites for real clients… and even offer consultancy services
"The thing you throw away may be the thing you look for tomorrow." - Ugandan Proverb
Scratching in the Sand
People often ask me:
"Moses, tell us about your WordPress journey."
I always laugh and say: "Ah, my friend, it's the story of the stone that turned out to be gold."
In life, we pick things here and there. Like children at the seashore - a shiny shell here, a bottle cap there, a flat stone for skipping on the water. You never really know which one will be precious until life polishes it for you.
For me, that "stone" was WordPress.
The Reputation of a 'Cheap' Tool
Back then, WordPress had a bad reputation in my circles. I have a computer science background, and among my peers, real developers stayed up late wrestling with raw code until their eyes were bloodshot.
WordPress? "That's for people who can't code," they'd say. Even teachers, IT technicians, and random tech hobbyists had an opinion - and it wasn't kind.
But one day, while working as a school technician, I saw my friend Mr. Dumba mention WordPress on a teachers' WhatsApp group. He had just started using it to build sites and was offering to journey with some people.
I thought: "Hmm… let me check this thing for myself. If it's nonsense, at least I'll know. And if it's good, I can talk about it without looking like I just fell off the mango tree."
I wasn't looking for money. I just wanted to have an opinion. You see, I'm the kind of person who enjoys jumping into conversations with some authority - even if I learned the thing yesterday.
My First Meetup - Lost in the Blocks
My first WordPress Meetup was all about Gutenberg. This was around 2018 - actually 2018. Gutenberg was super fresh and not even fully launched yet
Laurence was introducing this "block editor" thing. Everyone was nodding seriously. Me? Everything went in through one ear and politely left through the other without even greeting my brain on the way out.
Just as I was wondering if I had wasted my time, someone said:
"If you're here for the first time and you don't understand anything, that's okay."
Inside me, something jumped: "Eh! That's me you're talking about!"
The Mind-Opener: Offline Development
Then, Mr. Lutaaya introduced us to building WordPress sites offline.
My friend, this was a million Dollar revelation.
Until then, I thought websites could only be built online - which meant needing fast internet and a good computer. And in Uganda? The Internet was like a stubborn goat - expensive and disappearing when you needed it most.
With XAMPP, I could build ten websites in a week without spending a coin on data. They were ugly, yes, but they were mine.
Falling in Love With Elementor
Not long after, I met Elementor. Ah! It was like discovering rolex after years of plain chapati.
No coding headaches. Just drag, drop, and design. I paired it with the Astra theme plus Starter Templates (now called Starter Sites) and started cranking out websites - or what I thought were websites.
If a client needed a hospital site, I'd hunt for a hospital theme with demo data. School site? Same thing. All I did was replace demo pictures of dogs with cows, or gardeners with goat herders, and voilà - "Nice website!"
The Drupal Disaster That Changed Me
Then came my humbling moment.
At WordCamp Kampala in 2019, a UCU student asked me to help her migrate her site from Drupal to WordPress. I said confidently: "No problem!"
A few hours later, I realized… big problem.
This wasn't a "replace the dog with a cow" job. It needed a full custom theme. I needed knowledge on custom design which I had never paid attention to. I had no clue how to make one from scratch. That day, I felt like a boda boda rider asked to fly a helicopter.
I failed her completely.
But in that failure, a fire was lit. I decided to actually learn custom design.
Facing Real Problems
By January 2019, I built my company's first fully custom site. It wasn't perfect, but it taught me about responsiveness, optimization, and making sure a site looked good on desktop, laptop, and mobile. My first website was so beautiful on Desktop but so broken on Mobile. Everyone was complaining about it and I wasn't seeing the problem until I saw it on my phone. Whoah, it looked so horrible that a witch's house was more organized. Everything was flying to where it found peace but inside my heart, I was happy with the learning curve that was super achievable.
This was no longer a hobby. I was in deep. Curiosity building into a desire
A few years later, I learned Divi. I learned Gutenberg properly now known as FSE (Full Site Editing). I even designed my first block editor site and felt like a genius. A few years later, I used the block editor to design an entire WordCamp website, with a friend (a member from the local community) - and it worked beautifully.
Finding the Real Gold: Community
The real treasure, though, wasn't Elementor, Divi, or even my first paying client. It was the WordPress community.
Other tech communities can be stingy with knowledge. In WordPress, people shared openly. Sometimes the knowledge shared required resources that even cost money but people still offered. In my very first days Rogers offered me a starter package with hosting and management and by then we were using the .ml and .tk domains from FreeNom since it was free. The people I met in the community teach you how to do the exact thing they do for a living - no gatekeeping, no "first pay me - Awesome, Right? I thought so too."
I realized:
Contributing to WordPress is like washing the plate you ate on.
It's a privilege, not a burden.
From Local Meetups to the White House
I've spoken at Meetups, organized WordCamps, helped beginners install WordPress for the first time, and served in multiple WordPress teams.
And I've seen where WordPress can go. It powers embassy websites. It's used by the Ugandan State House. It even runs the White House site in the USA.
If the White House trusts it, my friend, no one can convince me otherwise.
From Rock to Treasure
I joined WordPress at version 4.9. Now we're in the 6.x series. I've grown alongside it - from a confused attendee to a community leader, from a "text-replacing" novice to a custom developer.
When I picked up WordPress, I thought it was a useless rock. But when I washed it, shaped it, and put it in the fire, it gleamed like gold.
WordPress is gold. Pure and simple.
"The thing you throw away may be the thing you look for tomorrow. WordPress was my stone that turned out to be gold."
The post The Stone That Turned Out to Be Gold - My WordPress Journey appeared first on HeroPress.
20 Aug 2025 5:00am GMT
19 Aug 2025
WordPress Planet
WordCamp Central: Nurturing New Contributors: WordPress Kolhapur Community’s Online Contribution Series

Following the incredible success of WordCamp Kolhapur 2025 (January 11-12), our passionate local WordPress community launched a dedicated nine‑event Online Contribution Series to help new and aspiring contributors explore different ways to contribute to the WordPress project.
As the Lead Organizer of WordCamp Kolhapur 2025, I felt inspired to conceptualize and lead this initiative, supported by my fellow community members. After several thoughtful discussions and planning sessions, the series was finalized and officially kicked off on March 14, 2025. The complete nine‑event series was organized through the WordCamp Kolhapur Meetup group, with Abhay Kulkarni organizing and volunteering for every meetup to ensure smooth coordination. I served as the speaker and mentor for each session, guiding both new and experienced contributors through various areas of the WordPress project.
Why We Started the Contribution Series
I was a mentee in the WordPress Contributor Mentorship: 2024 Q4 Cohort and successfully graduated from the program in November 2024. During this journey, I not only learned how to contribute effectively to WordPress Core, but I was also recognized as an All-Star Mentee and earned a place in the program's Hall of Fame!
Additionally, I received a Diversity Scholarship to attend WordCamp Asia 2025. These scholarships are designed to support individuals who are passionate about contributing to the WordPress ecosystem but may face financial or logistical challenges.
Inspired by my cohort experience and the opportunities I received, I wanted to give back to the community. What better way than by becoming a mentor myself, guiding and inspiring others to start their own contribution journey?
And that's the core reason we started the WordPress Contribution Series.
Event Recap
After the planning and preparation, here's how the contribution series unfolded across different meetup topics:
Kickstart Your WordPress Contribution Journey
Date: March 15, 2025
This opening session focused on getting contributors started with the basics - setting up a WordPress.org profile, joining global Slack channels, and understanding the various Make WordPress teams. The session concluded with a photo contribution activity where participants submitted original images to the WordPress Photo Directory.
- Total Contributors: 9
- First-Time Contributors: 3
Core Contributions: Testing & Release Parties
Dates: March 25, April 1, 8, 14, and 15, 2025
These sessions were designed to help participants contribute to WordPress Core by testing the Release Candidate versions of WordPress 6.8. Rather than writing code, the focus was on functional testing, identifying bugs, and joining the community for release celebrations.
- Total Contributors: 28
- First-Time Contributors: 23
Pattern Contributions
Date: March 29, 2025
This meetup introduced contributors to the WordPress Pattern Directory. Attendees learned how to design block patterns, follow accessibility guidelines, and submit reusable layout designs to enrich the editor experience for users worldwide.
- Total Contributors: 12
- First-Time Contributors: 11
Polyglots / Translation Contributions
Date: April 5, 2025
This session focused on language accessibility. Contributors worked on translating WordPress core, plugins, and themes into regional languages. Guidance was provided on using translation tools and maintaining quality across localized strings.
- Total Contributors: 8
- First-Time Contributors: 7
WordPress TV: Talks, Videos & Guest Participation
Date: April 12, 2025
In this session, contributors explored how to contribute to WordPress TV through video uploads, captioning, and translating community talks. We also hosted guest speaker Prathamesh Palave, who shared insights on creating impactful presentation content.
- Total Attendees: 13
- Guest Speaker: Mr. Prathamesh Palave
Contributors from the Series
We're proud to recognise all the individuals who actively participated in the series: Rajesh Rathod, Suraj Sutar, Prashant Patil, Shubham Patil, Pritam Sonone, Vaibhav Singh, Ketan Niruke, Digvijay Zite, Rajendra Ghorpade, Prathamesh Bhagat, Shreyas Desai, Sunita Khattar, Nilesh Shiragave, Amit Bhosale, V Gautam Navada, Snehal Kashid, Rupesh Patil, Akshay Dhere, Aditya Bansode, Suhas Sutar, Vaibhav Nawale, Dheeraj Bhosale, Rajendra Patil, Prathamesh Palave, Soham Joshi, Mrunal Kulkarni, Harshada Patil, Abhay Kulkarni & Makarand Mane
Additional Online Meetup: Contributing to the Test Team
Two months later, we hosted an online meetup dedicated to contributing to the WordPress Test Team.
- Date: June 15, 2025 (update if needed)
- Guest Speaker: Mrs. Krupa Nanda
Krupa explained how the Test Team helps ensure the quality of WordPress releases by performing functional and regression testing. She also guided attendees on:
- Reporting and triaging bugs
- Using testing tools effectively
- Participating in release testing initiatives on Make WordPress Test
The session provided a clear roadmap for contributors to get started with testing activities.
Recording: Watch Here
Closing Thoughts
The WordPress Kolhapur Contribution Series proved that WordPress thrives when we lift each other up. New contributors gained confidence, mentors found joy in guiding, and our community grew stronger and more inclusive.
The Kolhapur WordPress community continues to host regular contribution‑focused events and welcomes contributors from around the world to join us.
If you feel inspired to begin your own contributor journey-or to help others start theirs-connect with the Make WordPress Community Team.
Together, we can build a better WordPress for everyone.
19 Aug 2025 12:41pm GMT
Matt: MCP NYC Hackathon
Over the weekend, Automattic/Beeper had the pleasure of hosting and sponsoring the Build the Future MCP Hackathon in New York City organized by Adam Anzuoni, alongside Anthropic, Stainless, WorkOS, Smithery, and MongoDB. As someone deeply passionate about open-source technology and the potential of AI, I was thrilled to not only support this event but also to speak at it and serve as one of the judges. For those unfamiliar, MCP stands for Model Context Protocol and enables AI models to interact with multiple tools in a more efficient and structured manner, allowing developers to create sophisticated agents that can handle complex tasks. And it's only 8 months old! The energy in the room was electric-hackers collaborating, iterating, and demoing groundbreaking projects in just a few hours. (I would love to see the results of a longer overnight or all-weekend hackathon.)













For a wrap-up of the winners, check out this great X/Twitter thread by Alex Reibman. The first-place winner, Levels AI, orchestrates different AI/ML models to solve specific business requirements without needing heavy manual coding or specialized teams. Essentially, it's models creating more models-a meta-approach to AI that could streamline operations for companies of all sizes. Yusuf Olokoba said the name was inspired by Pieter Levels, which is pretty cool. I wanted to note one team in particular: BeepResearch, which used our early access Beeper API and local MCP.
Judging the entries was tough! People built so much cool stuff in a really short period of time. I always say technology is best when it brings people together, and this was a great example of that, and makes me very excited for Contributor Day at WordCamp US next week. (Which has such a stacked AI program as well.) Hopefully some people who enjoyed the office might consider getting 24/7 access.
I also just want to take a beat and say how amazing it is that I'm blogging this, on a United flight from Houston to San Francisco I've taken a million times, on a plane 36,000 feet in the air and technology is amazing. I can't wait until United has Starlink!
Also last week the WordPress AI team shipped its MCP adapter!
19 Aug 2025 7:15am GMT
18 Aug 2025
WordPress Planet
Open Channels FM: Open Channels FM End of Summer Break
We are taking a break until September to accommodate vacations and back-to-school preparations while finalizing our rebranding efforts for a polished look.
18 Aug 2025 12:16pm GMT
Open Channels FM: Why Customer Success is Worth the Investment
These days, it feels like every business is leaning on AI, chatbots, or endless help articles. While those tools can help, they often leave customers frustrated and waiting for real answers. What actually makes a difference is human-centered service. Customers want to know someone is listening, taking ownership of their problem, and working to solve […]
18 Aug 2025 8:25am GMT
14 Aug 2025
WordPress Planet
Open Channels FM: Maintaining Legacy Support in WooCommerce and WordPress While Building for the Future
In this episode, listen in as we discuss the significance of backward compatibility in WordPress, sharing insights from expert Gary Pendergast on technical challenges and real-world examples.
14 Aug 2025 10:09am GMT