Dev Chat Summary, September 20, 2023

The notes from the weekly WordPress developers chat which took place onย September 20, 2023 at 20:00 UTCย in theย coreย channel ofย Make WordPress Slack.

Key Links

Announcements

No announcements were made this week.

Highlighted Posts

Hallway Hangout: Performance Improvements for WordPress 6.4: Make plans to talk Performance at this hangouts session planned for October 19, 2023 at 15:00 UTC.

Analyzing the Core Web Vitals performance impact of WordPress 6.3 in the field: Read this thorough breakdown from @felixarntz of how 6.3 performance improvements have been reflected on production sites using WordPress at scale. Feedback in invited on the post.

Community Summit Discussion Notes: Increasing contributor recognition and celebration: Join the discussion on how contributor impact can be better identified and highlighted. The discussion at the summit considered the system of props, credit outside of a release, badges, encouragement of contribution.

Evolving the FSE Outreach Program: A reminder to provide feedback on the next phase for theย #fse-outreach-experiment: Deadlineย for feedback: Friday, September 22, 2023

Additional Highlighted Post on Interoperability under Open Floor.

Release Updates

Next major WordPress release: 6.4

The last bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub before BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 will be on Monday, September 25, 2023 at 17:00 UTC.

More on 6.4 highlighted under Open Floor.

Beta 1 is scheduled for next Tuesday, September 26.

Stay in the loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop with 6.4 by following:

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/

Reminder: the revised release schedule for the next Gutenberg release is as follows:

  • Gutenberg 16.7 RC1: released September 20 (originally planned for September 13)
  • Gutenberg 16.7: September 27

Components & Tickets

Testing request following a recent bug scrub from @joedolson:

  • TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. #58912: Mobile: Adminadmin (and super admin) menu unexpectedly closes with Safari โ€“ after the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. is updated, this will be ready for testing
  • Trac ticket #58756: Media library improvements: UIUI User interface, Non-closing options, and Button select state issues in image editing โ€“ this is ready for testing
  • Trac ticket #40822: no longer requires further feedback and is ready for commit


From the tickets posted by @oglekler before dev chat, assistance is needed with the list of tickets left to tackle before Beta 1 (updated September 22, 2023):

  • Trac #55459: Change Login Label name
  • Trac #56886: Admin facing add site screen missing search engine visibility field
  • Trac #58703: wp-list-table: <label> is preceding <input> in the checkbox column โ€“ this ticket has a new patch, and further testing is requested
  • Trac #40762: Login: add canonical admin shorthand URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org for login.php

Open Floor

  • Call for WordPress developer proposals: Update from @adamsilverstein regarding Interop 2024 was added to the Highlighted Posts list by @webcommsat.
    Seeking proposals for Interop 2024. WordPress developers are asked to contribute their proposals for 2024 asย on GitHubย or as a comment on the proposals post. Interop aims to improve interoperability across the three major web browser engines (Chromium, WebKit and Gecko) in important areas as identified by web developers.
  • Call for assistance with 6.3.2: @joemcgill highlighted @mikeschroderโ€˜s message about next steps for getting another bugfix out for 6.3, and if there were any contributors available to help lead the release.
    • @ironprogrammer raised that there may be many busy with beta 1 next week, and more hands may be raised after this
    • @jeffpaul thought the concern before WCUS was that something(s) milestoned for 6.3.2 might be worth getting out before 6.4 lands.ย He asked if people had interest and availability, could they share this in the #6-3-release-leads Slack channel as it would be very helpful.
  • ** A number of contributors highlighted the final stretch to 6.4 Beta 1, and the calls to help deal with as many bugs as possible, clear triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. queues, and review available content.
    @cbringmann reminded the meeting that contributions are for all and not restricted to just the release squad and cohort. She thanked everyone who is lending a hand to the 6.4 release.

Next Meeting

The next meeting will be onย Wednesday September 27, 2023, at 20:00 UTC.

