gokarna-theme / gokarna-hugo

A minimal opinionated theme for Hugo
https://gokarna-hugo.netlify.app
GNU General Public License v3.0
378 stars 146 forks source link

epic: addressing Google Lighthouse audits #250

Open jamesericdavidson opened 1 month ago

jamesericdavidson commented 1 month ago

To-do

Problem Statement

The README mentions the Google Lighthouse score for exampleSite. Without context, the user could believe that Gokarna's performance is "baked in", and requires no action on their part.

Moreover, Lighthouse continues to identify minor issues with Gokarna, which can be either avoided in source code, or by virtue of how the site is deployed.

Please read and discuss below if this is of interest. :point_down:

User sites

Unless we direct users to evaluate their site with Lighthouse (and highlight the benefits of doing so), some site configurations will be less than ideal.

e.g. Users who do not resize images, or use "modern" formats (such as WebP), are penalised.

Suggestion: Some site-level changes are easy to make statically (i.e. without the use of CDNs, load balancers, and other at-scale deployment mechanisms), and should be performed in code, or recommended in the Gokarna docs.

526avijitgupta commented 1 month ago

Hi @jamesericdavidson , going through the lighthouse score page I see we do still have a 100% score in performance. Although we have 92 as our lowest score in the SEO category, which arguably is the more important one:

image

I feel like we should separate out the SEO part (and perhaps work on it first?). Therefore, I've created a new issue specifically for that topic. Would make it easier to track

jamesericdavidson commented 1 month ago

@526avijitgupta I think the word 'performance' was a poor choice on my part - I wanted this issue to begin addressing the red and yellow checks in all four sections, essentially making this an overarching discussion or Epic. Breaking this out is a good idea

526avijitgupta commented 1 month ago

Can we identify which of these are addressable:

In source code? Via site deployment?

Regarding this. I'll go through the open points one by one and categorize them. Hopefully this weekend But if you get the time and want to work on it then feel free to do so :)

jamesericdavidson commented 1 month ago

IMO we should do as much as possible in Hugo (e.g. minification, even when that option is provided by web hosts/CDNs) before covering external options (such as compression).

e.g. The docs should prioritise Hugo and theme-specific functionality

526avijitgupta commented 4 weeks ago

@jamesericdavidson I just re-ran the lighthouse audit and SEO is now at 100! 🎉

image

But Accessibility is at 90 :/

image
jamesericdavidson commented 4 weeks ago

Notes

ARIA documentation

526avijitgupta commented 4 weeks ago

@jamesericdavidson New analysis looks great for desktop and looks good for mobile too. We can keep this epic open to potentially improve upon Mobile performance (current score: 97), although it's not too bad right now

jamesericdavidson commented 4 weeks ago

@526avijitgupta I hope we can claw back some nebulous mobile performance by addressing audits in code.

Other than that, the strict px CSS rules for the avatar are outstanding, and perhaps others like the syntax highlighting (which are user-configurable, so the best we could do is identify/create themes which pass the audit).

jamesericdavidson commented 4 weeks ago

As above, I believe triaging and highlighting pitfalls in user sites should come after baking in everything we can (syntax highlighting being an odd mix of both)

jamesericdavidson commented 4 weeks ago

@526avijitgupta I've condensed the tasks discussed into the OP - please edit more in as appropriate, or leave a comment telling me about them.

Creating a PR now to pass more audits on more exampleSite pages

526avijitgupta commented 3 weeks ago

Thanks @jamesericdavidson Mostly looks good to me. A few comments:

  1. I would personally say we can skip addressing the color ratio for syntax highlighting. @yashmehrotra what do you think?

    Background:foreground colour ratio is insufficient: Syntax highlighting .post-date (dark mode)

  2. Let's add a bullet point to the To-Do to update the screenshot of Desktop Lighthouse score in the README. It has become outdated with the new improvements :)

jamesericdavidson commented 3 weeks ago

@526avijitgupta Lighthouse screenshot PR up #278