Core Performance Team Update: April 2024

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Scrub on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

The Performance Team posted an overview of WordPress 6.5 performance improvements. The team are now working on tickets for the 6.6 milestone. Currently there are 4 closed tickets, and 14 tickets that are in progress (see Trac tickets).

INP research opportunities

Work continues from the Performance team on the INP improvements identified in the summary document. Please reach out to @adamsilverstein if anyone is interested in contributing.

Improve template loading

Work continues on several TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets relating to template loading (see overview issue) including #59600 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: Use a cache for block template files, #57789 Make 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. related caches persistent and #59595 Improve performance of WP_Theme_JSON::compute_style_properties.

Additional Plugins

The Performance Team is aiming to kick off the Image Prioritizer 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 this week which will split out the image-specific logic from Optimization Detective, leaving that plugin as an 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. dependency. We can then feature Image Prioritizer in the PL plugin to promote to users. The team is also focused on the API to facilitate a more accurate sizes attribute, and started looking into creating a Colab to capture and compare metrics for this. More to follow in the coming weeks on this. 

Team headlines and updates

The Performance Team is gearing up for WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Europe in Turin, 13-15 June. There will be a Performance Table on Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. (Thu Jun 13) led by @adamsilverstein – we would love to see as many people there as possible!

The article How WordPress Is Creating a Faster Web was published on the WordPress News blog, covering the Performance Team’s work and accomplishments. In addition to that, the team shared an interactive Colab tutorial for conducting WordPress performance research in the field.

Performance Lab Plugin

Performance Lab plugin updates are released monthly on the third Monday of the month.

This month the Performance Team released version 3.0.0 of the Performance Lab plugin improving the UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. for the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of modules to plugins (see overview issue). The Speculative Loading plugin was warmly received by the community. This work is now considered complete and any future infrastructure work on the Performance Lab plugin will be handled in the usual process through the GH repo. Work will continue on streamlining PL plugin and other standalone plugins #1061 and also on updating the standalone plugin assets #1136.

Following the 3.0.0 release, the team also updated documentation in the Performance Handbook around Proposing a New Plugin for the Performance Lab and Writing a Plugin for the Performance Lab based on the infrastructure updates. 

#core-performance, #performance

Core Performance Team Update: March 2024

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Scrub on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

The Performance Team contributed towards 20 tickets for the upcoming tickets for WordPress 6.5, and are now directing their attention to the 6.6 milestone. Currently there are 2 closed tickets, and 14 tickets that are in progress (see Trac tickets).

INP research opportunities

The Performance Team has been focusing on research around potential INP improvement opportunities across the WordPress Ecosystem, which are now summarized in this summary doc (along with a linked spreadsheet with all the data). If you would like access to the colab and queries, please request it directly in the colab. The Analysis section highlights some notable data for both core and plugins/themes (with action items) that will be worth investigating further. The Performance Team invites the community to leave comments/questions on the document itself so they can be discussed at a subsequent weekly Performance meeting.

Improve template loading

Work continues on several TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets relating to template loading (see overview issue) including several PRs for #59600 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: Use a cache for block template files. 

Additional Plugins

The Performance Team are pleased to announce the two new plugins, Embed Optimizer and Optimization Detective have now been released and are available for installation. The community are invited to please install and test these plugins, and provide feedback. 

Team headlines and updates

Earlier this month, the Performance Team took part in Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. at WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia where the team not only made contributions to WordPress itself, but most importantly held crucial conversations with other key community members. Adam landed a core Fetch Priority enhancement to the script loader 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. to enable the fetchpriority attribute in the wp_preload_resources filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.. Weston met with Elementor Product Lead Shilo Yemini to discuss Optimization Detective and bundling it with Elementor as the solution for identifying and optimizing the LCP elements. Landing this feature in Elementor could be a huge win for their LCP performance and a great way to gather more data for a potential core merge.

At the WordCamp Asia conference itself, Pascal gave a talk on Democratizing Performance and Adam presented a great summary of INP. Both presentations were greatly received by the audience who were really enthusiastic about WordPress performance and the team’s efforts so far.

Performance Lab 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

Performance Lab plugin updates are released monthly on the third Monday of the month.

There was no release this month for the Performance Lab plugin as the team are focused on improving the UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. for the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of modules to plugins (see overview issue) as well as improvements to the user experience of the Performance Lab screen itself, to put the focus on features as opposed to plugins. The team is aiming to launch the new user interface mid-April in the 3.0.0 release.

#core-performance, #performance