Are you interested in helping draft Dev Chat summaries? Volunteer at the start of the next meeting on theย #coreย Slack channel.

Props toย @ironprogrammer for hosting the meeting,
@webcommsat and @zunaid321 for the notes,
and to @marybaum and @oglekler for reviews and updates on tickets.

#6-3, #6-4, #dev-chat, #meeting, #summary

X-post: Community Summit 2023: Your Role in Whatโ€™s Next

X-comment from +make.wordpress.org/summit: Comment on Community Summit 2023: Your Role in Whatโ€™s Next

Seeking proposals for Interop 2024

TL;DR

Once again itโ€™s time to submit your proposals, as Interop 2024 is happening! WordPress developers, please contribute your proposals for 2024 as on GitHub or as a comment on this post.

What is Interop?

Developing for the webโ€™s diverse browsers has historically been complicated by gaps in browser capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). that developers had to work around. Interop is a multi-year, multi-browser effort to address that.ย 

Interop aims to improve interoperability across the three major web browser engines (Chromium, WebKit and Gecko) in important areas as identified by web developers. Interop provides a benchmark โ€“ agreed on by representatives of three major browsers and developed through a process of public nomination โ€“ and a scoring mechanism.ย  The overall goal is to make developersโ€™ lives better by enabling a widely compatible โ€œBaselineโ€ of web platform features.

The scale of WordPress and the wide variety of use cases we support puts WordPress developers in a unique position to contribute to and benefit from this effort. In the past, WordPress has helped identify and adopt important features like `srcset` and native lazy loading, and Interop gives us an opportunity to contribute feedback directly to browser developers.ย 

The Interop 2023 work has already made great progress including on suggestions WordPress developers made on last yearโ€™s post like color-mix, inert, import-maps and some contentEditable areas. Now, the effort has begun to identify issues for Interop 2024.ย 

What browser interoperability issues continue to present problems for WordPress developers? You can make suggestions to the Interop 2024 project directly by opening a GitHub issue or leave a detailed comment below.

Suggestions can include features that have inconsistent behaviors across browsers or features that arenโ€™t available in all browsers. When formulating proposals, keep in mind that the goal of the project is to improve interoperability between browsers rather than identify new features.

What potential features in WordPress are blocked by cross-browser compatibility issues? Help make browsers better by submitting issues!

#browser-support, #developer-experience, #standards

Default Theme Chat Agenda: September 20th, 2023

his is the agenda for the weekly Default Theme chat scheduled for 20th September 2023, 3pm UTC.

This meeting is held in the #core-themes channel in Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.

  • Topics
    • Upcoming BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1:
      • A11YAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues
      • String translations
    • First build for Beta 1 at the end of the week
  • Open Floor

#6-4 #agenda #bundled-theme #core-themes #twenty-twenty-four

Dev Chat agenda, September 20, 2023

The next weekly WordPress developers chat will take place onย Wednesday, September 20, 2023 at 20:00 UTCย in theย coreย channel ofย Make WordPress Slack. All are welcome.

More items will be added to this agenda as they come in.

Summary of Dev Chat, September 13, 2023 โ€“ thanks to @zunaid321 and @webcommsat

Welcome and housekeeping

Announcements

Highlighted posts


Analysing the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. web vitals performance impact of WordPress 6.3 in the field

Community summit: encouraging recognition for contributors discussion.

Reminder: The FSE Outreach Program is evolving.

  • The FSE Outreach Program will become a focused space for solving issues, creating resources, and facilitating conversations around Phase 2 adoption. You can contribute by commenting on this post.
  • After 6.4ย betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process.ย 1, the facilitated calls for FSE testing will be replaced by ad hoc calls for testing run by the Make Test team or contributors who need specific features tested.
  • Deadline: share feedback by September 22, 2023

Forthcoming release updates

Current major WordPress release: 6.3

Reminder: WordPress 6.3 developer notes.

Next major WordPress release: 6.4

WordPress 6.4ย Betaย 1 will be September 26, 2023.

Existing 6.4 useful links

Release parties schedule for 6.4

Roadmap to 6.4 โ€“ this release is scheduled for November 7, 2023.

Bug Scrub Schedule 6.4

6.4 Development Cycle

Project Board for Editor Tasks for WordPress 6.4 on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/

Reminder of revised schedule:

  • Gutenberg 16.7 RC1 on September 20, 2023 (originally planned on September 13)
  • Gutenberg 16.7 on September 27, 2023

Tickets or Components help requests

Please add any items for this part of the agenda to the comments. If you can not attend dev chat live, donโ€™t worry, include a note and the facilitator can highlight a ticketticket Created for both bug reports and feature development on the bug tracker. if needed.

Request from the bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs from @joedolson to get some testing on the following tickets: #50846, and #58912

Open floor

If you have any additional items to add to the agenda, please respond in the comments below to help the facilitator highlight them during the meeting.

#6-4, #agenda, #dev-chat

Performance Chat Summary: 19 September 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Priority Projects

Server Response Time

Link to roadmap projects

Contributors: @joemcgill @spacedmonkey @aristath @swissspidy @thekt12 @mukesh27

  • @spacedmonkey
  • @mukesh27 Iโ€™ve been working on issue #22192 and have received some feedback related to backward compatibility onย the PR. Iโ€™m now in need of feedback from Joe and Felix
  • @thekt12 #58319 completed (about to be committed)
  • @thekt12 #58196 in progress, planning to give for initial review tomorrow
  • @joemcgill I made good progress on #57789 yesterday and could use a second set of eyes. It doesnโ€™t full solve the issue of making Theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. data persistent, but is a step in that direction, which reduces unnecessary recalculation of that data during a page load. Iโ€™m going to work on a parallel PR to the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ repo to get some testing of the strategy in the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. prior to making the change in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

Database Optimization

Link to roadmap projects

Contributors: @spacedmonkey @mukesh27

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a userโ€™s browser. https://www.javascript.com & CSSCSS Cascading Style Sheets.

Link to roadmap project

Contributors: @mukesh27 @10upsimon @westonruter @spacedmonkey

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @joemcgill @pereirinha @spacedmonkey

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy @flixos90

  • @flixos90 Last week I spent some time conducting field analyses to assess the performance impact of the WordPress 6.3 release. Primarily focusing on Web Vitals metric LCP which measures load time performance, and how itโ€™s affected both in general, but also specifically by the two major enhancements that were projected to affect LCP:
    • the emoji loader script optimizations
    • the lazy-loading plus fetchpriority improvements
  • Sharing the most important highlights:
    • Overall, the Largest Contentful Paint (LCP) passing rate has improved by 5.6% for classic theme sites and by 2.7% for blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme sitesย :tada:
    • The Largest Contentful Paint (LCP) boost for classic theme sites using the emoji loader script is 3.4% to 7% higher than for those thatย donโ€™tย use it, and for block themes itโ€™s 0.7% to 4.5% better as wellย :tada:
    • When looking at only the sites where that is the case and which were still lazy-loading the LCP image with WordPress 6.2, the LCP performance impact amounts to a massive 16% to 21% improvement for mobile viewports and 6% to 9% on desktop.ย :tada:
    • Lazy-loading accuracy has notably improved: In WordPress 6.3, only 9-10% of sites still lazy-load their LCP image for classic theme sites (down from 27-28% in 6.2) while for block theme sites itโ€™s 5-8% (down from 17-29% in 6.2)ย :tada:
  • @flixos90 drafted and published the Analyzing the Core Web Vitals performance impact of WordPress 6.3 in the field post
  • @joemcgill Nothing new from me this week, but we expect to do an initial round of benchmarks against WP 6.4 beta1 after itโ€™s released next week.

Ecosystem Tools

Link to roadmap projects

