[wp-trac] [WordPress Trac] #54884: Load scripts conditionally to reduce page loading and processing time
WordPress Trac
noreply at wordpress.org
Sun Jan 23 09:56:03 UTC 2022
#54884: Load scripts conditionally to reduce page loading and processing time
-------------------------------------+-----------------------------
Reporter: galbaras | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version:
Severity: normal | Keywords:
Focuses: javascript, performance |
-------------------------------------+-----------------------------
There are some core scripts, like `wp-polyfill` (+ `regenerator-runtime`?)
and `jquery-migrate`, that are only needed on browsers lacking certain
capabilities, yet these scripts are loaded on every page by default,
whether the browser needs them or not.
Since mobile browsers typically have the required capabilities, it's
particularly important to avoid loading unnecessary scripts on them. This
will improve user experience and PageSpeed scores, without any downside.
Fortunately, browser capabilities can be detected with minimal JavaScript
code, and only the necessary scripts added dynamically to the page using
`appendChild()` (or maybe by manipulating script tag attributes?).
There are also cases, such as `wp-embed`, that are only needed when there
is an object embedded on the page, which can be detected in PHP.
In both cases, there may be cases where the above scripts have
dependencies that must be loaded, so both the respective front-end and
back-end code must take dependencies into account.
Also, browser checks should be done early and requires scripts inserted so
as to provide their functions to subsequent code that relies on it (not
trivial, I know, but I trust the skills of the WordPress team/community).
--
Ticket URL: <https://core.trac.wordpress.org/ticket/54884>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list