Core Performance Team Update: February 2024

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Scrub on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

The Performance Team is focusing on upcoming tickets for WordPress 6.5, including the Performant Translations work #59656, and support for the AVIF image format #51228. The team have created several dev notes for the Performance work included in WordPress 6.5:

Interactivity 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.

The Performance Team has been supporting on the efforts for the interactivity API TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. ticket #60356 has now been merged as part of WordPress 6.5 which will allow new interactive features to be shipped to users using less client-side 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/., resulting in better metrics for LCP, CLS and INP. The merge announcement post provides additional information.

Server Response Improvements

In addition to the performance improvements to the I18n system and for registering 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. Type Variations—both of which target server response times—the team also worked on:

  • Improving Block Pattern registration performance (#59532)
  • Improving the performance of the 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 Dependencies feature (#60518

Plugin Checker

The Performance Team has continued work on the Plugin Checker, collaborating closely with the Plugin Review team and are pleased to announce the release of version 1.0.0, which alongside a new technical foundation brings several enhancements, such as WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ support. 

Additional Plugins

The Performance Team are also working on 2 new plugins; Embed Optimizer and Optimization Detective. Please see#core-performance channel in Slack for more details on when these will be released.

Team headlines and updates

The team has been working closely on profiling WordPress 6.5 throughout 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. this month and look forward to sharing the results once the release is out.

Performance Lab Plugin

Performance Lab plugin updates are released monthly on the third Monday of the month.
February’s release 2.9.0 included several enhancements for working towards creating standalone plugins. It now recommends the new plugins “Auto Sizes for Lazy-loaded Images” and “Speculation Rules” (958), and it comes with an enhanced generator tag that includes the standalone plugin slugs (949). A  Server-Timing 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. bug has been fixed (957). The team are working towards the major 3.0.0 milestone which will introduce separate plugins, where the user will be asked to install/activate the standalone plugins instead of the previously used PL modules.

#core-performance, #performance

Core Performance Team Update: October 2023

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Scrub on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

The focus in October was on tickets prioritized for the upcoming WordPress 6.4 release in which 68 TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets were merged. Several follow up fixes were committed in the past few weeks to further polish performance enhancements in the 6.4 release. Early indications of benchmarking are showing positive improvements in performance, especially in server response time. The team focused on finalizing dev notes for the work:

The Performance Team is now starting to focus on upcoming tickets for WordPress 6.5, including the Performant Translations work mentioned below, and several items for improving template loading (see GitHub overview issue).

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 Checker

The Performance Team has continued work on the Plugin Checker https://github.com/WordPress/plugin-check, working closely with the Plugin Review team. 

Performant Translations Plugin

Further updates have been made to the Performant Translations plugin and a Trac ticket #59656 has been opened for merging Performant Translations in WordPress 6.5.

Team headlines and updates

In October, the Performance Team held a Hallway Hangout to discuss 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. The recording of the video will be shared over the coming weeks.

Performance Lab Plugin

Performance Lab plugin updates are released monthly on the third Monday of the month.
October’s release 2.7.0 included enhancements to remove fetchpriority as the functionality is now available in WordPress Core, bumped the minimum required PHP version to 7.0 and minimum required WordPress version to 6.3 and the dominant color images standalone plugin was published. Work also continues on updating the new UI to manage standalone plugins and built-in modules.

#core-performance, #performance

Core Performance Team Update: September 2023

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Scrub on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

In September, the Performance Team published a post regarding Analyzing the Core Web Vitals performance impact of WordPress 6.3 in the field, which details the findings from the analyses that were conducted to assess the performance impact using public data sets from 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 and Chrome User Experience Report.

The focus in September was on tickets prioritized for the upcoming WordPress 6.4 release for which 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 was released on September 26, 2023. Early indications of benchmarking are showing positive improvements in performance. Noteworthy inclusions in WordPress 6.4 include: improvements to template loading performance 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 Classic Themes, usage of the new script loading strategies “defer” and “async” in core, blocks, and themes, additional enhancements to optimize image loading performance, and new functions to optimize the use of autoloaded options.

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 Checker

The Performance Team has been working with the Plugin Review team to launch an early version of the Plugin Checker discussed in the Turning the Tide blog post. This has now been merged into a single repo under the WordPress organization https://github.com/WordPress/plugin-check. Look out for updates over the coming weeks.

Performant Translations Plugin

Further updates have been made to the Performant Translations plugin and next steps here would be to test the plugin and determine a path forward to integrate into WordPress Core. To test the plugin, please see the Call for Testing: Performant Translations post.

Team headlines and updates

In October, the Performance Team also has a Hallway Hangout scheduled (announced in this blog post) for  2023-10-19 15:00, where we will review 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. 

Performance Lab Plugin

Performance Lab plugin updates are released monthly on the third Monday of the month.

September’s release 2.6.1 was a smaller release including removing the PHPStan config file from the plugin directory and also adding assets to the various Performance Lab plugins (Fetchpriority and WebP Uploads). The Dominant Color Images plugin was approved, and work continues on the next set of enhancements around uncoupling the plugin features from the Performance Lab plugin related to the settings screen UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing.

#core-performance, #performance

Core Performance Team Update: August 2023

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Scrub on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

In August, the Performance Team published a post regarding WordPress 6.3 performance improvements, highlighting WordPress 6.3 loads 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 compared to WordPress 6.2, based on the Largest Contentful Paint (LCP) metric. These results are a major achievement in terms of performance. 

The focus in August was on tickets prioritized for the upcoming WordPress 6.4 release which will include making use of the new script loading strategy APIs in Core, improving autoloaded options and continuation of work on improving server performance bottlenecks, in particular template loading. WordPress 6.4 will also expand capabilities of the automated performance testing workflows and dashboard, and efforts will continue to improve theme.json APIs.

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 Checker

The Performance Team has successfully completed engineering and discussions have commenced with the Plugin Review Team Reps over the coming weeks to find a path forward for collaborative development. For detailed context and information, please refer to the project’s readme and documentation.

Performant Translations Plugin

Version 1 of the Performant Translations plugin was published to WordPress this week which uses a new approach to handling translation files, based on the in-depth analysis the team conducted earlier this year.

Team headlines and updates

WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. saw several people visit the Performance Table, several items were worked on including

  • #58962 was completed, introducing new functions prime_options() , prime_options_by_group() and get_options(), to provide a way to load multiple options with a single database request
  • #58964 had a pull request implemented, introducing new functions to modify the autoload value for multiple options independently of their values
  • #58998 was fixed, to prevent races and stampedes when flush_rewrite_rules() is called on a busy site
  • #52579 was fixed by adding a new filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to avoid a potentially expensive DB query
  • #59181 made a performance optimization of register_block_script_handle()
  • #55491 progress was made for removing unload event handlers from wp-admin
  • #58027 and #59225 had a solution identified via 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/, to fix query 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. bugs by correctly relying on the main query and removing problematic workaround, which is partly related to performance as the underlying bugs affected the image loading optimization logic.

Performance Lab Plugin

Performance Lab plugin updates are released monthly on the third Monday of the month.

August’s release 2.6.0 includes infrastructure improvements and enhancements around Server-Timing, which allow controlling which action and filter 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. to measure through a dedicated UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing.. The release also saw some minor compatibility tweaks implemented for the Dominant Color Images module. The team is currently waiting for the next standalone plugin, Dominant Color Images, to be approved by the plugin review team. Work continues on the next set of enhancements around uncoupling the plugin features from the Performance Lab plugin related to the settings screen UI. 

The Performance Lab plugin has also reached 100k active installations this month!

#core-performance, #performance

Core Performance Team Update: July 2023

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Scrub on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

The large focus of the Performance Team for June was on closing out TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets for the WordPress 6.3 release and performance benchmarking against 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., RC1, and RC2. Based on these benchmarks, the WordPress performance team has successfully committed a series of issues that have contributed to 28% improvement 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 19% improvement for classic themes, compared to WordPress 6.2 [see spreadsheet]. This is a major achievement in terms of performance . A blog post will be published following the release of WordPress 6.3 to highlight the specific performance improvements.

A few notable inclusions here are client-side performance improvements from adding support for the fetchpriority=”high” attribute and improving the way WordPress applies native lazy-loading to images (please refer to the 6.3 dev note on image performance improvements). Additionally, the introduction of script loading strategies which allow loading scripts with defer or async. This is a major milestone for performance in general (Please read the 6.3 dev note on registering scripts with async and defer to learn more on how you can leverage the 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. as a developer). Database performance improvements were made to lazy-loading metadata, outlined in the 6.3 dev note post on metadata API improvements

The Performance Team are now looking ahead to the 6.4 release, where a good portion of the focus will be on follow-up enhancements based on the 6.3 launches. The team is also commencing work on some larger pieces from our 2023 performance roadmap including i18n performance analysis (feedback kindly requested on this post), optimizing autoloaded options, automating performance benchmarking and improving template loading.

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 Checker

The Performance Team has successfully completed the QA testing phase and everything is working as expected. The technical documentation for the Plugin Checker tool is now complete and merged. With the documentation in place, it’s now possible to gain a deeper understanding of the tool’s functionality and how it works. For detailed context and information, please refer to the following link: https://github.com/10up/plugin-check/tree/trunk/docs

Team headlines and updates

This month saw the second Performance Hallway Hangout on Thursday July 27 where an overview of the 6.3 performance improvements were discussed, along with a deep dive into the data. The idea of a mid-point merge for PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. backports and a more formal workflow for both Core and 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/ teams was also discussed. The notes from the Hallway Hangout can be found here https://make.wordpress.org/core/2023/06/29/hallway-hangout-performance-improvements-for-wordpress-6-3/ along with the recording. 

The team is looking forward to WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US which happens in August. For those interested in joining the Performance table at Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., please reach out to @flixos90 or @clarkeemily to discuss. 

Performance Lab Plugin

Performance Lab plugin updates are released monthly on the third Monday of the month.

June’s release 2.5.0 includes further enhancements to creating stand-alone plugins and infrastructure, as well as some small bug fixes. The team is also waiting for the next standalone plugin, Dominant Color Images, to be approved by the plugin review team. Additionally, work has commenced on the next set of enhancements around uncoupling the plugin features from the Performance Lab plugin.

The Performance Lab plugin has also reached 90k active installations this month!

#core-performance, #performance

Core Performance Team Update: June 2023

Tickets and contributions

The Performance Team works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Bash on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

For the upcoming WordPress 6.3 release, the WordPress performance team has been focusing on closing several issues for the 6.3 release.

The Performance Team is happy to be able to report that the PR for #12009 was committed to WordPress core, closing a 13 year old ticket. This is a big milestone for the team, thank you to everyone who contributed to get this across the line. There is still a desire to extend support to inline scripts, so a new ticket has been opened (#58632) for that discussion, and several use-cases for the new 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. across WordPress core and 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/ are being discussed.

Additionally, the team is excited to share that we landed fetchpriority=”high” support #58235 in WordPress core. The commit [56037] includes notable refactoring to make the logic that was previously scoped to only lazy-loading more broadly available, as it is also required for fetchpriority. With that refactoring it also unblocks a fix to another issue that still needs to be addressed with lazy-loading: #58635

Both of these performance enhancements will launch as part of the upcoming WordPress 6.3 release.

For raw performance enhancements, 3 major highlights are:

  • Emoji loader script causes ~100ms long task #58472 (~20% LCP improvement, committed in [56074])
  • Performance issue in register_block_style_handle function #58528 (~30% server response time improvement 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, committed in [56044])
  • Improve performance of get_block_templates function #57756 (~15% server response time improvement for block themes, committed in [55687])

The Plugin Checker engineering has been completed for milestone 2 which now also includes additional checks. Progress can be seen in this GitHub repo, which eventually should be transferred to the WordPress organization. 

Team headlines and updates

WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Europe contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. was a great success – thank you to those who joined! There were 2 performance tables this year; the first focused on the script loading strategy API testing the PR by modifying some plugins and core code to use it, and the second focused on profiling and benchmarking. 

Several new articles were added to the Performance Handbook this month:

Performance Lab 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

Performance Lab plugin updates are released monthly on the third Monday of the month.

May’s release 2.4.0 includes further enhancements to creating stand-alone plugins and infrastructure, as well as some small bug fixes. 

The Performance Lab plugin has also reached 80k active installations this month!

#core-performance, #performance

Core Performance Team Update: May 2023

Performance Lab

Performance Lab plugin updates are released monthly on the third Monday of the month.

April’s release 2.3.0 includes further enhancements to creating stand-alone plugins as well as some small bug fixes. 

The second 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, Fetchpriority has been approved by the WordPress plugin team, awaiting approval of Dominant Color Images. 

The Performance Lab plugin has also reached 70k active installations this month!

Proposals and Discussion

Performance Team chats are held weekly on Tuesdays; check https://make.wordpress.org/meetings/ for current time.

A PR has been created for the work against enhancing the Scripts API with a loading strategy. The focus in May has been on addressing initial feedback which has mainly been completed. There are some final decisions to make around handling deferred and async dependencies, and inline scripts attached to defer/async scripts. 

The Plugin Checker engineering of the infrastructure, admin screens and 2 initial checks has been completed. May’s focus has been around final iterations following the architectural code review, QA testing. Progress can be seen in this GitHub repo, which eventually should be transferred to the WordPress organization. 

A blog post was published outlining the WordPress 6.2 server performance analysis summary to identify the biggest opportunities to target for future performance enhancements, from which a notable inclusion has already landed for 6.3 #58394 resulting in ~7% faster 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 2% faster classic themes (full results). 

Last week saw the ‘More accurate lazy-loading’ work committed. Related to this, great progress has been made on adding fetchpriority support against #58235 in this pull request.

Additional work across the team has seen Several new TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets have been created for improving the automated performance testing workflow that was introduced in the WP 6.2 release cycle (#58358, #58359 and #58360).

Tickets

In addition to Performance Lab, the Performance Team also works on performance-related tickets in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and holds a fortnightly Bug Bash on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

In the last two weeks, several fixes for more accurate lazy-loading were committed to WordPress core. Here are all the commits and tickets:

The WordPress core pull request mentioned last month, to enhance get_block_templates() performance was committed, and improves overall server response time for sites using a block theme by a significant ~15%.

Some initial improvements to translations have already been applied ahead of a broader performance initiative for translated sites (#58321 and #58317).

Additional improvements have been committed around lazy loading 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. data #58185, #5780, #57701, and #58230.

Work continues on #58394 for the performance of wp_maybe_inline_styles ahead of the 6,3 release. The work here demonstrates a significant performance improvement for block themes (~7% faster) and for classic themes (~2% faster).

The team is heavily working on further performance tickets prioritized for the upcoming 6.3 release.

#core-performance, #performance

Core Performance Team Update: April 27, 2023

Performance Lab

Performance Lab plugin updates are released monthly on the third Monday of the month.

April’s release 2.2.0 includes a few enhancements relating to the creation of standalone plugins. The Fetchpriority module furthermore had its “experimental” flag removed, now that the underlying HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. attribute is standardized.

Engineering continues to progress on creating standalone plugins and unbundling the Performance Lab 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 overview issue). The first step in publishing modules as standalone plugins saw the WebP Uploads plugin published in April. The Fetchpriority plugin is currently awaiting approval from the WordPress plugin team, and Dominant Color Images will follow. An engineering approach to removing these modules from the PL plugin is being discussed. 

Proposals and Discussion

Performance Team chats are held weekly on Tuesdays; check https://make.wordpress.org/meetings/ for current time.

Engineering has continued for enhancing the Scripts API with a loading strategy (work can be seen here), the focus in April has been on testing and iteration. A pull request against WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. will be opened soon.

The Plugin Checker engineering of the infrastructure, admin screens and 2 initial checks has been completed. April’s focus has been around architectural code review, QA testing and iteration. Progress can be seen in this GitHub repo, which eventually should be transferred to the WordPress organization. 

The team continues researching remaining problems with lazy-loading. They have also been finalizing an initial performance profiling analysis of WordPress, which they plan to share with the community, and from which they are planning to identify future actionable items. Other exploration has been taking place on improving option autoloading and also on enhancing the initial automated performance workflow.

Tickets

In addition to Performance Lab, the Performance Team also works on performance-related tickets in core and holds a fortnightly Bug Bash on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

The cadence of the performance bug scrubs has been changed to every 2 weeks, from Wednesday April 26 onwards to ensure issues targeting the next WordPress release are reviewed more frequently.

A blog post for the benefits of prioritizing and measuring performance in 6.2 was released this week as a performance retrospective on the 6.2 release cycle, outlining WordPress 6.2 loads 14-18% faster overall 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 2-5% faster overall for classic themes based on lab benchmarks. Work continues on various TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets to further enhance performance for the upcoming 6.3 release.

The WordPress core pull request to enhance get_block_templates() performance is close to being committed, and is expected to improve overall server response time for sites using a block theme by a significant ~15%.

Implementing lazy loading term 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. in WP_Term_Query has been merged for 6.3 (#57645). Other issues that have been completed for 6.3 include Using `wp_theme_has_theme_json` in `_wp_theme_json_webfonts_handler` (#57814) and Remove `wp-nux` CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. as dependency from `wp-edit-post` and `wp-editor` (#57827). The team have also worked on performance of _wp_normalize_relative_css_links() can be increased >2x (#58069). Most recently, a notable performance improvement to the `get_block_templates()` function was committed, which improves server response time for sites using block templates by ~15% (#57756).

The team is heavily working on further performance tickets prioritized for the upcoming 6.3 release.

#core-performance, #performance