Contributors: @mukesh27 @swissspidy @westonruter

  • No updates this week

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • No updates this week

Open Floor

  • @joemcgill I wanted to mention that we should probably prepare some time after beta1 next week for some initial triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. of any performance issues we see after the first round of code syncing from the Gutenberg project has occurred.
  • @spacedmonkey I would like to start a tracking ticket for dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. this team is going to work on
    • Created https://github.com/WordPress/performance/issues/840 for tracking 6.4 Trac tickets that require dev notes

Our next chat will be held on Tuesday, September 26, 2023 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Analyzing the Core Web Vitals performance impact of WordPress 6.3 in the field

As highlighted in the WordPress 6.3 performance summary post, the 6.3 release included numerous performance enhancements. Based on the lab benchmarks cited in that post, the test sites used with WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. were loading 27% faster for blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes and 18% faster for classic themes based on the Largest Contentful Paint (LCP) metric.

While lab benchmarks are great to estimate the projected performance impact of a release, the tests are not representative of the average WordPress site and real-world traffic. Therefore, it is crucial to further review and attempt to validate the impact in the field, i.e. on actual production sites using WordPress, at scale. Last week, three analyses were conducted to assess the performance impact of WordPress 6.3, using the public data sets from HTTP Archive and the Chrome User Experience Report.

Highlights of the WordPress 6.3 performance analysis findings

Before diving into the results, the term โ€œpassing rateโ€ should be briefly explained here. It denotes the percentage of sites in a dataset for which a specific Web Vitals metric performs better than the threshold value that is considered โ€œgoodโ€. For LCP, that encompasses all sites in the dataset that load faster than 2.5 seconds in total per the LCP metric. For example, if 600,000 out of 1,000,000 URLs have an LCP faster or equal to 2.5 seconds, the LCP passing rate is 60%.

The results from the analyses indicate that WordPress 6.3 is indeed a great success from a performance perspective, as indicated by the lab benchmarks. Some notable findings to highlight include:

  • Looking at all applicable sites in the dataset, the Largest Contentful Paint (LCP) passing rate has improved by 5.6% for classic theme sites and by 2.7% for block theme sites for mobile viewports. In terms of the absolute LCP passing rate, for classic theme sites this means a bump from 31.3% to 33%, while for block theme sites it means a bump from 42.8% to 44%. For desktop viewports, the improvements are not as pronounced, yet they are still positive. See the source for overall LCP passing rate changes.
  • When segmenting between sites that use the emoji loader script and the sites that have disabled it, the impact of the improvements to the emoji loader script are clearly visible. The Largest Contentful Paint (LCP) boost for classic theme sites using the emoji loader script is 3.4% to 7% higher than for those that donโ€™t use it, and for block themes itโ€™s 0.7% to 4.5% better as well. To outline the numbers behind that more clearly, classic theme sites using the emoji loader script see a relative LCP boost of 8.4% on phone and 2.4% on desktop, compared to only 1.4% and -0.8% for those that donโ€™t use the emoji loader script. Similarly, for block theme sites using the emoji loader script the relative LCP boost amounts to 4.2% on phone and 0.8% on desktop, compared to only -0.3% and 0.1% for those that donโ€™t use the emoji loader script. See the source for LCP passing rate differences between sites using vs not using the emoji loader script.
  • When looking at the impact of more accurate lazy-loading heuristics and support for fetchpriority="high", segmentation is especially important, since the enhancements themselves have a varying degree of accuracy. As a reminder, the LCP image of a URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org should not be lazy-loaded, but it should have fetchpriority="high". When looking at only the sites where that is the case and which were still lazy-loading the LCP image with WordPress 6.2, the LCP performance impact amounts to a massive 16% to 21% improvement for mobile viewports and 6% to 9% on desktop. Even in absolute LCP passing rate numbers, this is a jump of 4.3% for classic theme sites and 8% for block theme sites, which is nothing short of amazing. See the source for LCP passing rate changes for sites that no longer lazy-load LCP image and use fetchpriority correctly.
  • Of course this only applies to a subset of sites, however the accuracy of the lazy-loading heuristics has notably improved as well: In WordPress 6.3, only 9โ€“10% of sites still lazy-load their LCP image for classic theme sites (down from 27โ€“28% in 6.2) while for block theme sites itโ€™s 5โ€“8% (down from 17โ€“29% in 6.2), so this multiplies the above LCP improvements horizontally. See the source for the accuracy comparison of how many sites (correctly) no longer lazy-load their LCP image.

