This is the roadmap for the WordPress Core Performance Team, intended to cover priorities for the team throughout 2023.
The roadmap covers feature projects and performance enhancements targeting WordPress core Core is the set of software required to run WordPress. The Core Development Team builds WordPress. as well as separate tooling projects that facilitate performance measurement or ecosystem improvements.
The roadmap is intentionally broad. Despite there being clear workstreams envisioned within the highlighted priorities, the team aims to support contributors with additional related ideas.
The roadmap is intentionally incomplete or, in other words, a living document. While it is outlined to cover the entire year, there can always be additional projects that arise over such an extended period of time. As priorities are added or shifted throughout the year, these changes should be reflected in this roadmap too.
Priorities in this roadmap were originally gathered in this GitHub issue and are being discussed in the weekly #core-performance chats.
The WordPress Core Performance Team is focused primarily on improving the following areas:
- WordPress load time performance: Measured via the “Largest Contentful Paint” metric (LCP), this is the key performance metric where WordPress sites struggle the most as of today, as highlighted in the CWV Technology Report. Enhancing load time performance encompasses both client-side performance and server-side performance, the latter of which can more specifically be measured via the “Time to First Byte” metric (TTFB).
- Performance measurement: The WordPress core developers and ecosystem have limited ways to assess performance of individual changes or even of the software as a whole. Exploring and establishing methodologies to measure, benchmark, and profile performance reliably will enable the community to inform their priorities and strategy based on data-driven decisions.
- Ecosystem activation: It is clear that the performance of WordPress sites in the field is notably influenced by the plugins and themes they are using. Therefore, providing better documentation and implementing tooling for plugin 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 and theme developers to follow performance best practices is vital to support the performance efforts focused on WordPress core.
The priorities on this roadmap are grouped in a few broader categories, each dedicated to optimizing a certain aspect of WordPress performance.
- Identifying and addressing the largest server response time bottlenecks in WordPress core
- A greater WordPress core PHP 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. profiling effort to prioritize individual enhancements and fixes based on anticipated performance impact
- Reduce the amount of time spent loading and rendering templates
- Enhancing PHP performance of block 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
- An ongoing multi-release effort spanning several smaller enhancements and fixes
- This encompasses several workstreams, here is one related Gutenberg issue
- Supporting Gutenberg 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/ Phase 3 with performance focused guidance, enhancements, and review
- Performance work needed here is pending further scoping and beginning of the implementation
- Autoloading WordPress PHP classes
- Exploring ways to improve performance of translations
- SQLite database integration
- Optimizing the autoloaded options database query in WordPress core
- Exploring ways to further enhance database query performance
- Enhancing the Scripts API 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. with a loading strategy
- Eliminating jQuery usage from the frontend in WordPress default themes
- Adding fetchpriority=”high” to the LCP image in WordPress core
- Avoiding to lazy-load LCP / hero images in WordPress core
- Improving the calculation of image sizes attributes
- Originally introduced in WordPress 4.4, at the time WordPress had almost no way of knowing the intended layout of an image and therefore only came with a reasonable default value, intended to be modified by theme developers
- With additional layout information present especially in block themes, automatically enhancing accuracy of the attribute is now a realistic opportunity
- Adding an automated performance testing CI workflow
- Implementing and documenting tools for benchmarking and profiling performance
- Creating a plugin checker tool
Contributing to this roadmap can take various forms, whether it is proactively focusing on a new priority, adding a new section, or reviewing the overall roadmap and providing feedback.
The following people have contributed to this roadmap (in alphabetical order): @10upsimon @adamsilverstein @annezazu @aristath @clarkeemily @desrosj @flixos90 @joegrainger @joemcgill @mukesh27 @oandregal @olliejones @rjasdfiii @spacedmonkey @thekt12 @tweetythierry