A note to the webmeister

I was just perusing the html source of forum.manjaro.org and noticed many javascript files loading (mostly deferred) – this can create a lot of (arguably) unnecessary requests to the server, and can potentially slow caching and loading of a page.

Have you considered consolidating most of those (the non-theme-related) files into a single library file? For example:

<link rel="preload" href="/assets/plugins/plugins.common-xxxxxxxx.js" as="script">
<script defer src="/assets/plugins/plugins.common-xxxxxxxx.js"></script>

This could reap obvious benefits in terms of average page loading times.

Specifically, these declarative <link> and <script> pairs (for discourse plugins), but possibly beneficial for other common scripts as well. Less is more. Unless there is a specific reason to keep them separate, for example, is the case of the theme scripts that rely on their IDs being referenced.

/assets/plugins/discourse-chat-integration-
/assets/plugins/discourse-details-
/assets/plugins/discourse-fingerprint-
/assets/plugins/discourse-gamification-
/assets/plugins/discourse-lazy-videos-
/assets/plugins/discourse-legal-tools-
/assets/plugins/discourse-local-dates-
/assets/plugins/discourse-narrative-bot-
/assets/plugins/discourse-presence-
/assets/plugins/discourse-solved-
/assets/plugins/discourse-staff-notes-
/assets/plugins/discourse-telegram-notifications-
/assets/plugins/docker_manager_admin-
/assets/plugins/poll-
/assets/plugins/procourse-installer-
/assets/plugins/retort-

All of those files consolidated into just one <link> and one <script> file might even be more manageable than having them separate.

This is not any kind of criticism – just suggested out of interest. Cheers.

2 Likes