Explaining the metrics

Tooling used

HTTP Archive is an open-source project that runs a pipeline across millions of URLs every month to monitor the state of the web, recording aspects like which technologies are used, how specific web features are being leveraged, how many HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. tags or attributes of a specific kind are present on pages, and much more. The Core Performance Team has been heavily relying on this tool to measure success of specific features or enhancements in WordPress core releases. In fact, HTTP Archive even monitors a few specific metrics that are specific to WordPress.

The Chrome User Experience Report (short โ€œCrUXโ€) exposes Core Web Vitals (CWV) performance data for millions of URLs, based on how real-world Chrome users experience visiting those URLs. While the tool can be used for individual sites to monitor their Web Vitals (e.g. via PageSpeed Insights), the data can also be aggregated at a larger lens. While CrUX does not contain much data other than the actual Web Vitals metrics, intersecting its dataset with that of HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. Archive allows gathering valuable insights. For example, it becomes possible to group sites into specific segments (such as all sites that use WordPress) and measure their CWV passing rates.

Both HTTP Archive and CrUX expose data aggregated on a monthly basis.

Joining data from HTTP Archive with data from CrUX is the foundation for tools like the Core Web Vitals Technology Report, which displays CWV passing rates for numerous technologies over time. The dashboard also includes WordPress-specific passing rates, which can be helpful to look at for a quick overview of how WordPress sites are performing on the web at a glance. However, it should be noted that those numbers are quite broad, since the passing rates are based on all WordPress sites in the dataset, regardless of the version used or any other factors. Therefore, in order to assess the impact of a specific WordPress release such as 6.3, a more granular approach is needed.

Methodology

