Skip to content

Plugin Proposal: Performance Dashboard #1324

@swissspidy

Description

@swissspidy

Overview

  • Proposed plugin name: Performance Dashboard (or maybe Performance Overview or Performance Summary)
  • Proposed plugin slug: performance-dashboard
  • Proposed plugin owner GitHub username(s): @swissspidy

About the plugin

Purpose

Leverage Optimization Detective to collect Core Web Vitals field data inside WordPress. Enables site owners to see what real users are experiencing on their site, without CrUX.

Optimization Detective is uniquely positioned to also collect web vitals RUM data. This data can then be presented in the WordPress dashboard for site owners to keep an eye on their site's performance.

For context, this is based on a proof of concept I did in #1098, which already has a bit of a discussion there.

Note: I don't know how useful the idea is, but I wanted to create an actual issue for the POC so that it doesn't get lost.

Related:

I found an existing Core Web Vitals Monitor WordPress plugin which also does this but is somehow not maintained nor popular. We might be able to learn something from it.

See also:

Scope

Screenshots from the POC:

Dedicated dashboard page:

Screenshot 2024-03-28 at 17 28 25

Admin dashboard widget:

Screenshot 2024-04-10 at 10 16 17

Potential

In the future we could:

  • Provide an easy-to-use (AI?) summary for users to better understand their site's performance.
  • Get actual performance improvement suggestions based on the data, perhaps AI powered.
  • Provide call-to-actions, e.g. to fix the offending LCP image in the block editor
  • Identify plugins causing LCP/CLS/etc. issues and provide call-to-actions
  • Combine with site activity (e.g. see that LCP dropped right after plugin X was activated)
  • Combine with other (external) data sources
  • Expose (aggregated) CWV data publicly for analysis purposes
    • Opt-in or opt-out
    • Alternatively send to some telemetry server
  • Use Long Animation Frames API to identify offenders
  • Collect Server-Timing measurements per page
  • Add insights to admin bar
  • Add insights to block editor

Rationale

  • Makes it easier for users to keep tabs on performance and understand the impact their actions have on a site.
  • Works for smaller sites and without waiting for CrUX data to become available
  • Get data from other browsers as well
  • No external data source required, as it's all integrated into WordPress

Other

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done 😃

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions