WordPress / performance

Performance plugin from the WordPress Performance Group, which is a collection of standalone performance modules.
https://wordpress.org/plugins/performance-lab/
GNU General Public License v2.0
343 stars 94 forks source link

Optimization Detective: Server-applied optimizations informed by client-side detection #869

Closed westonruter closed 4 days ago

westonruter commented 9 months ago

Feature Description

See exploration document: Image Loading Optimization via Client-side Detection

Work on this is contained in the feature/image-loading-optimization branch. See issues/PRs with the [Plugin] Optimization Detective label.

For more context, see https://github.com/WordPress/performance/issues/117

What follows are the main issues to achieve the MVP. *For ongoing business-as-usual issues to pull from, see the [labelled issues](https://github.com/WordPress/performance/labels/%5BPlugin%5D%20Optimization%20Detective).**

MVP Issues

felixarntz commented 9 months ago

@westonruter Can you update the PRs to go against a feature/* branch, to decouple this from the regular release process? That way we can individually review and decide when this is good to be included in a PL release.

westonruter commented 9 months ago

Can you update the PRs to go against a feature/* branch, to decouple this from the regular release process? That way we can individually review and decide when this is good to be included in a PL release.

@felixarntz I've done so with the initial PR (#875). The second PR is branched off the initial PR's branch, so once it is merged it should automatically target the feature branch. (And the third PR is branched off of the second PR's branch.)

westonruter commented 9 months ago

For an easy way to reproduce a scenario where this is needed, try the Enable Responsive Image plugin to set alternate images to display for a given image on different viewport widths.

westonruter commented 6 months ago

I'm seeking to improve on the name "Image Loading Optimization" for the standalone plugin currently under development. As I've shared before, the initial scope for this plugin is to precisely set the fetchpriority=high attribute on the actual LCP image as measured by client visits, including across the various breakpoints. This will also apply to accurately setting/omitting lazy-loading. But I don't want to limit the plugin to just images, as using the client to gather metrics to apply server-side optimizations could also extend to reserving space to reduce CLS, or prioritizing the loading of a font for some LCP header text, or adding content-visibility to element containers to reduce time spent on initial layout. So to keep the door open to extend to other opportunities, I'd like a name less specific to images. I've pulled together some ideas which I came up with on my own as well as those suggested by ~Bard~ Gemini. Could you lend your thoughts in this survey to what resonates with you? https://forms.gle/XGTsUg3ovxnLQ58x9


Update: The chosen name is Optimization Detective, although this plugin is slated to become a dependency plugin for an Image Loading Optimization (or similar name) which will be responsible for extending the dependent plugin with the image optimization features. For more, see the long conversation at https://github.com/WordPress/performance/issues/1046.

westonruter commented 4 days ago

I just created two new issues for these unchecked items:

With that, I'm closing this as completed!