The WordPress 6.3 performance summary post highlighted two client-side performance enhancements as the main sources for the improved LCP performance, which are the optimizations of the emoji loader script (see #58472) and the lazy-loading fixes plus the newly added support for the fetchpriority attribute, which are closely related (see the WordPress 6.3 image performance enhancements post). To assess whether those enhancements resulted in the anticipated LCP improvement, two analyses were conducted specific to those efforts.

Additionally, a broader analysis was conducted to compare the LCP performance of WordPress 6.3 and WordPress 6.2 sites overall, as well as their Time to First Byte (TTFB) performance, which directly impacts LCP as well. While with broader analyses like this one it is impossible to directly connect it to specific enhancements or fixes that launched as part of that release, it is crucial to look at the performance impact as a whole as well to get an idea how successful the release is at scale, regardless of how a specific feature is being used.

The analyses were conducted by running various BigQuery queries against the intersection of HTTP Archive and CrUX datasets, specifically zooming in on only the sites that were using WordPress 6.2 in July 2023 and WordPress 6.3 in August 2023. To present the approach, queries, and results transparently, the research tool Colab was used.

The links below point to the three Colabs with the analyses. They are quite detailed, so for a quick summary you may want to continue reading this post first. Please feel free to dive into the individual Colabs and their details, which you can also use to validate the summary below. Potentially you will find other notable metrics to highlight, or additional conclusions to draw.

It should be noted that any field metrics need to be interpreted carefully as they always contain some degree of noise. Websites change over time in many ways, and it is impossible to eliminate external factors from the data. For example, a WordPress site may be slower with WordPress 6.3 than it was in 6.2 simply because it activated a new pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. in the meantime that impacts performance. Such scenarios cannot be reliably detected and are therefore part of the metrics as well. Fortunately, the number of WordPress sites in the dataset is quite large: Looking at only the WordPress sites in the dataset that match the aforementioned criteria, we are looking at more than 500,000 WordPress home page URLs. This means that such specific side effects of individual sites usually have only negligible impact when looking at the overall data. Still, this is something to keep in mind: While field data is the closest there is available to assess the actual performance impact of a change, field data cannot be used to confidently claim that something is true or false โ€” it has to be interpreted.

Conclusion

The large positive LCP impact confirms that the 6.3 release is an important milestone for WordPress performance. The numbers are particularly impressive on the sites for which the lazy-loading behavior was fixed and where fetchpriority support was correctly added. This shows the potential vertical impact that a few specific changes like that can have. Of course the overall LCP improvements are not as high, but it confirms this is a large opportunity: By further improving the heuristics so that they apply correctly to more WordPress sites, the horizontal impact of the change can be increased so that in the future the large LCP benefits may scale to even more sites.

Another metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. observation worth noting is that the LCP passing rate improvements in WordPress 6.3 compared to 6.2 for the correct behavior above (16-21% higher LCP passing rate) is actually not too far off from the lab benchmarks measured for 6.3 a few months ago (18-27% faster LCP). This makes sense, given that for lab benchmarks the test site was a simulated scenario where lazy-loading and fetchpriority were behaving correctly. It is great to know that the lab benchmarks carry some weight even when compared to the field impact.

Last but not least, there are also two points to be highlighted which show that there is still room for improvement:

  • The accuracy with which fetchpriority="high" is applied to the LCP image is only around 50% across all scenarios. While this is okay for the newly added support of the attribute, it is clearly something to follow up on. Getting the heuristics for applying fetchpriority right is even more challenging than not lazy-loading the LCP image especially since the LCP image may differ between different viewports, but itโ€™s safe to say there should be more that WordPress core can do in that area. At least, it is relieving to see that the negative LCP impact of adding fetchpriority="high" to the wrong image is fairly low, compared to the negative LCP impact of lazy-loading the LCP image. See the source for fetchpriority accuracy against the LCP image and the source for LCP passing rate changes for sites that no longer lazy-load LCP image but use fetchpriority incorrectly.
  • At a higher level, the Time to First Byte (TTFB) passing rate is not seeing much of an improvement and in parts is even regressing: For mobile viewports, the TTFB passing rate is improving between 1.6-1.7%, while for desktop viewports it is regressing by ~4.9% for classic theme sites and ~9% for block theme sites. Itโ€™s impossible to connect that to specific changes that landed in WordPress 6.3, and as mentioned before it could be affected by external factors, but it clarifies that server-side performance needs to continue to be a point of focus. See the source for overall TTFB passing rate changes.

Please feel free to take a closer look at the analyses and leave your feedback as comments on this post. Additional thoughts, observations and questions are much appreciated.

Props @joemcgill @westonruter for proofreading.

#6-3, #analysis, #performance, #summary

Performance Chat Agenda: 19 September 2023

Here is the agenda for this weekโ€™s performance team meeting scheduled for Sep 19, 2023 at 15:00 UTC. If you have any topics youโ€™d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, youโ€™ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Hallway Hangout: Performance Improvements for WordPress 6.4

Following up on the prior performance related hallway hangout for WordPress 6.3, @flixos90 @joemcgill and @clarkeemily will be co-hosting an upcoming hallway hangout to discuss happenings for 6.4.

If youโ€™re interested in joining, the Hallway Hangout will happen onย 2023-10-19 15:00. a Zoom link will be shared in the #core-performance SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ย channel before starting.

At a high level, we will go through quick intros (what each person does/focuses on) before reviewing WordPress 6.3 performance impact in the field, diving into WordPress 6.4 performance improvements and looking ahead at what can be learned for WordPress 6.5.ย 

As a reminder, hallway hangouts are meant to be casual and collaborative so come prepared with a kind, curious mind along with any questions or items you want to discuss around this important area of the project, especially since the agenda is intentionally loose to allow for it.

Noting this specifically for folks who have expressed interest previously or who are involved directly in this work cc @hellofromtonya @aristath @oandregal @tweetythierry @desrosj @youknowriad @spacedmonkey @swissspidy @westonruter @adamsilverstein @mukesh27 @joemcgill @johnbillion @10upsimon @thekt12 @linsoftware @pereirinha

Recording

Attendees

@mukesh27 @joemcgill @thekt12 @flixos90 @clarkeemily @adamsilverstein @westonruter @pbearne @swissspidy @10upsimon

Notes

Overview of 6.4 performance improvements

During the call, @joemcgill discussed the benchmark results from WordPress 6.4 where we have identified good improvements for classic themes in particular, and a hypothesis for where those improvements came from was discussed. Currently, itโ€™s difficult to identify where the improvements to classic themes in WordPress 6.4 comes from, but the team are planning to spend additional time investigating this.

@adamsilverstein discussed whether we can start to identify these differences using automated testing, but the variance is difficult to assess. @adamsilverstein suggested having the data in Opentelemetry or Grafana where you can map a trendline with all the data. However, the set up that you use for testing makes a large difference to results.

@flixos90 mentioned that the old approach for benchmarking provided different results compared to the new approach. @joemcgill discussed important considerations for benchmarking, saying that lab results are instructive, however this does not necessarily translate to what we see in the field. @pbearne suggested a query string switch and for people to disable a range of variables, and potentially we could build in A/B testing, this could be a headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโ€™s opinion about your content and you/ your organizationโ€™s brand. It may also look different on different screen sizes.. This could point towards a third method, lab in the field benchmarking!

@flixos90 shared this spreadsheet where benchmarks were compared from previous WordPress versions to WordPress 6.4, as we know so far. This contains only one negative number which is a great result! The results from the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ actions workflow built by @swissspidy are relatively consistent. @pbearne discussed diminished returns as we do the benchmarks, and discussed how best we set expectations around these improvements.

@flixos90 one thing the performance team needs to work on is consistency in benchmarks. The WordPress 6.3 in the field post was discussed. It was great to see lazy loading and fetchpriority contributed to these improvement and improvements to LCP were discussed. The CWV tech report which looks at overall WordPress, using all sites that are listed in the httpHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. archive dataset, was also shared and discussed at length. Between July this year, and September this year, the CWV passing rate went from 39% to 41.5% passing rate which is a significant improvement in a short space of time.

Performance dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. for WordPress 6.4

Upcoming Improvements in WordPress 6.5

@joemcgill took us through some upcoming improvements for WordPress 6.5, including:

  • Sever Timing
    • Performant translations pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. (see #59656)
    • Template loading (includes WP_Theme_JSON improvements)
    • BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. HooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. follow-up
  • Review Fonts APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
  • Image optimizations
    • Better sizes calculations (to be completed after 6.5)
    • Block template image optimizations (#59464, #59577)
    • Continue improving LCP heuristics (fetchpriority, lazy-loading)
  • Database optimization
    • Auto-loaded options next steps
  • Measurement

The future of WebP images was discussed at length towards the end of the meeting.

#hallwayhangout, #performance

Editor Chat Agenda: September 20th 2023

Facilitator and notetaker: @fabiankaegy.

This is the agenda for the weeklyย editor chatย scheduled forย Wednesday, September 20th, 2023 at 04:00 PM GMT+2.

This meeting is held in theย #core-editorย channel in the Making WordPressย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.

  • Announcements
  • Project updates
  • Task Coordination
  • Open Floor โ€“ extended edition.

If you are not able toย attendย the meeting, you are encouraged to share anything relevant for the discussion:

  • If you have an update for the main site editing projects, please feel free to share as a comment or come prepared for the meeting itself.
  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda, #core-editor, #core-editor-agenda, #meeting